- 122
- 1
- 5
Отправляю пакет кнопкой:
Регистрирую в главном классе в preInit:
Сам пакет:
И при отправки (нажатии на кнопки) выкидывает и пишет: 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
То ли не видит регистрацию, то ли в пакет не заходит, не могу понять. Помогите пожалуйста
Java:
MainMod.network.sendToServer(new OpenGui());
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;
}
}
}
Крашлог:
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