Posted October 31, 20159 yr I am trying to render energy in cables in my mod. The TileEntity sends a packet to the Client that says where to render the energy. But between toBytes(ByteBuf and fromBytes(ByteBuf, it causes several Exceptions and a crash. There seems to be a problem with the discriminator, it seems to be -1 when the ID of the message is 0. Here is the message registered: public static SimpleNetworkWrapper network; @EventHandler public void preInit(FMLPreInitializationEvent event){ HyperItems.load(); HyperBlocks.load(); network = NetworkRegistry.INSTANCE.newSimpleChannel("knokko Hyper Combat"); network.registerMessage(CableMessage.Handler.class, CableMessage.class, 0, Side.CLIENT); } Here is the packet class: public class CableMessage implements IMessage { public static final byte[] BYTES = new byte[]{64,32,16,8,4,2,1}; private int x; private int y; private int z; private boolean[] energy; public CableMessage() {} public CableMessage(int x, int y, int z, boolean[] energy){ this.x = x; this.y = y; this.z = z; this.energy = energy; } @Override public void fromBytes(ByteBuf buf) { System.out.println("decode from bytes..."); x = buf.getInt(0); y = buf.getInt(4); z = buf.getInt(; energy = toBinair(buf.getByte(12)); System.out.println("decoded from bytes"); } @Override public void toBytes(ByteBuf buf) { System.out.println("convert to bytes..."); buf.setInt(0, x); buf.setInt(4, y); buf.setInt(8, z); buf.setByte(12, fromBinair(new boolean[]{energy[0], energy[1], energy[2], energy[3], energy[4], energy[5], false, false})); System.out.println("converted to bytes"); } public static class Handler implements IMessageHandler<CableMessage, IMessage> { //Gets the TileEntity at the given position and marks the places to render the energy @Override public IMessage onMessage(final CableMessage message, MessageContext ctx) { IThreadListener listener = Minecraft.getMinecraft(); listener.addScheduledTask(new Runnable(){ @Override public void run(){ World world = Minecraft.getMinecraft().theWorld; TileEntity entity = world.getTileEntity(new BlockPos(message.x, message.y, message.z)); if(world.isRemote && entity instanceof TileEntityCable) ((TileEntityCable)entity).isEnergy = new boolean[]{message.energy[0], message.energy[1], message.energy[2], message.energy[3], message.energy[4], message.energy[5]}; System.out.println("packet arrived: energy = " + message.energy + " and entity = " + entity); }}); return null; } } //gets 8 booleans from 1 byte public static boolean[] toBinair(byte b){ boolean[] bools = new boolean[8]; if(b >= 0) bools[7] = true; else { b++; b *= -1; } byte t = 0; while(t < 7){ if(b >= BYTES[t]){ b -= BYTES[t]; bools[t] = true; } ++t; } return bools; } //stores 8 booleans into 1 byte public static byte fromBinair(boolean[] bools){ byte b = 0; int t = 0; while(t < 7){ if(bools[t]) b += BYTES[t]; ++t; } if(!bools[7]){ b *= -1; b--; } return b; } } Here is the method where the packet is sent: @Override public int drainEnergy(EnumFacing facing, int requestedAmount) { //isEnergy = new boolean[6]; System.out.println("drainEnergy..."); int energy = 0; //isDraining is here to prevent infinite loops if(!isDraining){ if(capacity == 0){ Block block = worldObj.getBlockState(pos).getBlock(); if(block instanceof BlockCable) capacity = ((BlockCable) block).getCapacity(); } if(requestedAmount > capacity) requestedAmount = capacity; isDraining = true; int t = 0; while(t < EnumFacing.values().length){ if(energy >= requestedAmount){ isDraining = false; //sending the packet... System.out.println("starting to send message..."); HyperCombat.network.sendToAllAround(new CableMessage(pos.getX(), pos.getY(), pos.getZ(), isEnergy), new TargetPoint(worldObj.provider.getDimensionId(), pos.getX(), pos.getY(), pos.getZ(), 32)); System.out.println("message send... hopefully"); return energy; } if(facing != EnumFacing.values()[t].getOpposite()){ int extra = drain(EnumFacing.values()[t], requestedAmount - energy); energy += extra; if(extra > 0) isEnergy[t] = true; } ++t; } } isDraining = false; if(energy > 0) isEnergy[facing.ordinal()] = true; System.out.println("starting to send message..."); HyperCombat.network.sendToAllAround(new CableMessage(pos.getX(), pos.getY(), pos.getZ(), isEnergy), new TargetPoint(worldObj.provider.getDimensionId(), pos.getX(), pos.getY(), pos.getZ(), 32)); System.out.println("message send... hopefully"); return energy; } Here is the important part of the console log: [11:51:02] [server thread/INFO] [FML]: Injecting existing block and item data into this server instance [11:51:02] [server thread/INFO] [FML]: Applying holder lookups [11:51:02] [server thread/INFO] [FML]: Holder lookups applied [11:51:02] [server thread/INFO] [FML]: Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@5af49ae5) [11:51:02] [server thread/INFO] [FML]: Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@5af49ae5) [11:51:02] [server thread/INFO] [FML]: Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@5af49ae5) [11:51:02] [server thread/INFO]: Preparing start region for level 0 [11:51:03] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:03] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:03] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO]: Changing view distance to 12, from 10 [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [Netty Local Client IO #0/INFO] [FML]: Server protocol version 1 [11:51:04] [Netty Server IO #1/INFO] [FML]: Client protocol version 1 [11:51:04] [Netty Server IO #1/INFO] [FML]: Client attempting to join with 4 mods : [email protected],[email protected],[email protected],[email protected] [11:51:04] [Netty Local Client IO #0/INFO] [FML]: [Netty Local Client IO #0] Client side modded connection established [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO] [FML]: [server thread] Server side modded connection established [11:51:04] [server thread/INFO]: Player968[local:E:d09b071f] logged in with entity id 176 at (-16.099691218639478, 4.0, -860.3548167033636) [11:51:04] [server thread/INFO]: Player968 joined the game [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:04] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:05] [Netty Local Client IO #0/ERROR] [FML]: FMLIndexedMessageCodec exception caught io.netty.handler.codec.DecoderException: java.lang.NullPointerException: Undefined message for discriminator -1 in channel knokko Hyper Combat at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:4.0.15.Final] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:4.0.15.Final] at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:79) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:136) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:414) [NetworkManager.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [simpleChannelInboundHandler.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleClientSideCustomPacket(NetworkDispatcher.java:360) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:227) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:49) [NetworkDispatcher.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [simpleChannelInboundHandler.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final] at io.netty.channel.local.LocalChannel.finishPeerRead(LocalChannel.java:312) [LocalChannel.class:4.0.15.Final] at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:44) [LocalChannel.class:4.0.15.Final] at io.netty.channel.local.LocalChannel$6.run(LocalChannel.java:298) [LocalChannel$6.class:4.0.15.Final] at io.netty.channel.local.LocalEventLoop.run(LocalEventLoop.java:33) [LocalEventLoop.class:4.0.15.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [singleThreadEventExecutor$2.class:4.0.15.Final] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_05] Caused by: java.lang.NullPointerException: Undefined message for discriminator -1 in channel knokko Hyper Combat at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77) ~[FMLIndexedMessageToMessageCodec.class:?] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:21) ~[FMLIndexedMessageToMessageCodec.class:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.0.15.Final] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:4.0.15.Final] ... 24 more [11:51:05] [Netty Local Client IO #0/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.NullPointerException: Undefined message for discriminator -1 in channel knokko Hyper Combat at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:4.0.15.Final] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:4.0.15.Final] at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:79) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:136) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:414) [NetworkManager.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [simpleChannelInboundHandler.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleClientSideCustomPacket(NetworkDispatcher.java:360) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:227) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:49) [NetworkDispatcher.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [simpleChannelInboundHandler.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final] at io.netty.channel.local.LocalChannel.finishPeerRead(LocalChannel.java:312) [LocalChannel.class:4.0.15.Final] at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:44) [LocalChannel.class:4.0.15.Final] at io.netty.channel.local.LocalChannel$6.run(LocalChannel.java:298) [LocalChannel$6.class:4.0.15.Final] at io.netty.channel.local.LocalEventLoop.run(LocalEventLoop.java:33) [LocalEventLoop.class:4.0.15.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [singleThreadEventExecutor$2.class:4.0.15.Final] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_05] Caused by: java.lang.NullPointerException: Undefined message for discriminator -1 in channel knokko Hyper Combat at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77) ~[FMLIndexedMessageToMessageCodec.class:?] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:21) ~[FMLIndexedMessageToMessageCodec.class:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.0.15.Final] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:4.0.15.Final] ... 24 more [11:51:05] [Netty Local Client IO #0/ERROR] [FML]: There was a critical exception handling a packet on channel knokko Hyper Combat io.netty.handler.codec.DecoderException: java.lang.NullPointerException: Undefined message for discriminator -1 in channel knokko Hyper Combat at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:4.0.15.Final] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) ~[DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) ~[DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:4.0.15.Final] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:4.0.15.Final] at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:79) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:136) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:414) [NetworkManager.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [simpleChannelInboundHandler.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleClientSideCustomPacket(NetworkDispatcher.java:360) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:227) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:49) [NetworkDispatcher.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [simpleChannelInboundHandler.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final] at io.netty.channel.local.LocalChannel.finishPeerRead(LocalChannel.java:312) [LocalChannel.class:4.0.15.Final] at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:44) [LocalChannel.class:4.0.15.Final] at io.netty.channel.local.LocalChannel$6.run(LocalChannel.java:298) [LocalChannel$6.class:4.0.15.Final] at io.netty.channel.local.LocalEventLoop.run(LocalEventLoop.java:33) [LocalEventLoop.class:4.0.15.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [singleThreadEventExecutor$2.class:4.0.15.Final] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_05] Caused by: java.lang.NullPointerException: Undefined message for discriminator -1 in channel knokko Hyper Combat at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77) ~[FMLIndexedMessageToMessageCodec.class:?] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:21) ~[FMLIndexedMessageToMessageCodec.class:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.0.15.Final] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:4.0.15.Final] ... 24 more [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:33]: drainEnergy... [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:65]: starting to send message... [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:44]: convert to bytes... [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.packet.CableMessage:toBytes:49]: converted to bytes [11:51:05] [server thread/INFO] [sTDOUT]: [knokko.tileentity.TileEntityCable:drainEnergy:67]: message send... hopefully [11:51:05] [server thread/INFO]: Player968 lost connection: TextComponent{text='Disconnected', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}} [11:51:05] [server thread/INFO]: Player968 left the game [11:51:05] [server thread/INFO]: Stopping singleplayer server as player logged out Does anybody understand what goes wrong here? Why is the discriminator -1?
October 31, 20159 yr Author Wow, that worked, now the packets also arrive at the client side. Thank you for the help.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.