DecoderException при отправке пакета

Версия Minecraft
1.7.10
API
Forge
122
1
5
Отправляю пакет кнопкой:
Java:
MainMod.network.sendToServer(new OpenGui());
Регистрирую в главном классе в preInit:
Java:
 network = NetworkRegistry.INSTANCE.newSimpleChannel(MainMod.MODID);
 network.registerMessage(OpenGui.Handler.class, OpenGui.class, 0, Side.CLIENT);
 network.registerMessage(OpenGui.Handler.class, OpenGui.class, 0, Side.SERVER);
Сам пакет:
Java:
public class OpenGui implements IMessage {

    public OpenGui(){

    }

    public void fromBytes(ByteBuf buffer) {
    }

    public void toBytes(ByteBuf buffer) {
    }

    @SideOnly(Side.CLIENT)
    public static void act() {
        Minecraft mc = Minecraft.getMinecraft();
        ExtendedPlayer ep = ExtendedPlayer.get(mc.thePlayer);
        if (ep != null) {
            mc.displayGuiScreen(new Gui(mc.thePlayer.inventory, ep.inventory));
        }
    }

    public static void act(EntityPlayerMP player) {
        ExtendedPlayer ep = ExtendedPlayer.get(player);
        if (ep != null) {
            player.openContainer = new Container(player, ep.inventory);
            MainMod.network.sendTo(new OpenGui(), player);
        }
    }


    public static class Handler implements IMessageHandler<OpenGui, IMessage>{
        public IMessage onMessage(OpenGui message, MessageContext ctx) {
            if (ctx.side.isClient()) {
                OpenGui.act();
            } else {
                OpenGui.act(ctx.getServerHandler().playerEntity);
            }

            return null;
        }
    }
}
И при отправки (нажатии на кнопки) выкидывает и пишет: A fatal error has occured, this connection is terminated.

Крашлог:
io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?]
at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?]
at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer[imath]2.run(MinecraftServer.java:752) [MinecraftServer[/imath]2.class:?]
Caused by: java.lang.IndexOutOfBoundsException

То ли не видит регистрацию, то ли в пакет не заходит, не могу понять. Помогите пожалуйста
 
Краш-лог
io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException
Краш-лог:
io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException
Решение
network.registerMessage(OpenGui.Handler.class, OpenGui.class, 1, Side.CLIENT); network.registerMessage(OpenGui.Handler.class, OpenGui.class, 1, Side.SERVER);
Как уже говорилось ранее, у каждого пакета свой дискриминатор, а у тебя тут они одинаковые, логично ставить 0&1, но потом у тебя в PacketDispatcher пытается зарегистрироваться еще один пакет с дискриминатором 0, либо меняешь в этих строчках на 1&2, либо делаешь как нормальный человек.
1,074
72
372
Для нумерации пакетов, чтобы другая сторона понимала, что это за пакет (класс) пришёл.
Ошибка предполагаю в том что пакет пустой. Попробуй хотя бы один байт записать/прочитать.
 
1,074
72
372
Лучше используй стандартный метод открытия GuiContainer через GuiHandler. Тут надо будет только на сервер отправить пакет, если клиент вызывает его с помощью клавиши.
 
153
21
41
Вроде в пре ините ничего не регается с этого.
Пакеты хоть в конструкторе главного класса можно регистрировать.

Ошибка предполагаю в том что пакет пустой
Неправильное предположение, буфер может быть пустым.

есть совершенно два других, которые прекрасно работают, и зареган таким же способом
Какой у них дискриминатор?
 
1,074
72
372
Сверху