Jump to content

NovaViper

Forge Modder
  • Posts

    1061
  • Joined

  • Last visited

Everything posted by NovaViper

  1. This time it isn't crashing on me immediately, but everything starts spamming like crazy: 1. I put a name for the creature, the text starts changing randomly. 2. When changing modes, the mode symbol starts changing randomly like the name is 3. When calling the creature to me, it comes but starts glitching in all directions 4. When leveling a talent, the numbers start jumping and changing randomly 5. And finally, it logs me out of the game, saying "A fatal error has occurred, connection terminated" on the screen when this crash menu on the console: [14:41:03] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_25] at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_25] at common.zeroquest.entity.util.TalentUtil.setLevel(TalentUtil.java:76) ~[TalentUtil.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:50) ~[ZertumTalents$Handler.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:1) ~[ZertumTalents$Handler.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.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.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] [14:41:03] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_25] at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_25] at common.zeroquest.entity.util.TalentUtil.setLevel(TalentUtil.java:76) ~[TalentUtil.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:50) ~[ZertumTalents$Handler.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:1) ~[ZertumTalents$Handler.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.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.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] [14:41:03] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_25] at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_25] at common.zeroquest.entity.util.TalentUtil.setLevel(TalentUtil.java:76) ~[TalentUtil.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:50) ~[ZertumTalents$Handler.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:1) ~[ZertumTalents$Handler.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.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.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] [14:41:03] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_25] at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_25] at common.zeroquest.entity.util.TalentUtil.setLevel(TalentUtil.java:76) ~[TalentUtil.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:50) ~[ZertumTalents$Handler.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:1) ~[ZertumTalents$Handler.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.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.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] [14:41:03] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_25] at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_25] at common.zeroquest.entity.util.TalentUtil.setLevel(TalentUtil.java:76) ~[TalentUtil.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:50) ~[ZertumTalents$Handler.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:1) ~[ZertumTalents$Handler.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.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.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] [14:41:03] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_25] at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_25] at common.zeroquest.entity.util.TalentUtil.setLevel(TalentUtil.java:76) ~[TalentUtil.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:50) ~[ZertumTalents$Handler.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:1) ~[ZertumTalents$Handler.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.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.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] [14:41:03] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_25] at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_25] at common.zeroquest.entity.util.TalentUtil.setLevel(TalentUtil.java:76) ~[TalentUtil.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:50) ~[ZertumTalents$Handler.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:1) ~[ZertumTalents$Handler.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.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.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] [14:41:03] [Netty Server IO #1/ERROR] [FML]: There was a critical exception handling a packet on channel ZERO_QUEST java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_25] at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_25] at common.zeroquest.entity.util.TalentUtil.setLevel(TalentUtil.java:76) ~[TalentUtil.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:50) ~[ZertumTalents$Handler.class:?] at common.zeroquest.network.packet.ZertumTalents$Handler.onMessage(ZertumTalents.java:1) ~[ZertumTalents$Handler.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.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.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] [14:41:03] [server thread/INFO]: Player163 lost connection: TextComponent{text='A fatal error has occured, this connection is terminated', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}} Talents package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumTalents implements IMessage{ public int entityId; public String talentId; public static int MAX_STRING_LENGTH = Integer.MAX_VALUE / 4; public ZertumTalents(){} public ZertumTalents(int entityId, String talentId) { this.entityId = entityId; this.talentId = talentId; } @Override public void fromBytes(ByteBuf buf) { this.entityId = buf.readInt(); this.talentId = ByteBufUtils.readUTF8String(buf); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); ByteBufUtils.writeUTF8String(buf, talentId); } public static class Handler implements IMessageHandler<ZertumTalents, IMessage> { public Handler(){} @Override public IMessage onMessage(ZertumTalents message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; dog.talents.setLevel(message.talentId, dog.talents.getLevel(message.talentId) + 1); return message; } } } Obey package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumObey implements IMessage{ public int entityId; public boolean obey; public ZertumObey(){} public ZertumObey(int entityId, boolean obey) { this.entityId = entityId; this.obey = obey; } @Override public void fromBytes(ByteBuf buf) { this.entityId = buf.readInt(); this.obey = buf.readBoolean(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); buf.writeBoolean(this.obey); } public static class Handler implements IMessageHandler<ZertumObey, IMessage> { public Handler(){} @Override public IMessage onMessage(ZertumObey message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; dog.setWillObeyOthers(message.obey); return message; } } } Name package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumName implements IMessage{ public int entityId; public String name; public static int MAX_STRING_LENGTH = Integer.MAX_VALUE / 4; public ZertumName(){} public ZertumName(int entityId, String talentId) { this.entityId = entityId; this.name = talentId; } @Override public void fromBytes(ByteBuf buf) { this.entityId = buf.readInt(); this.name = ByteBufUtils.readUTF8String(buf); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); ByteBufUtils.writeUTF8String(buf, name); } public static class Handler implements IMessageHandler<ZertumName, IMessage> { public Handler(){} @Override public IMessage onMessage(ZertumName message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; dog.setDogName(message.name); return message; } } } Mode package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumMode implements IMessage{ public int entityId, doggyMode; public ZertumMode(){} public ZertumMode(int entityId, int doggyMode) { this.entityId = entityId; this.doggyMode = doggyMode; } @Override public void fromBytes(ByteBuf buf) { this.entityId = buf.readInt(); this.doggyMode = buf.readInt(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); buf.writeInt(this.doggyMode); } public static class Handler implements IMessageHandler<ZertumMode, IMessage> { public Handler(){} @Override public IMessage onMessage(ZertumMode message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; dog.mode.setMode(message.doggyMode); return message; } } } Jump package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumJump implements IMessage{ public int entityId; public ZertumJump(){} public ZertumJump(int entityId) { this.entityId = entityId; } @Override public void fromBytes(ByteBuf buf) { entityId = buf.readInt(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); } public static class Handler implements IMessageHandler<ZertumJump, IMessage> { public Handler(){} @Override public IMessage onMessage(ZertumJump message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; if(dog.onGround) { dog.motionY = 2F * dog.talents.getLevel("mount") * 0.1F; if(dog.isPotionActive(Potion.jump)) dog.motionY += (double)((float)(dog.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); dog.isAirBorne = true; } return message; } } } Command package common.zeroquest.network.packet; import java.util.List; import common.zeroquest.ModItems; import common.zeroquest.ZeroQuest; import common.zeroquest.core.helper.ChatHelper; import common.zeroquest.entity.EntityZertumEntity; import common.zeroquest.entity.util.ModeUtil.EnumMode; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.util.BlockPos; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class SealCommand implements IMessage{ public int commandId; public SealCommand(){} public SealCommand(int commandId) { this.commandId = commandId; } @Override public void fromBytes(ByteBuf buf) { commandId = buf.readInt(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.commandId); } public static class Handler implements IMessageHandler<SealCommand, IMessage> { public Handler(){} @Override public IMessage onMessage(SealCommand message, MessageContext ctx) { EntityPlayer player = ZeroQuest.proxy.getClientPlayer(); World world = player.worldObj; ItemStack stack = player.getCurrentEquippedItem(); if(stack == null) return null; if(stack.getItem() == ModItems.commandSeal) { if(message.commandId == 1) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if (o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player)) { dog.getSitAI().setSitting(false); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); if(dog.mode.isMode(EnumMode.WANDERING)) { dog.mode.setMode(EnumMode.DOCILE); } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.come")); } } else if(message.commandId == 2) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if (o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player)) { dog.getSitAI().setSitting(true); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); if(dog.mode.isMode(EnumMode.WANDERING)) { dog.mode.setMode(EnumMode.DOCILE); } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.stay")); } } else if(message.commandId == 3) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if (o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player)) { if(dog.getMaxHealth() / 2 >= dog.getHealth()) { dog.getSitAI().setSitting(true); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); } else { dog.getSitAI().setSitting(false); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.ok")); } } else if(message.commandId == 4) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if(o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player) && !dog.isSitting() && !dog.mode.isMode(EnumMode.WANDERING)) { int i = MathHelper.floor_double(player.posX) - 2; int j = MathHelper.floor_double(player.posZ) - 2; int k = MathHelper.floor_double(player.getEntityBoundingBox().minY); for (int l = 0; l <= 4; l++) { for (int i1 = 0; i1 <= 4; i1++) { if ((l < 1 || i1 < 1 || l > 3 || i1 > 3) && World.doesBlockHaveSolidTopSurface(world, new BlockPos(i + l, k - 1, j + i1)) && !world.getBlockState(new BlockPos(i + l, k, j + i1)).getBlock().isFullBlock() && !world.getBlockState(new BlockPos(i + l, k + 1, j + i1)).getBlock().isFullBlock() && world.getBlockState(new BlockPos(i + l, k + 1, j + i1)) != Blocks.flowing_lava && world.getBlockState(new BlockPos(i + l, k + 1, j + i1)) != Blocks.lava) { dog.setLocationAndAngles((float)(i + l) + 0.5F, k, (float)(j + i1) + 0.5F, dog.rotationYaw, dog.rotationPitch); } } } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.heel")); } } } return message; } } } Packet Handler package common.zeroquest.core.handlers; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import net.minecraftforge.fml.relauncher.Side; import common.zeroquest.lib.Constants; import common.zeroquest.network.packet.JakanJump; import common.zeroquest.network.packet.SealCommand; import common.zeroquest.network.packet.ZertumJump; import common.zeroquest.network.packet.ZertumMode; import common.zeroquest.network.packet.ZertumName; import common.zeroquest.network.packet.ZertumObey; import common.zeroquest.network.packet.ZertumTalents; /** * * This class will house the SimpleNetworkWrapper instance, which I will name 'dispatcher', * as well as give us a logical place from which to register our packets. These two things * could be done anywhere, however, even in your Main class, but I will be adding other * functionality (see below) that gives this class a bit more utility. * * While unnecessary, I'm going to turn this class into a 'wrapper' for SimpleNetworkWrapper * so that instead of writing "PacketDispatcher.dispatcher.{method}" I can simply write * "PacketDispatcher.{method}" All this does is make it quicker to type and slightly shorter; * if you do not care about that, then make the 'dispatcher' field public instead of private, * or, if you do not want to add a new class just for one field and one static method that * you could put anywhere, feel free to put them wherever. * * For further convenience, I have also added two extra sendToAllAround methods: one which * takes an EntityPlayer and one which takes coordinates. * */ public class PacketHandler { // a simple counter will allow us to get rid of 'magic' numbers used during packet registration private static byte packetId = 0; /** * The SimpleNetworkWrapper instance is used both to register and send packets. * Since I will be adding wrapper methods, this field is private, but you should * make it public if you plan on using it directly. */ private static final SimpleNetworkWrapper dispatcher = NetworkRegistry.INSTANCE.newSimpleChannel(Constants.channel); /** * Call this during pre-init or loading and register all of your packets (messages) here */ public static final void registerPackets() { // Using an incrementing field instead of hard-coded numerals, I don't need to think // about what number comes next or if I missed on should I ever rearrange the order // of registration (for instance, if you wanted to alphabetize them... yeah...) // It's even easier if you create a convenient 'registerMessage' method: PacketHandler.registerMessage(ZertumJump.Handler.class, ZertumJump.class); PacketHandler.registerMessage(SealCommand.Handler.class, SealCommand.class); PacketHandler.registerMessage(ZertumObey.Handler.class, ZertumObey.class); PacketHandler.registerMessage(JakanJump.Handler.class, JakanJump.class); PacketHandler.registerMessage(ZertumName.Handler.class, ZertumName.class); PacketHandler.registerMessage(ZertumMode.Handler.class, ZertumMode.class); PacketHandler.registerMessage(ZertumTalents.Handler.class, ZertumTalents.class); // If you don't want to make a 'registerMessage' method, you can do it directly: //PacketDispatcher.dispatcher.registerMessage(OpenGuiMessage.OpenGuiMessageHandler.class, OpenGuiMessage.class, packetId++, Side.SERVER); //PacketDispatcher.dispatcher.registerMessage(SyncPlayerPropsMessage.SyncPlayerPropsMessageHandler.class, SyncPlayerPropsMessage.class, packetId++, Side.CLIENT); } /** * Registers a message and message handler */ private static final void registerMessage(Class handlerClass, Class messageClass) { PacketHandler.dispatcher.registerMessage(handlerClass, messageClass, packetId++, Side.CLIENT); PacketHandler.dispatcher.registerMessage(handlerClass, messageClass, packetId++, Side.SERVER); } //========================================================// // The following methods are the 'wrapper' methods; again, // this just makes sending a message slightly more compact // and is purely a matter of stylistic preference //========================================================// /** * Send this message to the specified player. * See {@link SimpleNetworkWrapper#sendTo(IMessage, EntityPlayerMP)} */ public static final void sendTo(IMessage message, EntityPlayerMP player) { PacketHandler.dispatcher.sendTo(message, player); } /** * Send this message to everyone within a certain range of a point. * See {@link SimpleNetworkWrapper#sendToDimension(IMessage, NetworkRegistry.TargetPoint)} */ public static final void sendToAllAround(IMessage message, NetworkRegistry.TargetPoint point) { PacketHandler.dispatcher.sendToAllAround(message, point); } /** * Sends a message to everyone within a certain range of the coordinates in the same dimension. */ public static final void sendToAllAround(IMessage message, int dimension, double x, double y, double z, double range) { PacketHandler.sendToAllAround(message, new NetworkRegistry.TargetPoint(dimension, x, y, z, range)); } /** * Sends a message to everyone within a certain range of the player provided. */ public static final void sendToAllAround(IMessage message, EntityPlayer player, double range) { PacketHandler.sendToAllAround(message, player.worldObj.provider.getDimensionId(), player.posX, player.posY, player.posZ, range); } /** * Send this message to everyone within the supplied dimension. * See {@link SimpleNetworkWrapper#sendToDimension(IMessage, int)} */ public static final void sendToDimension(IMessage message, int dimensionId) { PacketHandler.dispatcher.sendToDimension(message, dimensionId); } /** * Send this message to the server. * See {@link SimpleNetworkWrapper#sendToServer(IMessage)} */ public static final void sendToServer(IMessage message) { PacketHandler.dispatcher.sendToServer(message); } }
  2. Got this error when I was inputing text in this GUI [14:09:15] [Netty Server IO #1/ERROR] [FML]: FMLIndexedMessageCodec exception caught io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.ZertumName.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:09:15] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.ZertumName.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:09:15] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.ZertumName.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:09:16] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.ZertumName.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:09:16] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.ZertumName.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:09:16] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.ZertumName.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:09:16] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.ZertumName.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:09:16] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.ZertumName.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:09:16] [Netty Server IO #1/ERROR] [FML]: There was a critical exception handling a packet on channel ZERO_QUEST io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.ZertumName at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.ZertumName.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:09:16] [server thread/INFO]: Player165 lost connection: TextComponent{text='A fatal error has occured, this connection is terminated', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}} And this error when trying to change modes [14:12:29] [Netty Server IO #1/ERROR] [FML]: FMLIndexedMessageCodec exception caught io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.SealCommand.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:12:29] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.SealCommand.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:12:29] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.SealCommand.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:12:30] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.SealCommand.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:12:30] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.SealCommand.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:12:30] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.SealCommand.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:12:30] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.SealCommand.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:12:30] [Netty Server IO #1/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.SealCommand.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:12:30] [Netty Server IO #1/ERROR] [FML]: There was a critical exception handling a packet on channel ZERO_QUEST io.netty.handler.codec.DecoderException: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand 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:88) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?] at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [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.handleServerSideCustomPacket(NetworkDispatcher.java:398) [NetworkDispatcher.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:226) [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.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [singleThreadEventExecutor.class:4.0.15.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [NioEventLoop.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(Unknown Source) [?:1.8.0_25] Caused by: java.lang.InstantiationException: common.zeroquest.network.packet.SealCommand at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more Caused by: java.lang.NoSuchMethodException: common.zeroquest.network.packet.SealCommand.<init>() at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_25] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:79) ~[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] ... 25 more [14:12:30] [server thread/INFO]: Player981 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}} Here is my packet code Name Packet package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumName implements IMessage{ public int entityId; public String name; public static int MAX_STRING_LENGTH = Integer.MAX_VALUE / 4; public ZertumName(int entityId, String talentId) { this.entityId = entityId; this.name = talentId; } @Override public void fromBytes(ByteBuf buf) { this.entityId = buf.readInt(); this.name = ByteBufUtils.readUTF8String(buf); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); ByteBufUtils.writeUTF8String(buf, name); } public static class Handler implements IMessageHandler<ZertumName, IMessage> { @Override public IMessage onMessage(ZertumName message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; dog.setDogName(message.name); return message; } } } Talents Packet package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumTalents implements IMessage{ public int entityId; public String talentId; public static int MAX_STRING_LENGTH = Integer.MAX_VALUE / 4; public ZertumTalents(int entityId, String talentId) { this.entityId = entityId; this.talentId = talentId; } @Override public void fromBytes(ByteBuf buf) { this.entityId = buf.readInt(); this.talentId = ByteBufUtils.readUTF8String(buf); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); ByteBufUtils.writeUTF8String(buf, talentId); } public static class Handler implements IMessageHandler<ZertumTalents, IMessage> { @Override public IMessage onMessage(ZertumTalents message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; dog.talents.setLevel(message.talentId, dog.talents.getLevel(message.talentId) + 1); return message; } } } Obey Packet package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumObey implements IMessage{ public int entityId; public boolean obey; public ZertumObey(int entityId, boolean obey) { this.entityId = entityId; this.obey = obey; } @Override public void fromBytes(ByteBuf buf) { this.entityId = buf.readInt(); this.obey = buf.readBoolean(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); buf.writeBoolean(this.obey); } public static class Handler implements IMessageHandler<ZertumObey, IMessage> { @Override public IMessage onMessage(ZertumObey message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; dog.setWillObeyOthers(message.obey); return message; } } } Mode Packet package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumMode implements IMessage{ public int entityId, doggyMode; public ZertumMode(int entityId, int doggyMode) { this.entityId = entityId; this.doggyMode = doggyMode; } @Override public void fromBytes(ByteBuf buf) { this.entityId = buf.readInt(); this.doggyMode = buf.readInt(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); buf.writeInt(this.doggyMode); } public static class Handler implements IMessageHandler<ZertumMode, IMessage> { @Override public IMessage onMessage(ZertumMode message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; dog.mode.setMode(message.doggyMode); return message; } } } Jump Packet package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumJump implements IMessage{ public int entityId; public ZertumJump(int entityId) { this.entityId = entityId; } @Override public void fromBytes(ByteBuf buf) { entityId = buf.readInt(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.entityId); } public static class Handler implements IMessageHandler<ZertumJump, IMessage> { @Override public IMessage onMessage(ZertumJump message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; if(dog.onGround) { dog.motionY = 2F * dog.talents.getLevel("mount") * 0.1F; if(dog.isPotionActive(Potion.jump)) dog.motionY += (double)((float)(dog.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); dog.isAirBorne = true; } return message; } } } Seal Command Packet package common.zeroquest.network.packet; import java.util.List; import common.zeroquest.ModItems; import common.zeroquest.ZeroQuest; import common.zeroquest.core.helper.ChatHelper; import common.zeroquest.entity.EntityZertumEntity; import common.zeroquest.entity.util.ModeUtil.EnumMode; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.util.BlockPos; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class SealCommand implements IMessage{ public int commandId; public SealCommand(int commandId) { this.commandId = commandId; } @Override public void fromBytes(ByteBuf buf) { commandId = buf.readInt(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.commandId); } public static class Handler implements IMessageHandler<SealCommand, IMessage> { @Override public IMessage onMessage(SealCommand message, MessageContext ctx) { EntityPlayer player = ZeroQuest.proxy.getClientPlayer(); World world = player.worldObj; ItemStack stack = player.getCurrentEquippedItem(); if(stack == null) return null; if(stack.getItem() == ModItems.commandSeal) { if(message.commandId == 1) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if (o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player)) { dog.getSitAI().setSitting(false); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); if(dog.mode.isMode(EnumMode.WANDERING)) { dog.mode.setMode(EnumMode.DOCILE); } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.come")); } } else if(message.commandId == 2) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if (o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player)) { dog.getSitAI().setSitting(true); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); if(dog.mode.isMode(EnumMode.WANDERING)) { dog.mode.setMode(EnumMode.DOCILE); } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.stay")); } } else if(message.commandId == 3) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if (o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player)) { if(dog.getMaxHealth() / 2 >= dog.getHealth()) { dog.getSitAI().setSitting(true); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); } else { dog.getSitAI().setSitting(false); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.ok")); } } else if(message.commandId == 4) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if(o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player) && !dog.isSitting() && !dog.mode.isMode(EnumMode.WANDERING)) { int i = MathHelper.floor_double(player.posX) - 2; int j = MathHelper.floor_double(player.posZ) - 2; int k = MathHelper.floor_double(player.getEntityBoundingBox().minY); for (int l = 0; l <= 4; l++) { for (int i1 = 0; i1 <= 4; i1++) { if ((l < 1 || i1 < 1 || l > 3 || i1 > 3) && World.doesBlockHaveSolidTopSurface(world, new BlockPos(i + l, k - 1, j + i1)) && !world.getBlockState(new BlockPos(i + l, k, j + i1)).getBlock().isFullBlock() && !world.getBlockState(new BlockPos(i + l, k + 1, j + i1)).getBlock().isFullBlock() && world.getBlockState(new BlockPos(i + l, k + 1, j + i1)) != Blocks.flowing_lava && world.getBlockState(new BlockPos(i + l, k + 1, j + i1)) != Blocks.lava) { dog.setLocationAndAngles((float)(i + l) + 0.5F, k, (float)(j + i1) + 0.5F, dog.rotationYaw, dog.rotationPitch); } } } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.heel")); } } } return message; } } } Packet Handler package common.zeroquest.core.handlers; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import net.minecraftforge.fml.relauncher.Side; import common.zeroquest.lib.Constants; import common.zeroquest.network.packet.JakanJump; import common.zeroquest.network.packet.SealCommand; import common.zeroquest.network.packet.ZertumJump; import common.zeroquest.network.packet.ZertumMode; import common.zeroquest.network.packet.ZertumName; import common.zeroquest.network.packet.ZertumObey; import common.zeroquest.network.packet.ZertumTalents; /** * * This class will house the SimpleNetworkWrapper instance, which I will name 'dispatcher', * as well as give us a logical place from which to register our packets. These two things * could be done anywhere, however, even in your Main class, but I will be adding other * functionality (see below) that gives this class a bit more utility. * * While unnecessary, I'm going to turn this class into a 'wrapper' for SimpleNetworkWrapper * so that instead of writing "PacketDispatcher.dispatcher.{method}" I can simply write * "PacketDispatcher.{method}" All this does is make it quicker to type and slightly shorter; * if you do not care about that, then make the 'dispatcher' field public instead of private, * or, if you do not want to add a new class just for one field and one static method that * you could put anywhere, feel free to put them wherever. * * For further convenience, I have also added two extra sendToAllAround methods: one which * takes an EntityPlayer and one which takes coordinates. * */ public class PacketHandler { // a simple counter will allow us to get rid of 'magic' numbers used during packet registration private static byte packetId = 0; /** * The SimpleNetworkWrapper instance is used both to register and send packets. * Since I will be adding wrapper methods, this field is private, but you should * make it public if you plan on using it directly. */ private static final SimpleNetworkWrapper dispatcher = NetworkRegistry.INSTANCE.newSimpleChannel(Constants.channel); /** * Call this during pre-init or loading and register all of your packets (messages) here */ public static final void registerPackets() { // Using an incrementing field instead of hard-coded numerals, I don't need to think // about what number comes next or if I missed on should I ever rearrange the order // of registration (for instance, if you wanted to alphabetize them... yeah...) // It's even easier if you create a convenient 'registerMessage' method: PacketHandler.registerMessage(ZertumJump.Handler.class, ZertumJump.class); PacketHandler.registerMessage(SealCommand.Handler.class, SealCommand.class); PacketHandler.registerMessage(ZertumObey.Handler.class, ZertumObey.class); PacketHandler.registerMessage(JakanJump.Handler.class, JakanJump.class); PacketHandler.registerMessage(ZertumName.Handler.class, ZertumName.class); PacketHandler.registerMessage(ZertumMode.Handler.class, ZertumMode.class); PacketHandler.registerMessage(ZertumTalents.Handler.class, ZertumTalents.class); // If you don't want to make a 'registerMessage' method, you can do it directly: //PacketDispatcher.dispatcher.registerMessage(OpenGuiMessage.OpenGuiMessageHandler.class, OpenGuiMessage.class, packetId++, Side.SERVER); //PacketDispatcher.dispatcher.registerMessage(SyncPlayerPropsMessage.SyncPlayerPropsMessageHandler.class, SyncPlayerPropsMessage.class, packetId++, Side.CLIENT); } /** * Registers a message and message handler */ private static final void registerMessage(Class handlerClass, Class messageClass) { PacketHandler.dispatcher.registerMessage(handlerClass, messageClass, packetId++, Side.CLIENT); PacketHandler.dispatcher.registerMessage(handlerClass, messageClass, packetId++, Side.SERVER); } //========================================================// // The following methods are the 'wrapper' methods; again, // this just makes sending a message slightly more compact // and is purely a matter of stylistic preference //========================================================// /** * Send this message to the specified player. * See {@link SimpleNetworkWrapper#sendTo(IMessage, EntityPlayerMP)} */ public static final void sendTo(IMessage message, EntityPlayerMP player) { PacketHandler.dispatcher.sendTo(message, player); } /** * Send this message to everyone within a certain range of a point. * See {@link SimpleNetworkWrapper#sendToDimension(IMessage, NetworkRegistry.TargetPoint)} */ public static final void sendToAllAround(IMessage message, NetworkRegistry.TargetPoint point) { PacketHandler.dispatcher.sendToAllAround(message, point); } /** * Sends a message to everyone within a certain range of the coordinates in the same dimension. */ public static final void sendToAllAround(IMessage message, int dimension, double x, double y, double z, double range) { PacketHandler.sendToAllAround(message, new NetworkRegistry.TargetPoint(dimension, x, y, z, range)); } /** * Sends a message to everyone within a certain range of the player provided. */ public static final void sendToAllAround(IMessage message, EntityPlayer player, double range) { PacketHandler.sendToAllAround(message, player.worldObj.provider.getDimensionId(), player.posX, player.posY, player.posZ, range); } /** * Send this message to everyone within the supplied dimension. * See {@link SimpleNetworkWrapper#sendToDimension(IMessage, int)} */ public static final void sendToDimension(IMessage message, int dimensionId) { PacketHandler.dispatcher.sendToDimension(message, dimensionId); } /** * Send this message to the server. * See {@link SimpleNetworkWrapper#sendToServer(IMessage)} */ public static final void sendToServer(IMessage message) { PacketHandler.dispatcher.sendToServer(message); } }
  3. What about for strings? One packet I have uses Strings and I can't seem to find a method from BytesUtil that uses Strings Original package common.zeroquest.network.packet; import java.io.IOException; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.network.PacketBuffer; import common.zeroquest.entity.EntityZertumEntity; import common.zeroquest.network.IPacket; /** * @author ProPercivalalb */ public class PacketDogTalent extends IPacket { public int entityId; public String talentId; public PacketDogTalent() {} public PacketDogTalent(int entityId, String talentId) { this(); this.entityId = entityId; this.talentId = talentId; } @Override public void read(PacketBuffer packetbuffer) throws IOException { this.entityId = packetbuffer.readInt(); this.talentId = packetbuffer.readStringFromBuffer(MAX_STRING_LENGTH); } @Override public void write(PacketBuffer packetbuffer) throws IOException { packetbuffer.writeInt(this.entityId); packetbuffer.writeString(this.talentId); } @Override public void execute(EntityPlayer player) { Entity target = player.worldObj.getEntityByID(this.entityId); if(!(target instanceof EntityZertumEntity)) return; EntityZertumEntity dog = (EntityZertumEntity)target; dog.talents.setLevel(this.talentId, dog.talents.getLevel(this.talentId) + 1); } } New package common.zeroquest.network.packet; import common.zeroquest.ZeroQuest; import common.zeroquest.entity.EntityZertumEntity; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.potion.Potion; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumTalents implements IMessage{ public int entityId; public String talentId; public static int MAX_STRING_LENGTH = Integer.MAX_VALUE / 4; public ZertumTalents(int entityId, String talentId) { this.entityId = entityId; this.talentId = talentId; } @Override public void fromBytes(ByteBuf buf) { entityId = ByteBufUtils.readVarShort(buf); // this class is very useful in general for writing more complex objects talentId = ByteBufUtils.readUTF8String(); } @Override public void toBytes(ByteBuf buf) { ByteBufUtils.writeVarShort(buf, entityId); ByteBufUtils.writeUTF8String(buf, talentId); <---- The problem is here } public static class Handler implements IMessageHandler<ZertumTalents, IMessage> { @Override public IMessage onMessage(ZertumTalents message, MessageContext ctx) { Entity target = ZeroQuest.proxy.getClientPlayer().worldObj.getEntityByID(message.entityId); if(!(target instanceof EntityZertumEntity)) return null; EntityZertumEntity dog = (EntityZertumEntity)target; dog.talents.setLevel(message.talentId, dog.talents.getLevel(message.talentId) + 1); return message; } } }
  4. I started to convert the packets into IMessage, but I ran into a problem where the original packet used integers, but the new one uses bytes; the original one would take the entity ID, check the ID to make sure that the entity is an instance of a certain entity. Here is the original packet code and the where the entity id is being added: KeyState private void keyTick(boolean tickEnd) { for(KeyBinding kb : keyBindings) { if(kb.isKeyDown()) { if (!tickEnd && (!this.keyState.containsKey(kb) || !this.keyState.get(kb))) { this.keyState.put(kb, true); //Key Pressed EntityPlayer player = FMLClientHandler.instance().getClientPlayerEntity(); if(kb == mc.gameSettings.keyBindJump) { if(player.ridingEntity instanceof EntityZertumEntity && mc.currentScreen == null) { EntityZertumEntity dog = (EntityZertumEntity)player.ridingEntity; ZeroQuest.network.sendToServer(new ZertumJump(dog.getEntityId())); } ... Original Packet package common.zeroquest.network.packet; import java.io.IOException; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.network.PacketBuffer; import net.minecraft.potion.Potion; import common.zeroquest.entity.EntityZertumEntity; import common.zeroquest.network.IPacket; /** * @author ProPercivalalb */ public class PacketDogJump extends IPacket { public int entityId; public PacketDogJump() {} public PacketDogJump(int entityId) { this(); this.entityId = entityId; } @Override public void read(PacketBuffer packetbuffer) throws IOException { this.entityId = packetbuffer.readInt(); } @Override public void write(PacketBuffer packetbuffer) throws IOException { packetbuffer.writeInt(this.entityId); } @Override public void execute(EntityPlayer player) { Entity target = player.worldObj.getEntityByID(this.entityId); if(!(target instanceof EntityZertumEntity)) return; EntityZertumEntity dog = (EntityZertumEntity)target; if(dog.onGround) { dog.motionY = 2F * dog.talents.getLevel("mount") * 0.1F; if(dog.isPotionActive(Potion.jump)) dog.motionY += (double)((float)(dog.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); dog.isAirBorne = true; } } } IMessagePacket package common.zeroquest.network.packet; import io.netty.buffer.ByteBuf; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class ZertumJump implements IMessage{ public int entityId; @Override public void fromBytes(ByteBuf buf) { entityId = ByteBufUtils.readVarInt(buf, entityId); // this class is very useful in general for writing more complex objects } @Override public void toBytes(ByteBuf buf) { ByteBufUtils.readVarInt(buf, entityId); } public static class Handler implements IMessageHandler<ZertumJump, IMessage> { @Override public IMessage onMessage(ZertumJump message, MessageContext ctx) { } } } How do I convert the int to a byte for the packet to work problem as it did on the original?
  5. The problem is, the packets I made look like this package common.zeroquest.network.packet; import java.io.IOException; import java.util.List; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketBuffer; import net.minecraft.util.BlockPos; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import common.zeroquest.ModItems; import common.zeroquest.core.helper.ChatHelper; import common.zeroquest.entity.EntityZertumEntity; import common.zeroquest.entity.util.ModeUtil.EnumMode; import common.zeroquest.network.IPacket; /** * @author ProPercivalalb */ public class PacketCommand extends IPacket { public int commandId; public PacketCommand() {} public PacketCommand(int commandId) { this(); this.commandId = commandId; } @Override public void read(PacketBuffer packetbuffer) throws IOException { this.commandId = packetbuffer.readInt(); } @Override public void write(PacketBuffer packetbuffer) throws IOException { packetbuffer.writeInt(this.commandId); } @Override public void execute(EntityPlayer player) { World world = player.worldObj; ItemStack stack = player.getCurrentEquippedItem(); if(stack == null) return; if(stack.getItem() == ModItems.commandSeal) { if(this.commandId == 1) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if (o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player)) { dog.getSitAI().setSitting(false); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); if(dog.mode.isMode(EnumMode.WANDERING)) { dog.mode.setMode(EnumMode.DOCILE); } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.come")); } } else if(this.commandId == 2) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if (o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player)) { dog.getSitAI().setSitting(true); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); if(dog.mode.isMode(EnumMode.WANDERING)) { dog.mode.setMode(EnumMode.DOCILE); } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.stay")); } } else if(this.commandId == 3) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if (o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player)) { if(dog.getMaxHealth() / 2 >= dog.getHealth()) { dog.getSitAI().setSitting(true); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); } else { dog.getSitAI().setSitting(false); dog.getNavigator().clearPathEntity(); dog.setAttackTarget((EntityLivingBase)null); } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.ok")); } } else if(this.commandId == 4) { world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (world.rand.nextFloat() * 0.4F + 0.8F)); boolean isDog = false; List nearEnts = world.getEntitiesWithinAABBExcludingEntity(player, player.getEntityBoundingBox().expand(20D, 20D, 20D)); for (Object o : nearEnts) { if(o instanceof EntityZertumEntity) { EntityZertumEntity dog = (EntityZertumEntity)o; if(dog.canInteract(player) && !dog.isSitting() && !dog.mode.isMode(EnumMode.WANDERING)) { int i = MathHelper.floor_double(player.posX) - 2; int j = MathHelper.floor_double(player.posZ) - 2; int k = MathHelper.floor_double(player.getEntityBoundingBox().minY); for (int l = 0; l <= 4; l++) { for (int i1 = 0; i1 <= 4; i1++) { if ((l < 1 || i1 < 1 || l > 3 || i1 > 3) && World.doesBlockHaveSolidTopSurface(world, new BlockPos(i + l, k - 1, j + i1)) && !world.getBlockState(new BlockPos(i + l, k, j + i1)).getBlock().isFullBlock() && !world.getBlockState(new BlockPos(i + l, k + 1, j + i1)).getBlock().isFullBlock() && world.getBlockState(new BlockPos(i + l, k + 1, j + i1)) != Blocks.flowing_lava && world.getBlockState(new BlockPos(i + l, k + 1, j + i1)) != Blocks.lava) { dog.setLocationAndAngles((float)(i + l) + 0.5F, k, (float)(j + i1) + 0.5F, dog.rotationYaw, dog.rotationPitch); } } } isDog = true; } } } if(isDog) { player.addChatMessage(ChatHelper.getChatComponentTranslation("command.heel")); } } } } } They use different parameters and I don't know how to change them to work with the IMessage
  6. Like I said, I borrowed it from someone else that had it updated for 1.7.10. And I what I'm planning on doing is scratching out all the old code and use the recommended handler, but I don't know to get it exactly work with the current packet codes I am using.
  7. I was testing my mod out and suddenly, my game freezes up and I look on the console, it says this [07:22:55] [Netty Server IO #1/ERROR] [FML]: Detected ongoing potential memory leak. 100 packets have leaked. Top offenders [07:22:55] [Netty Server IO #1/ERROR] [FML]: ZERO_QUEST : 100 Here is my code Main class public static NetworkManager networkManager; .... @EventHandler public void load(FMLInitializationEvent event) { networkManager = new NetworkManager(); PacketType package common.zeroquest.network; import common.zeroquest.network.packet.PacketCommand; import common.zeroquest.network.packet.PacketDogJump; import common.zeroquest.network.packet.PacketDogMode; import common.zeroquest.network.packet.PacketDogName; import common.zeroquest.network.packet.PacketDogObey; import common.zeroquest.network.packet.PacketDogTalent; import common.zeroquest.network.packet.PacketJakanJump; import common.zeroquest.network.packet.PacketKortorJump; /** * @author ProPercivalalb */ public enum PacketType { DOG_NAME(PacketDogName.class), DOG_TALENT(PacketDogTalent.class), DOG_OBEY(PacketDogObey.class), DOG_JUMP(PacketDogJump.class), DOG_MODE(PacketDogMode.class), COMMAND(PacketCommand.class), JAKAN_JUMP(PacketJakanJump.class), KORTOR_JUMP(PacketKortorJump.class); public Class<? extends IPacket> packetClass; PacketType(Class<? extends IPacket> packetClass) { this.packetClass = packetClass; } public static byte getIdFromClass(Class<? extends IPacket> packetClass) { for(PacketType type : values()) if(type.packetClass == packetClass) return (byte)type.ordinal(); return -1; } } IPacket package common.zeroquest.network; import java.io.IOException; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.network.Packet; import net.minecraft.network.PacketBuffer; import net.minecraftforge.fml.common.FMLCommonHandler; import common.zeroquest.ZeroQuest; /** * @author ProPercivalalb */ public abstract class IPacket { public static int MAX_STRING_LENGTH = Integer.MAX_VALUE / 4; public abstract void read(PacketBuffer packetbuffer) throws IOException; public abstract void write(PacketBuffer packetbuffer) throws IOException; public abstract void execute(EntityPlayer player); public Packet getPacket() { if(FMLCommonHandler.instance().getEffectiveSide().isClient()) return ZeroQuest.networkManager.clientOutboundChannel.generatePacketFrom(this); else return ZeroQuest.networkManager.serverOutboundChannel.generatePacketFrom(this); } } NetworkMangaer package common.zeroquest.network; import java.util.EnumMap; import common.zeroquest.lib.Constants; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.network.FMLEmbeddedChannel; import net.minecraftforge.fml.common.network.FMLOutboundHandler; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraftforge.fml.relauncher.Side; /** * @author ProPercivalalb */ public class NetworkManager { public final ChannelHandler channelHandler; public final FMLEmbeddedChannel clientOutboundChannel; public final FMLEmbeddedChannel serverOutboundChannel; public NetworkManager() { this.channelHandler = new ChannelHandler(); EnumMap<Side, FMLEmbeddedChannel> channelPair = NetworkRegistry.INSTANCE.newChannel(Constants.channel, this.channelHandler); this.clientOutboundChannel = channelPair.get(Side.CLIENT); this.serverOutboundChannel = channelPair.get(Side.SERVER); } public void sendPacketToServer(IPacket packet) { if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { this.clientOutboundChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER); this.clientOutboundChannel.writeOutbound(packet); } } public void sendPacketToPlayer(IPacket packet, EntityPlayer player) { if (FMLCommonHandler.instance().getEffectiveSide().isServer()) { this.serverOutboundChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER); this.serverOutboundChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(player); this.serverOutboundChannel.writeOutbound(packet); } } public void sendPacketToAllInDimension(IPacket packet, int dimensionId) { if (FMLCommonHandler.instance().getEffectiveSide().isServer()) { this.serverOutboundChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.DIMENSION); this.serverOutboundChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(dimensionId); this.serverOutboundChannel.writeOutbound(packet); } } public void sendPacketToAllAround(IPacket packet, int dimensionId, double x, double y, double z, double range) { if (FMLCommonHandler.instance().getEffectiveSide().isServer()) { this.serverOutboundChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT); this.serverOutboundChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(new TargetPoint(dimensionId, x, y, z, range)); this.serverOutboundChannel.writeOutbound(packet); } } } Channel Handler package common.zeroquest.network; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.network.INetHandler; import net.minecraft.network.NetHandlerPlayServer; import net.minecraft.network.PacketBuffer; import net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec; import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; import common.zeroquest.ZeroQuest; /** * @author ProPercivalalb */ public class ChannelHandler extends FMLIndexedMessageToMessageCodec<IPacket>{ public FMLProxyPacket packet; public ChannelHandler() { for (int i = 0; i < PacketType.values().length; i++) addDiscriminator(i, PacketType.values()[i].packetClass); } @Override public void encodeInto(ChannelHandlerContext ctx, IPacket msg, ByteBuf bytes) throws Exception { PacketBuffer packetbuffer = new PacketBuffer(bytes); msg.write(packetbuffer); } @Override public void decodeInto(ChannelHandlerContext ctx, ByteBuf bytes, IPacket msg) { try { PacketBuffer packetbuffer = new PacketBuffer(bytes); msg.read(packetbuffer); EntityPlayer player = null; INetHandler handler = this.packet.getOrigin().getNetHandler(); if(handler instanceof NetHandlerPlayServer) { player = ((NetHandlerPlayServer)handler).playerEntity; } else { player = ZeroQuest.proxy.getClientPlayer(); } msg.execute(player); } catch(Exception e) { e.printStackTrace(); } } @Override protected void testMessageValidity(FMLProxyPacket msg) { this.packet = msg; } } Also, I did borrow this code from someone else from 1.7.10 (which they had updated for 1.8 but using the old code still) and having a little trouble understanding what packets are, but I am starting to learn a bit about them. But the one thing I do know is that the packets I'm trying to send to the server are needed for some new functions I just implemented in the latest version of my mod.
  8. Here is my code package common.zeroquest.client.renderer.entity.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.MathHelper; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import org.lwjgl.opengl.GL11; import common.zeroquest.entity.EntityZertumEntity; @SideOnly(Side.CLIENT) public class ModelZertum extends ModelBase { //fields ModelRenderer Nose; ModelRenderer Ear2; ModelRenderer Ear1; ModelRenderer Head; ModelRenderer LeftHindLeg1; ModelRenderer LeftHindLeg2; ModelRenderer LeftHindLeg3; ModelRenderer RightHindLeg1; ModelRenderer RightHindLeg2; ModelRenderer RightHindLeg3; ModelRenderer Mane1; ModelRenderer RightLeg; ModelRenderer LeftLeg; ModelRenderer Tail1; ModelRenderer Tail2; ModelRenderer Tail3; ModelRenderer Mane2; ModelRenderer Torso; ModelRenderer Neck; ModelRenderer Pad1; ModelRenderer Pad2; ModelRenderer Pad3; ModelRenderer Pad4; ModelRenderer PadPart1; ModelRenderer PadPart2; ModelRenderer Rope1; ModelRenderer Metal1; ModelRenderer Rope2; ModelRenderer Metal2; ModelRenderer Seat1; ModelRenderer Seat2; private float rightFemur = -0.2974289F; private float leftFemur = -0.2974289F; private float rightTibia = 0.8205006F; private float leftTibia = 0.8205006F; private float rightMetatarus = -0.5205006F; private float leftMetatarus = -0.5205006F; private float mane2StartingRotation = -0.34653F; private float vertebrae = -0.6015813F; //Evolved Model\\ ModelRenderer Throat; ModelRenderer UpSection; ModelRenderer MidSection; ModelRenderer Pelvis; ModelRenderer TailPart1; ModelRenderer TailPart2; ModelRenderer TailPart3; ModelRenderer LeftHumerus; ModelRenderer LeftRadius; ModelRenderer LeftFClawRPart1; ModelRenderer LeftFClawRPart2; ModelRenderer LeftFClawMPart1; ModelRenderer LeftFClawMPart2; ModelRenderer LeftFClawLPart1; ModelRenderer LeftFClawLPart2; ModelRenderer RightHumerus; ModelRenderer RightRadius; ModelRenderer RightFClawRPart1; ModelRenderer RightFClawRPart2; ModelRenderer RightFClawMPart1; ModelRenderer RightFClawMPart2; ModelRenderer RightFClawLPart1; ModelRenderer RightFClawLPart2; ModelRenderer LeftFemur; ModelRenderer LeftTibia; ModelRenderer LeftMetatarsus; ModelRenderer LeftClawRPart1; ModelRenderer LeftClawRPart2; ModelRenderer LeftClawLPart1; ModelRenderer LeftClawLPart2; ModelRenderer LeftClawMPart1; ModelRenderer LeftClawMPart2; ModelRenderer RightFemur; ModelRenderer RightTibia; ModelRenderer RightMetatarsus; ModelRenderer RightClawRPart1; ModelRenderer RightClawRPart2; ModelRenderer RightClawMPart1; ModelRenderer RightClawMPart2; ModelRenderer RightClawLPart1; ModelRenderer RightClawLPart2; ModelRenderer RightEarPart1; ModelRenderer LeftBottomJaw; ModelRenderer RightEarPart2; ModelRenderer BottomJawPart1; ModelRenderer RightEarPart3; ModelRenderer BottomJawPart2; ModelRenderer LeftEarPart1; ModelRenderer BottomJawCenter; ModelRenderer LeftEarPart2; ModelRenderer LeftTopTeeth; ModelRenderer LeftEarPart3; ModelRenderer LeftTopJaw; ModelRenderer LeftBottomTeeth; ModelRenderer RightTopTeeth; ModelRenderer RightBottomTeeth; ModelRenderer TopJawPart1; ModelRenderer TopJawPart2; ModelRenderer TopJawCenter; ModelRenderer RightTopJaw; ModelRenderer RightBottomJaw; ModelRenderer EPad1; ModelRenderer EPad2; ModelRenderer EPad3; ModelRenderer EPad4; ModelRenderer EPadPart1; ModelRenderer EPadPart2; ModelRenderer ERope1; ModelRenderer EMetal1; ModelRenderer ERope2; ModelRenderer EMetal2; ModelRenderer ESeat1; ModelRenderer ESeat2; // create an animation cycle // for movement based animations you need to measure distance moved // and perform number of cycles per block distance moved. protected double distanceMovedTotal = 0.0D; // don't make this too large or animations will be skipped protected static final double CYCLES_PER_BLOCK = 1.3D; protected int cycleIndex = 0; protected float[][] undulationCycle = new float[][] { {-32, -27, -22, -18, -15, -12, -9, -6, -3, 0, 3, 6, 9, 12, 15, 18, 22, 27, 32, 27, 22, 18, 15, 12, 9, 6, 3, 0, -3, -6, -9, -12, -15, -18, -22, -27, -32}, {0, 3, 6, 9, 12, 15, 18, 22, 27, 32, 27, 22, 18, 15, 12, 9, 6, 3, 0, -3, -6, -9, -12, -15, -18, -22, -27, -32}, {-32, -27, -22, -18, -15, -12, -9, -6, -3, 0, 3, 6, 9, 12, 15, 18, 22, 27, 32, 27, 22, 18, 15, 12, 9, 6, 3, 0, -3, -6, -9, -12, -15, -18, -22, -27, -32}, {0, 3, 6, 9, 12, 15, 18, 22, 27, 32, 27, 22, 18, 15, 12, 9, 6, 3, 0, -3, -6, -9, -12, -15, -18, -22, -27, -32}, }; public ModelZertum() { textureWidth = 256; textureHeight = 128; Nose = new ModelRenderer(this, 25, 27); Nose.addBox(-1.5F, 0F, -3F, 3, 3, 4); Nose.setRotationPoint(0F, 2.5F, -15F); setRotation(Nose, 0F, 0F, 0F); Ear2 = new ModelRenderer(this, 40, 28); Ear2.addBox(-1F, -3F, 0F, 2, 3, 1); Ear2.setRotationPoint(2F, -0.5F, -10.5F); setRotation(Ear2, 0F, 0F, 0F); Ear1 = new ModelRenderer(this, 40, 28); Ear1.addBox(-1F, -3F, 0F, 2, 3, 1); Ear1.setRotationPoint(-2F, -0.5F, -10.5F); setRotation(Ear1, 0F, 0F, 0F); Head = new ModelRenderer(this, 25, 15); Head.addBox(-3F, -0.5F, -14F, 6, 6, 5); Head.setRotationPoint(-0.5F, 6F, -3F); setRotation(Head, 0F, 0F, 0F); LeftHindLeg1 = new ModelRenderer(this, 11, 18); LeftHindLeg1.addBox(-1F, 0F, -1F, 2, 5, 3); LeftHindLeg1.setRotationPoint(1.5F, 13F, 5F); setRotation(LeftHindLeg1, -0.2974289F, 0F, 0F); LeftHindLeg2 = new ModelRenderer(this, 3, 44); LeftHindLeg2.addBox(-1F, 0F, -1F, 2, 4, 2); LeftHindLeg2.setRotationPoint(0F, 4.3F, -0.3F); setRotation(LeftHindLeg2, leftTibia, 0F, 0F); LeftHindLeg3 = new ModelRenderer(this, 0, 51); LeftHindLeg3.addBox(-1F, 0F, -1F, 2, 4, 2); LeftHindLeg3.setRotationPoint(0F, 3.55F, 0.2F); setRotation(LeftHindLeg3, leftMetatarus, 0F, 0F); RightHindLeg1 = new ModelRenderer(this, 11, 31); RightHindLeg1.addBox(-1F, 0F, -1F, 2, 5, 3); RightHindLeg1.setRotationPoint(-2.5F, 13F, 5F); setRotation(RightHindLeg1, -0.2974289F, 0F, 0F); RightHindLeg2 = new ModelRenderer(this, 3, 44); RightHindLeg2.addBox(-1F, 0F, -1F, 2, 4, 2); RightHindLeg2.setRotationPoint(0F, 4.3F, -0.3F); setRotation(RightHindLeg2, rightTibia, 0F, 0F); RightHindLeg3 = new ModelRenderer(this, 9, 51); RightHindLeg3.addBox(-1F, 0F, -1F, 2, 4, 2); RightHindLeg3.setRotationPoint(0F, 3.55F, 0.2F); setRotation(RightHindLeg3, rightMetatarus, 0F, 0F); Mane1 = new ModelRenderer(this, 43, 0); Mane1.addBox(-3F, -3F, -3F, 6, 6, 7); Mane1.setRotationPoint(-0.5F, 14F, -3F); setRotation(Mane1, 1.496439F, 0F, 0F); Neck = new ModelRenderer(this, 0, 0); Neck.addBox(-2.5F, -12F, -4F, 4, 7, 4); Neck.setRotationPoint(0.5F, 0F, 0F); setRotation(Neck, -0.6015813F, 0F, 0F); Mane2 = new ModelRenderer(this, 18, 0); Mane2.addBox(-2.5F, -7F, -3.6F, 5, 6, 7); Mane2.setRotationPoint(0F, 0F, 0F); setRotation(Mane2, -0.34653F, 0F, 0F); RightLeg = new ModelRenderer(this, 0, 30); RightLeg.addBox(-1F, 0F, -1F, 2, 10, 2); RightLeg.setRotationPoint(-3F, 14F, -4F); setRotation(RightLeg, 0F, 0F, 0F); LeftLeg = new ModelRenderer(this, 0, 16); LeftLeg.addBox(-1F, 0F, -1F, 2, 10, 2); LeftLeg.setRotationPoint(2F, 14F, -4F); setRotation(LeftLeg, 0F, 0F, 0F); Tail1 = new ModelRenderer(this, 91, 0); Tail1.addBox(-1.5F, 0F, -1F, 4, 8, 4); Tail1.setRotationPoint(-1F, 14.3F, 6F); setRotation(Tail1, 1.315962F, 0F, 0F); Tail2 = new ModelRenderer(this, 110, 0); Tail2.addBox(-1.5F, 0F, -1F, 3, 8, 3); Tail2.setRotationPoint(0.5F, 6F, 0.5F); setRotation(Tail2, -0.041605F, 0F, 0F); Tail3 = new ModelRenderer(this, 110, 13); Tail3.addBox(-1F, 0F, -1F, 2, 8, 2); Tail3.setRotationPoint(0F, 6.5F, 0.5F); setRotation(Tail3, 0.001605F, 0F, 0F); Torso = new ModelRenderer(this, 69, 0); Torso.addBox(-2.5F, -3F, -3F, 5, 9, 5); Torso.setRotationPoint(-0.5F, 12.5F, 1F); setRotation(Torso, 1.496439F, 0F, 0F); //Saddle\\ Pad1 = new ModelRenderer(this, 110, 32); Pad1.addBox(-2F, 0F, 0F, 4, 1, 1); Pad1.setRotationPoint(-0.5F, 9.3F, -2.5F); setRotation(Pad1, -0.0650564F, 0F, 0F); Pad2 = new ModelRenderer(this, 110, 35); Pad2.addBox(-3F, 0F, 0F, 6, 1, 2); Pad2.setRotationPoint(-0.5F, 9.4F, -1.5F); setRotation(Pad2, -0.0743572F, 0F, 0F); Pad3 = new ModelRenderer(this, 110, 39); Pad3.addBox(-2F, 0F, 0F, 5, 1, 4); Pad3.setRotationPoint(-1F, 9.5F, 0.2F); setRotation(Pad3, -0.0650564F, 0F, 0F); Pad4 = new ModelRenderer(this, 110, 48); Pad4.addBox(-1.5F, 0F, 0F, 3, 1, 1); Pad4.setRotationPoint(-0.5F, 9.8F, 4.1F); setRotation(Pad4, -0.0650564F, 0F, 0F); PadPart1 = new ModelRenderer(this, 110, 29); PadPart1.addBox(-0.5F, 0F, 0F, 1, 1, 1); PadPart1.setRotationPoint(1F, 9.23F, -3.5F); setRotation(PadPart1, -0.0650564F, 0F, 0F); PadPart2 = new ModelRenderer(this, 110, 29); PadPart2.addBox(-0.5F, 0F, 0F, 1, 1, 1); PadPart2.setRotationPoint(-2F, 9.2F, -3.5F); setRotation(PadPart2, -0.0650564F, 0F, 0F); Rope1 = new ModelRenderer(this, 105, 32); Rope1.addBox(0F, 0F, -0.5F, 1, 4, 1); Rope1.setRotationPoint(1.8F, 9.6F, 0F); setRotation(Rope1, 0F, 0F, 0F); Metal1 = new ModelRenderer(this, 102, 39); Metal1.addBox(0F, 0F, -1F, 1, 1, 2); Metal1.setRotationPoint(1.8F, 13.6F, 0F); setRotation(Metal1, 0F, 0F, 0F); Rope2 = new ModelRenderer(this, 105, 32); Rope2.addBox(-1F, 0F, -0.5F, 1, 4, 1); Rope2.setRotationPoint(-2.8F, 9.6F, 0F); setRotation(Rope2, 0F, 0F, 0F); Metal2 = new ModelRenderer(this, 102, 39); Metal2.addBox(0F, 0F, -1F, 1, 1, 2); Metal2.setRotationPoint(-3.8F, 13.6F, 0F); setRotation(Metal2, 0F, 0F, 0F); Seat1 = new ModelRenderer(this, 100, 45); Seat1.addBox(-1F, 0F, 0F, 2, 1, 1); Seat1.setRotationPoint(-0.5F, 8.7F, -1.5F); setRotation(Seat1, -0.0650484F, 0F, 0F); Seat2 = new ModelRenderer(this, 100, 49); Seat2.addBox(-2F, 0F, 0F, 4, 1, 1); Seat2.setRotationPoint(-0.5F, 9F, 3.2F); setRotation(Seat2, -0.0650484F, 0F, 0F); Head.addChild(Nose); Head.addChild(Ear1); Head.addChild(Ear2); LeftHindLeg1.addChild(LeftHindLeg2); RightHindLeg1.addChild(RightHindLeg2); LeftHindLeg2.addChild(LeftHindLeg3); RightHindLeg2.addChild(RightHindLeg3); Mane1.addChild(Mane2); Mane1.addChild(Neck); Tail1.addChild(Tail2); Tail2.addChild(Tail3); //Ears\\ RightEarPart1 = new ModelRenderer(this, 18, 60); RightEarPart1.addBox(-1F, -1F, -1F, 1, 1, 4); RightEarPart1.setRotationPoint(-1.5F, 1.5F, -5F); RightEarPart1.setTextureSize(256, 128); setRotation(RightEarPart1, 0.0346075F, -0.3346075F, 0F); RightEarPart2 = new ModelRenderer(this, 15, 66); RightEarPart2.addBox(-1F, -1F, 0F, 2, 2, 6); RightEarPart2.setRotationPoint(-0.5F, -0.5F, 0F); RightEarPart2.setTextureSize(256, 128); setRotation(RightEarPart2, 0.3346075F, -0.0346075F, 0F); RightEarPart3 = new ModelRenderer(this, 16, 75); RightEarPart3.addBox(-0.5F, -0.5F, 0F, 1, 1, 6); RightEarPart3.setRotationPoint(-0.5F, 0F, 4F); RightEarPart3.setTextureSize(256, 128); setRotation(RightEarPart3, 0.0346075F, 0.4115358F, 0.0743572F); LeftEarPart1 = new ModelRenderer(this, 18, 60); LeftEarPart1.addBox(-1F, -1F, -1F, 1, 1, 4); LeftEarPart1.setRotationPoint(3.5F, 1.5F, -5F); LeftEarPart1.setTextureSize(256, 128); setRotation(LeftEarPart1, 0.3346075F, 0.3346145F, 0F); LeftEarPart2 = new ModelRenderer(this, 15, 66); LeftEarPart2.addBox(-1F, -1F, 0F, 2, 2, 6); LeftEarPart2.setRotationPoint(-0.5F, -0.5F, 0F); LeftEarPart2.setTextureSize(256, 128); setRotation(LeftEarPart2, 0.0346075F, 0.0346145F, 0F); LeftEarPart3 = new ModelRenderer(this, 16, 75); LeftEarPart3.addBox(-0.5F, -0.5F, 0F, 1, 1, 6); LeftEarPart3.setRotationPoint(0.5F, 0F, 4F); LeftEarPart3.setTextureSize(256, 128); setRotation(LeftEarPart3, 0.0346145F, -0.411544F, -0.074351F); Throat = new ModelRenderer(this, 0, 0); Throat.addBox(-2F, -3F, -9F, 6, 5, 6); Throat.setRotationPoint(-1F, 7.7F, -11F); Throat.setTextureOffset(256, 128); setRotation(Throat, -0.2288904F, 0F, 0F); UpSection = new ModelRenderer(this, 25, 0); UpSection.addBox(-2F, -2.5F, -9F, 7, 7, ; UpSection.setRotationPoint(-1.5F, 7F, -6F); UpSection.setTextureSize(256, 128); setRotation(UpSection, -0.1917118F, 0F, 0F); MidSection = new ModelRenderer(this, 56, 0); MidSection.addBox(-2F, -2.5F, 0F, 6, 6, 9); MidSection.setRotationPoint(-1F, 7.5F, -8F); MidSection.setTextureSize(256, 128); setRotation(MidSection, -0.0429974F, 0F, 0F); Pelvis = new ModelRenderer(this, 87, 0); Pelvis.addBox(-2F, -2.5F, 0F, 6, 6, 7); Pelvis.setRotationPoint(-1F, 7.8F, 0F); Pelvis.setTextureSize(256, 128); setRotation(Pelvis, 0F, 0F, 0F); TailPart1 = new ModelRenderer(this, 114, 0); TailPart1.addBox(-1F, -1F, 0F, 2, 2, 11); TailPart1.setRotationPoint(0F, 7F, 6F); TailPart1.setTextureOffset(256, 128); setRotation(TailPart1, -0.3346075F, 0F, 0F); TailPart2 = new ModelRenderer(this, 141, 0); TailPart2.addBox(-1F, -1F, 0F, 2, 2, 11); TailPart2.setRotationPoint(0F, -0.2F, 10F); TailPart2.setTextureSize(256, 128); setRotation(TailPart2, -0.3948578F, 0F, 0F); TailPart3 = new ModelRenderer(this, 168, 0); TailPart3.addBox(-1F, -1F, 0F, 2, 2, 11); TailPart3.setRotationPoint(0F, 0F, 10.8F); TailPart3.setTextureSize(256, 128); setRotation(TailPart3, 0.2974289F, 0F, 0F); LeftHumerus = new ModelRenderer(this, 39, 16); LeftHumerus.addBox(0F, 0F, 0F, 3, 10, 4); LeftHumerus.setRotationPoint(1.5F, 4.7F, -12F); LeftHumerus.setTextureSize(256, 128); setRotation(LeftHumerus, 0.3869765F, 0F, 0F); LeftRadius = new ModelRenderer(this, 71, 16); LeftRadius.addBox(0F, 0F, 0F, 3, 11, 4); LeftRadius.setRotationPoint(0F, 8.0F, 0.45F); LeftRadius.setTextureSize(256, 128); setRotation(LeftRadius, -0.3869765F, 0F, 0F); LeftFClawRPart1 = new ModelRenderer(this, 0, 58); LeftFClawRPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftFClawRPart1.setRotationPoint(0F, 9.7F, 0F); LeftFClawRPart1.setTextureSize(256, 128); setRotation(LeftFClawRPart1, 0F, 0.5159687F, 0F); LeftFClawRPart2 = new ModelRenderer(this, 5, 58); LeftFClawRPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftFClawRPart2.setRotationPoint(0F, 0F, 0F); LeftFClawRPart2.setTextureSize(256, 128); setRotation(LeftFClawRPart2, 1.16093F, 0.0259717F, 0F); LeftFClawMPart1 = new ModelRenderer(this, 0, 58); LeftFClawMPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftFClawMPart1.setRotationPoint(1.5F, 9.7F, 0F); LeftFClawMPart1.setTextureSize(256, 128); setRotation(LeftFClawMPart1, 0F, 0F, 0F); LeftFClawMPart2 = new ModelRenderer(this, 5, 58); LeftFClawMPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftFClawMPart2.setRotationPoint(0F, 0F, 0F); LeftFClawMPart2.setTextureSize(256, 128); setRotation(LeftFClawMPart2, 1.16093F, 0F, 0F); LeftFClawLPart1 = new ModelRenderer(this, 0, 58); LeftFClawLPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftFClawLPart1.setRotationPoint(3F, 9.7F, 0F); LeftFClawLPart1.setTextureSize(256, 128); setRotation(LeftFClawLPart1, 0F, -0.5159717F, 0F); LeftFClawLPart2 = new ModelRenderer(this, 5, 58); LeftFClawLPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftFClawLPart2.setRotationPoint(0F, 0F, 0F); LeftFClawLPart2.setTextureSize(256, 128); setRotation(LeftFClawLPart2, 1.16093F, -0.0059717F, 0F); RightHumerus = new ModelRenderer(this, 55, 16); RightHumerus.addBox(-3F, 0F, 0F, 3, 10, 4); RightHumerus.setRotationPoint(-1.5F, 4.7F, -12F); RightHumerus.setTextureSize(256, 128); setRotation(RightHumerus, 0.3869765F, 0F, 0F); RightRadius = new ModelRenderer(this, 71, 16); RightRadius.addBox(-3F, 0F, 0F, 3, 11, 4); RightRadius.setRotationPoint(0F, 8.0F, 0.45F); RightRadius.setTextureSize(256, 128); setRotation(RightRadius, -0.3869765F, 0F, 0F); RightFClawRPart1 = new ModelRenderer(this, 0, 58); RightFClawRPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightFClawRPart1.setRotationPoint(-3F, 9.7F, 0F); RightFClawRPart1.setTextureSize(256, 128); setRotation(RightFClawRPart1, 0F, 0.5159687F, 0F); RightFClawRPart2 = new ModelRenderer(this, 5, 58); RightFClawRPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightFClawRPart2.setRotationPoint(0F, 0F, 0F); RightFClawRPart2.setTextureSize(256, 128); setRotation(RightFClawRPart2, 1.16093F, 0.0259717F, 0F); RightFClawMPart1 = new ModelRenderer(this, 0, 58); RightFClawMPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightFClawMPart1.setRotationPoint(-1.5F, 9.7F, 0F); RightFClawMPart1.setTextureSize(256, 128); setRotation(RightFClawMPart1, 0F, 0F, 0F); RightFClawMPart2 = new ModelRenderer(this, 5, 58); RightFClawMPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightFClawMPart2.setRotationPoint(0F, 0F, 0F); RightFClawMPart2.setTextureSize(256, 128); setRotation(RightFClawMPart2, 1.16093F, 0F, 0F); RightFClawLPart1 = new ModelRenderer(this, 0, 58); RightFClawLPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightFClawLPart1.setRotationPoint(0F, 9.7F, 0F); RightFClawLPart1.setTextureSize(256, 128); setRotation(RightFClawLPart1, 0F, -0.5159717F, 0F); RightFClawLPart2 = new ModelRenderer(this, 5, 58); RightFClawLPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightFClawLPart2.setRotationPoint(0F, 0F, 0F); RightFClawLPart2.setTextureSize(256, 128); setRotation(RightFClawLPart2, 1.16093F, -0.0059717F, 0F); LeftFemur = new ModelRenderer(this, 19, 16); LeftFemur.addBox(0F, 0F, 0F, 3, 8, 6); LeftFemur.setRotationPoint(1.5F, 5.7F, 0F); LeftFemur.setTextureSize(256, 128); setRotation(LeftFemur, 0F, 0F, 0F); LeftTibia = new ModelRenderer(this, 0, 31); LeftTibia.addBox(0F, 0F, 0F, 3, 3, 9); LeftTibia.setRotationPoint(0F, 7.7F, 0F); LeftTibia.setTextureSize(256, 128); setRotation(LeftTibia, 0F, 0F, 0F); LeftMetatarsus = new ModelRenderer(this, 0, 44); LeftMetatarsus.addBox(0F, 0F, 0F, 3, 10, 3); LeftMetatarsus.setRotationPoint(0F, -0.02F, 8F); LeftMetatarsus.setTextureSize(256, 128); setRotation(LeftMetatarsus, -0.1289922F, 0F, 0F); LeftClawRPart1 = new ModelRenderer(this, 0, 58); LeftClawRPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftClawRPart1.setRotationPoint(0F, 9F, 0F); LeftClawRPart1.setTextureSize(256, 128); setRotation(LeftClawRPart1, 0F, 0.5159687F, 0F); LeftClawRPart2 = new ModelRenderer(this, 5, 58); LeftClawRPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftClawRPart2.setRotationPoint(0F, 0F, 0F); LeftClawRPart2.setTextureSize(256, 128); setRotation(LeftClawRPart2, 1.16093F, -0.0259717F, 0F); LeftClawMPart1 = new ModelRenderer(this, 0, 58); LeftClawMPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftClawMPart1.setRotationPoint(1.5F, 9F, 0F); LeftClawMPart1.setTextureSize(256, 128); setRotation(LeftClawMPart1, 0F, 0F, 0F); LeftClawMPart2 = new ModelRenderer(this, 5, 58); LeftClawMPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftClawMPart2.setRotationPoint(0F, 0F, 0F); LeftClawMPart2.setTextureSize(256, 128); setRotation(LeftClawMPart2, 1.16093F, 0F, 0F); LeftClawLPart1 = new ModelRenderer(this, 0, 58); LeftClawLPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftClawLPart1.setRotationPoint(3F, 9F, 0F); LeftClawLPart1.setTextureSize(256, 128); setRotation(LeftClawLPart1, 0F, -0.5159717F, 0F); LeftClawLPart2 = new ModelRenderer(this, 5, 58); LeftClawLPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftClawLPart2.setRotationPoint(0F, 0F, 0F); LeftClawLPart2.setTextureSize(256, 128); setRotation(LeftClawLPart2, 1.16093F, 0.0059717F, 0F); RightFemur = new ModelRenderer(this, 0, 16); RightFemur.addBox(-2F, 0F, 0F, 3, 8, 6); RightFemur.setRotationPoint(-2.5F, 5.7F, 0F); RightFemur.setTextureSize(256, 128); setRotation(RightFemur, 0F, 0F, 0F); RightTibia = new ModelRenderer(this, 0, 31); RightTibia.addBox(-2F, 0F, 0F, 3, 3, 9); RightTibia.setRotationPoint(0F, 7.7F, 0F); RightTibia.setTextureSize(256, 128); setRotation(RightTibia, 0F, 0F, 0F); RightMetatarsus = new ModelRenderer(this, 0, 44); RightMetatarsus.addBox(-2F, 0F, 0F, 3, 10, 3); RightMetatarsus.setRotationPoint(0F, -0.02F, 8F); RightMetatarsus.setTextureSize(256, 128); setRotation(RightMetatarsus, -0.1289922F, 0F, 0F); RightClawRPart1 = new ModelRenderer(this, 0, 58); RightClawRPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightClawRPart1.setRotationPoint(-2F, 9F, 0F); RightClawRPart1.setTextureSize(256, 128); setRotation(RightClawRPart1, 0F, 0.5159687F, 0F); RightClawRPart2 = new ModelRenderer(this, 5, 58); RightClawRPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightClawRPart2.setRotationPoint(0F, 0F, 0F); RightClawRPart2.setTextureSize(256, 128); setRotation(RightClawRPart2, 1.16093F, -0.0259717F, 0F); RightClawMPart1 = new ModelRenderer(this, 0, 58); RightClawMPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightClawMPart1.setRotationPoint(-0.5F, 9F, 0F); RightClawMPart1.setTextureSize(256, 128); setRotation(RightClawMPart1, 0F, 0F, 0F); RightClawMPart2 = new ModelRenderer(this, 5, 58); RightClawMPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightClawMPart2.setRotationPoint(0F, 0F, 0F); RightClawMPart2.setTextureSize(256, 128); setRotation(RightClawMPart2, 1.16093F, 0F, 0F); RightClawLPart1 = new ModelRenderer(this, 0, 58); RightClawLPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightClawLPart1.setRotationPoint(1F, 9F, 0F); RightClawLPart1.setTextureSize(256, 128); setRotation(RightClawLPart1, 0F, -0.5159717F, 0F); RightClawLPart2 = new ModelRenderer(this, 5, 58); RightClawLPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightClawLPart2.setRotationPoint(0F, 0F, 0F); RightClawLPart2.setTextureSize(256, 128); setRotation(RightClawLPart2, 1.16093F, 0.0059717F, 0F); //Top Jaw\\ TopJawCenter = new ModelRenderer(this, 56, 38); TopJawCenter.addBox(-0.5F, 0F, -7.4F, 2, 1, ; TopJawCenter.setRotationPoint(0.5F, -2.5F, -9F); TopJawCenter.setTextureSize(256, 128); setRotation(TopJawCenter, 0.2288904F, 0F, 0F); LeftTopJaw = new ModelRenderer(this, 39, 50); LeftTopJaw.addBox(0F, 0F, -9F, 1, 2, 9); LeftTopJaw.setRotationPoint(3F, 0F, 0F); LeftTopJaw.setTextureSize(256, 128); setRotation(LeftTopJaw, 0F, 0.3346075F, 0F); LeftTopTeeth = new ModelRenderer(this, 61, 50); LeftTopTeeth.addBox(0.5F, 0F, -9.3F, 0, 1, 5); LeftTopTeeth.setRotationPoint(0F, 2F, 0F); LeftTopTeeth.setTextureSize(256, 128); setRotation(LeftTopTeeth, 0F, -0.0346145F, 0F); RightTopJaw = new ModelRenderer(this, 39, 63); RightTopJaw.addBox(-1F, 0F, -9F, 1, 2, 9); RightTopJaw.setRotationPoint(-2F, 0F, 0F); RightTopJaw.setTextureSize(256, 128); setRotation(RightTopJaw, 0F, -0.3346075F, 0F); RightTopTeeth = new ModelRenderer(this, 61, 50); RightTopTeeth.addBox(-0.5F, 0F, -9.3F, 0, 1, 5); RightTopTeeth.setRotationPoint(0F, 2F, 0F); RightTopTeeth.setTextureSize(256, 128); setRotation(RightTopTeeth, 0F, 0.0346075F, 0F); TopJawPart1 = new ModelRenderer(this, 38, 40); TopJawPart1.addBox(-1F, 0F, -5.7F, 2, 1, 6); TopJawPart1.setRotationPoint(-1F, 0F, 0F); TopJawPart1.setTextureSize(256, 128); setRotation(TopJawPart1, 0F, -0.3346075F, 0F); TopJawPart2 = new ModelRenderer(this, 38, 40); TopJawPart2.addBox(-1F, 0F, -5.7F, 2, 1, 6); TopJawPart2.setRotationPoint(2F, 0F, 0F); TopJawPart2.setTextureSize(256, 128); setRotation(TopJawPart2, 0F, 0.3346145F, 0F); //BottomJaw\\ BottomJawCenter = new ModelRenderer(this, 0, 109); BottomJawCenter.addBox(-0.5F, 0F, -7.2F, 2, 1, ; BottomJawCenter.setRotationPoint(0.5F, 1.5F, -8F); BottomJawCenter.setTextureSize(256, 128); setRotation(BottomJawCenter, 0.2288904F, 0F, 0F); LeftBottomJaw = new ModelRenderer(this, 0, 84); LeftBottomJaw.addBox(0F, 0F, -9F, 1, 2, 9); LeftBottomJaw.setRotationPoint(3F, -1.1F, 0F); LeftBottomJaw.setTextureSize(256, 128); setRotation(LeftBottomJaw, 0F, 0.3346075F, 0F); LeftBottomTeeth = new ModelRenderer(this, 21, 93); LeftBottomTeeth.addBox(0.5F, 0F, -9.3F, 0, 1, 5); LeftBottomTeeth.setRotationPoint(0.5F, -1.2F, 0F); LeftBottomTeeth.setTextureSize(256, 128); setRotation(LeftBottomTeeth, 0, 0.0346145F, 0F); RightBottomJaw = new ModelRenderer(this, 0, 97); RightBottomJaw.addBox(-1F, 0F, -9F, 1, 2, 9); RightBottomJaw.setRotationPoint(-2F, -1.1F, 0F); RightBottomJaw.setTextureSize(256, 128); setRotation(RightBottomJaw, 0, -0.3346075F, 0F); RightBottomTeeth = new ModelRenderer(this, 21, 93); RightBottomTeeth.addBox(-0.5F, 0F, -9.3F, 0, 1, 5); RightBottomTeeth.setRotationPoint(-0.5F,-1.2F, 0F); RightBottomTeeth.setTextureSize(256, 128); setRotation(RightBottomTeeth, 0, -0.0346075F, 0F); BottomJawPart1 = new ModelRenderer(this, 21, 84); BottomJawPart1.addBox(-1F, 0F, -6.5F, 2, 1, 7); BottomJawPart1.setRotationPoint(-1F, 0F, 0F); BottomJawPart1.setTextureSize(256, 128); setRotation(BottomJawPart1, 0, -0.3346075F, 0F); BottomJawPart2 = new ModelRenderer(this, 21, 84); BottomJawPart2.addBox(-1F, 0F, -6.5F, 2, 1, 7); BottomJawPart2.setRotationPoint(2F, 0F, 0F); BottomJawPart2.setTextureSize(256, 128); setRotation(BottomJawPart2, 0, 0.3346075F, 0F); EPad1 = new ModelRenderer(this, 110, 32); EPad1.addBox(-2F, 0F, 0F, 4, 1, 1); EPad1.setRotationPoint(0F, 4.5F, -5.5F); EPad1.setTextureSize(256, 128); setRotation(EPad1, 0F, 0F, 0F); EPad2 = new ModelRenderer(this, 110, 35); EPad2.addBox(-3F, 0F, 0F, 6, 1, 2); EPad2.setRotationPoint(0F, 4.5F, -4.5F); EPad2.setTextureSize(256, 128); setRotation(EPad2, 0F, 0F, 0F); EPad3 = new ModelRenderer(this, 110, 39); EPad3.addBox(-2F, 0F, 0F, 5, 1, 4); EPad3.setRotationPoint(-0.5F, 4.5F, -2.8F); EPad3.setTextureSize(256, 128); setRotation(EPad3, 0F, 0F, 0F); EPad4 = new ModelRenderer(this, 110, 48); EPad4.addBox(-1.5F, 0F, 0F, 3, 1, 1); EPad4.setRotationPoint(0F, 4.5F, 1.1F); EPad4.setTextureSize(256, 128); setRotation(EPad4, 0F, 0F, 0F); EPadPart1 = new ModelRenderer(this, 110, 29); EPadPart1.addBox(-0.5F, 0F, 0F, 1, 1, 1); EPadPart1.setRotationPoint(1.5F, 4.5F, -6.5F); EPadPart1.setTextureSize(256, 128); setRotation(EPadPart1, 0F, 0F, 0F); EPadPart2 = new ModelRenderer(this, 110, 29); EPadPart2.addBox(-0.5F, 0F, 0F, 1, 1, 1); EPadPart2.setRotationPoint(-1.5F, 4.5F, -6.5F); EPadPart2.setTextureSize(256, 128); EPadPart2.mirror = true; setRotation(EPadPart2, 0F, 0F, 0F); ERope1 = new ModelRenderer(this, 105, 32); ERope1.addBox(0F, 0F, -0.5F, 1, 6, 1); ERope1.setRotationPoint(2.8F, 4.6F, -3F); ERope1.setTextureSize(256, 128); setRotation(ERope1, 0F, 0F, 0F); EMetal1 = new ModelRenderer(this, 102, 41); EMetal1.addBox(0F, 0F, -1F, 1, 1, 2); EMetal1.setRotationPoint(2.8F, 10.6F, -3F); EMetal1.setTextureSize(256, 128); setRotation(EMetal1, 0F, 0F, 0F); ERope2 = new ModelRenderer(this, 105, 32); ERope2.addBox(-1F, 0F, -0.5F, 1, 6, 1); ERope2.setRotationPoint(-2.8F, 4.6F, -3F); ERope2.setTextureSize(256, 128); setRotation(ERope2, 0F, 0F, 0F); EMetal2 = new ModelRenderer(this, 102, 41); EMetal2.addBox(-1F, 0F, -1F, 1, 1, 2); EMetal2.setRotationPoint(-2.8F, 10.6F, -3F); EMetal2.setTextureSize(256, 128); setRotation(EMetal2, 0F, 0F, 0F); ESeat1 = new ModelRenderer(this, 100, 45); ESeat1.addBox(-1F, 0F, 0F, 2, 1, 1); ESeat1.setRotationPoint(0F, 4F, -4.5F); ESeat1.setTextureSize(256, 128); setRotation(ESeat1, 0F, 0F, 0F); ESeat2 = new ModelRenderer(this, 100, 49); ESeat2.addBox(-2F, 0F, 0F, 4, 1, 1); ESeat2.setRotationPoint(0F, 4F, 0.2F); ESeat2.setTextureSize(256, 128); setRotation(ESeat2, 0F, 0F, 0F); //Head\\ this.Throat.addChild(TopJawCenter); this.Throat.addChild(BottomJawCenter); this.TopJawCenter.addChild(LeftEarPart1); this.TopJawCenter.addChild(RightEarPart1); this.TopJawCenter.addChild(TopJawPart1); this.TopJawCenter.addChild(TopJawPart2); this.TopJawCenter.addChild(LeftTopJaw); this.TopJawCenter.addChild(RightTopJaw); this.LeftTopJaw.addChild(LeftTopTeeth); this.RightTopJaw.addChild(RightTopTeeth); this.LeftEarPart1.addChild(LeftEarPart2); this.LeftEarPart2.addChild(LeftEarPart3); this.BottomJawCenter.addChild(BottomJawPart1); this.BottomJawCenter.addChild(BottomJawPart2); this.BottomJawCenter.addChild(LeftBottomJaw); this.BottomJawCenter.addChild(RightBottomJaw); this.LeftBottomJaw.addChild(LeftBottomTeeth); this.RightBottomJaw.addChild(RightBottomTeeth); this.RightEarPart1.addChild(RightEarPart2); this.RightEarPart2.addChild(RightEarPart3); //Front Legs\\ this.LeftHumerus.addChild(LeftRadius); this.LeftRadius.addChild(LeftFClawLPart1); this.LeftRadius.addChild(LeftFClawMPart1); this.LeftRadius.addChild(LeftFClawRPart1); this.LeftFClawLPart1.addChild(LeftFClawLPart2); this.LeftFClawMPart1.addChild(LeftFClawMPart2); this.LeftFClawRPart1.addChild(LeftFClawRPart2); this.RightHumerus.addChild(RightRadius); this.RightRadius.addChild(RightFClawLPart1); this.RightRadius.addChild(RightFClawMPart1); this.RightRadius.addChild(RightFClawRPart1); this.RightFClawLPart1.addChild(RightFClawLPart2); this.RightFClawMPart1.addChild(RightFClawMPart2); this.RightFClawRPart1.addChild(RightFClawRPart2); //Back Legs\\\ this.LeftFemur.addChild(LeftTibia); this.LeftTibia.addChild(LeftMetatarsus); this.LeftMetatarsus.addChild(LeftClawLPart1); this.LeftMetatarsus.addChild(LeftClawMPart1); this.LeftMetatarsus.addChild(LeftClawRPart1); this.LeftClawLPart1.addChild(LeftClawLPart2); this.LeftClawMPart1.addChild(LeftClawMPart2); this.LeftClawRPart1.addChild(LeftClawRPart2); this.RightFemur.addChild(RightTibia); this.RightTibia.addChild(RightMetatarsus); this.RightMetatarsus.addChild(RightClawLPart1); this.RightMetatarsus.addChild(RightClawMPart1); this.RightMetatarsus.addChild(RightClawRPart1); this.RightClawLPart1.addChild(RightClawLPart2); this.RightClawMPart1.addChild(RightClawMPart2); this.RightClawRPart1.addChild(RightClawRPart2); //Tail\\ this.TailPart1.addChild(TailPart2); this.TailPart2.addChild(TailPart3); } @Override public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { EntityZertumEntity entityzertum = (EntityZertumEntity)par1Entity; boolean flag = entityzertum.isSaddled(); super.render(par1Entity, par2, par3, par4, par5, par6, par7); this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); if(!entityzertum.hasEvolved()){ if (this.isChild) { float f6 = 2.0F; GL11.glPushMatrix(); GL11.glTranslatef(0.0F, 5.0F * par7, 6.0F * par7); Head.render(par7); GL11.glPopMatrix(); GL11.glPushMatrix(); GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); LeftHindLeg1.render(par7); RightHindLeg1.render(par7); Mane1.render(par7); RightLeg.render(par7); LeftLeg.render(par7); Tail1.render(par7); Torso.render(par7); GL11.glPopMatrix(); } else { GL11.glPushMatrix(); GL11.glScalef(1.5F, 1.5F, 1.5F); GL11.glTranslatef(0.0F, -0.5F, 0.0F); Head.render(par7); LeftHindLeg1.render(par7); RightHindLeg1.render(par7); Mane1.render(par7); RightLeg.render(par7); LeftLeg.render(par7); Tail1.render(par7); Torso.render(par7); GL11.glPopMatrix(); if(flag){ GL11.glPushMatrix(); GL11.glScalef(1.5F, 1.5F, 1.5F); GL11.glTranslatef(0.0F, -0.5F, 0.0F); Pad1.render(par7); Pad2.render(par7); Pad3.render(par7); Pad4.render(par7); PadPart1.render(par7); PadPart2.render(par7); Rope1.render(par7); Metal1.render(par7); Rope2.render(par7); Metal2.render(par7); Seat1.render(par7); Seat2.render(par7); GL11.glPopMatrix(); } } }else if(entityzertum.hasEvolved()){ if (this.isChild) { float f6 = 2.0F; GL11.glPushMatrix(); GL11.glTranslatef(0.0F, 5.0F * par7, 6.0F * par7); GL11.glPopMatrix(); Throat.render(par7); GL11.glPushMatrix(); UpSection.render(par7); MidSection.render(par7); Pelvis.render(par7); TailPart1.render(par7); LeftHumerus.render(par7); RightHumerus.render(par7); LeftFemur.render(par7); RightFemur.render(par7); GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); GL11.glPopMatrix(); } else { Throat.render(par7); UpSection.render(par7); MidSection.render(par7); Pelvis.render(par7); TailPart1.render(par7); LeftHumerus.render(par7); RightHumerus.render(par7); LeftFemur.render(par7); RightFemur.render(par7); } if(flag){ EPad1.render(par7); EPad2.render(par7); EPad3.render(par7); EPad4.render(par7); EPadPart1.render(par7); EPadPart2.render(par7); ERope1.render(par7); EMetal1.render(par7); ERope2.render(par7); EMetal2.render(par7); ESeat1.render(par7); ESeat2.render(par7); } } } /** * Used for easily adding entity-dependent animations. The second and third float params here are the same second * and third as in the setRotationAngles method. */ @Override public void setLivingAnimations(EntityLivingBase par1EntityLivingBase, float par2, float par3, float par4) { EntityZertumEntity entityzertum = (EntityZertumEntity)par1EntityLivingBase; float f11 = entityzertum.func_110201_q(par4); if (entityzertum.isAngry()) { this.Ear1.rotateAngleX = -0.5948578F; this.Ear2.rotateAngleX = -0.5948578F; }else if (entityzertum.getHealth() <=10){ this.Ear1.rotateAngleX = -0.9948578F; this.Ear2.rotateAngleX = -0.9948578F; }else{ this.Ear1.rotateAngleX = 0.0F; this.Ear2.rotateAngleX = 0.0F; } if(!entityzertum.hasEvolved()){ if (entityzertum.isSitting()) //TODO { LeftHindLeg1.setRotationPoint(1.5F, 18F, 5F); LeftHindLeg1.rotateAngleX = -2.082003F; LeftHindLeg2.setRotationPoint(0F, 4F, 1.2F); LeftHindLeg2.rotateAngleX = 2.6205006F; LeftHindLeg3.setRotationPoint(0F, 3.55F, 0.2F); LeftHindLeg3.rotateAngleX = -0.5205006F; RightHindLeg1.setRotationPoint(-2.5F, 18F, 5F); RightHindLeg1.rotateAngleX = -2.082003F; RightHindLeg2.setRotationPoint(0F, 4F, 1.2F); RightHindLeg2.rotateAngleX = 2.6205006F; RightHindLeg3.setRotationPoint(0F, 3.55F, 0.2F); RightHindLeg3.rotateAngleX = -0.5205006F; Torso.setRotationPoint(-0.5F, 14F, 1F); Torso.rotateAngleX = 0.9759358F; Tail1.setRotationPoint(-1F, 18.5F, 5F); Tail1.rotateAngleX = 1.167248F; Tail2.rotateAngleX = 0.315962F; Tail3.rotateAngleX = 0.23333F; //Saddle\\ Pad1.setRotationPoint(-0.5F, 9.7F, -1.5F); setRotation(Pad1, -0.288128F, 0F, 0F); Pad2.setRotationPoint(-0.5F, 10F, -0.5F); setRotation(Pad2, -0.3346075F, 0F, 0F); Pad3.setRotationPoint(-1F, 10.7F, 1.4F); setRotation(Pad3, -0.5855569F, 0F, 0F); Pad4.setRotationPoint(-0.5F, 12.9F, 4.7F); setRotation(Pad4, -0.5948648F, 0F, 0F); PadPart1.setRotationPoint(1F, 9.6F, -2.4F); setRotation(PadPart1, -0.3624853F, 0F, 0F); PadPart2.setRotationPoint(-2F, 9.6F, -2.4F); setRotation(PadPart2, -0.3624874F, 0F, 0F); Rope1.setRotationPoint(1.8F, 10.6F, 1F); setRotation(Rope1, -0.3346075F, 0F, 0F); Metal1.setRotationPoint(1.8F, 14.2F, -0.3F); setRotation(Metal1, -0.3346145F, 0F, 0F); Rope2.setRotationPoint(-2.8F, 10.6F, 1F); setRotation(Rope2, -0.3346145F, 0F, 0F); Metal2.setRotationPoint(-3.8F, 13.6F, 0F); setRotation(Metal2, -0.3346145F, 0F, 0F); Seat1.setRotationPoint(-0.5F, 11.6F, 4.3F); setRotation(Seat1, -0.5483867F, 0F, 0F); Seat2.setRotationPoint(-0.5F, 8.9F, -1.2F); setRotation(Seat2, -0.2881364F, 0F, 0F); } else { LeftHindLeg1.setRotationPoint(1.5F, 13F, 5F); LeftHindLeg1.rotateAngleX = -0.2974289F; LeftHindLeg2.setRotationPoint(0F, 4.3F, -0.3F); LeftHindLeg2.rotateAngleX = leftTibia; LeftHindLeg3.setRotationPoint(0F, 3.55F, 0.2F); LeftHindLeg3.rotateAngleX = leftMetatarus; RightHindLeg1.setRotationPoint(-2.5F, 13F, 5F); RightHindLeg1.rotateAngleX = -0.2974289F; RightHindLeg2.setRotationPoint(0F, 4.3F, -0.3F); RightHindLeg2.rotateAngleX = rightTibia; RightHindLeg3.setRotationPoint(0F, 3.55F, 0.2F); RightHindLeg3.rotateAngleX = rightMetatarus; Torso.setRotationPoint(-0.5F, 12.5F, 1F); Torso.rotateAngleX = 1.496439F; Tail1.setRotationPoint(-1F, 14.3F, 6F); Tail1.rotateAngleX = 1.315962F; Tail2.setRotationPoint(0.5F, 6F, 0.5F); Tail2.rotateAngleX = -0.041605F; Tail3.setRotationPoint(0F, 6.5F, 0.5F); Tail3.rotateAngleX = 0.001605F; //Saddle\\ TODO Pad1.setRotationPoint(-0.5F, 9.3F, -2.5F); setRotation(Pad1, -0.0650564F, 0F, 0F); Pad2.setRotationPoint(-0.5F, 9.4F, -1.5F); setRotation(Pad2, -0.0743572F, 0F, 0F); Pad3.setRotationPoint(-1F, 9.5F, 0.2F); setRotation(Pad3, -0.0650564F, 0F, 0F); Pad4.setRotationPoint(-0.5F, 9.8F, 4.1F); setRotation(Pad4, -0.0650564F, 0F, 0F); PadPart1.setRotationPoint(1F, 9.23F, -3.5F); setRotation(PadPart1, -0.0650564F, 0F, 0F); PadPart2.setRotationPoint(-2F, 9.2F, -3.5F); setRotation(PadPart2, -0.0650564F, 0F, 0F); Rope1.setRotationPoint(1.8F, 9.6F, 0F); setRotation(Rope1, 0F, 0F, 0F); Metal1.setRotationPoint(1.8F, 13.6F, 0F); setRotation(Metal1, 0F, 0F, 0F); Rope2.setRotationPoint(-2.8F, 9.6F, 0F); setRotation(Rope2, 0F, 0F, 0F); Metal2.setRotationPoint(-3.8F, 13.6F, 0F); setRotation(Metal2, 0F, 0F, 0F); Seat1.setRotationPoint(-0.5F, 8.7F, -1.5F); setRotation(Seat1, -0.0650484F, 0F, 0F); Seat2.setRotationPoint(-0.5F, 9F, 3.2F); setRotation(Seat2, -0.0650484F, 0F, 0F); this.RightHindLeg1.rotateAngleX = rightFemur + MathHelper.cos(par2 * 0.4662F) * 1.4F * par3; this.LeftHindLeg1.rotateAngleX = leftFemur + MathHelper.cos(par2 * 0.4662F + (float)Math.PI) * 1.4F * par3; this.RightLeg.rotateAngleX = MathHelper.cos(par2 * 0.4662F + (float)Math.PI) * 1.4F * par3; this.LeftLeg.rotateAngleX = MathHelper.cos(par2 * 0.4662F) * 1.4F * par3; } }else if(entityzertum.hasEvolved()){ if (entityzertum.isSitting()) //TODO { MidSection.setRotationPoint(-1F, 7.5F, -8F); setRotation(MidSection, -0.3032477F, 0F, 0F); Pelvis.setRotationPoint(-1F, 9.8F, -1F); setRotation(Pelvis, -0.2974289F, 0F, 0F); TailPart1.setRotationPoint(0F, 11F, 6F); setRotation(TailPart1, -0.3346075F, 0F, 0F); TailPart2.setRotationPoint(0F, -0.2F, 10F); setRotation(TailPart2, -0.3948578F, 0F, 0F); TailPart3.setRotationPoint(0F, 0F, 10.8F); setRotation(TailPart3, 0.2974289F, 0F, 0F); LeftFemur.setRotationPoint(1.5F, 6.7F, 0F); LeftFemur.rotateAngleX = -0.3892433F; LeftTibia.setRotationPoint(0F, 7.5F, -0.2F); setRotation(LeftTibia, 0.3892433F, 0F, 0F); LeftMetatarsus.setRotationPoint(0F, 0F, 7.5F); setRotation(LeftMetatarsus, -0.1289922F, 0F, 0F); LeftClawRPart1.setRotationPoint(0F, 8.5F, 0F); setRotation(LeftClawRPart1, 0F, 0.5159687F, 0F); LeftClawRPart2.setRotationPoint(0F, 0F, 0F); setRotation(LeftClawRPart2, 1.16093F, -0.0259717F, 0F); LeftClawMPart1.setRotationPoint(1.5F, 8.5F, 0F); setRotation(LeftClawMPart1, 0F, 0F, 0F); LeftClawMPart2.setRotationPoint(0F, 0F, 0F); setRotation(LeftClawMPart2, 1.16093F, 0F, 0F); LeftClawLPart1.setRotationPoint(3F, 8.5F, 0F); setRotation(LeftClawLPart1, 0F, -0.5159717F, 0F); LeftClawLPart2.setRotationPoint(0F, 0F, 0F); setRotation(LeftClawLPart2, 1.16093F, 0.0059717F, 0F); RightFemur.setRotationPoint(-2.5F, 6.7F, 0F); RightFemur.rotateAngleX = -0.3892433F; RightTibia.setRotationPoint(0F, 7.5F, -0.2F); setRotation(RightTibia, 0.3892433F, 0F, 0F); RightMetatarsus.setRotationPoint(0F, 0F, 7.5F); setRotation(RightMetatarsus, -0.1289922F, 0F, 0F); RightClawRPart1.setRotationPoint(-2F, 8.5F, 0F); setRotation(RightClawRPart1, 0F, 0.5159687F, 0F); RightClawRPart2.setRotationPoint(0F, 0F, 0F); setRotation(RightClawRPart2, 1.16093F, -0.0259717F, 0F); RightClawMPart1.setRotationPoint(-0.5F, 8.5F, 0F); setRotation(RightClawMPart1, 0F, 0F, 0F); RightClawMPart2.setRotationPoint(0F, 0F, 0F); setRotation(RightClawMPart2, 1.16093F, 0F, 0F); RightClawLPart1.setRotationPoint(1F, 8.5F, 0F); setRotation(RightClawLPart1, 0F, -0.5159717F, 0F); RightClawLPart2.setRotationPoint(0F, 0F, 0F); setRotation(RightClawLPart2, 1.16093F, 0.0059717F, 0F); EPad1.setRotationPoint(0F, 4.7F, -5.5F); setRotation(EPad1, -0.2230717F, 0F, 0F); EPad2.setRotationPoint(0F, 5F, -4.5F); setRotation(EPad2, -0.2230717F, 0F, 0F); EPad3.setRotationPoint(-0.5F, 5.4F, -2.8F); setRotation(EPad3, -0.3346075F, 0F, 0F); EPad4.setRotationPoint(0F, 6.7F, 0.8F); setRotation(EPad4, -0.3346075F, 0F, 0F); EPadPart1.setRotationPoint(1.5F, 4.5F, -6.5F); setRotation(EPadPart1, -0.2230717F, 0F, 0F); EPadPart2.setRotationPoint(-1.5F, 4.5F, -6.5F); setRotation(EPadPart2, -0.2230717F, 0F, 0F); ERope1.setRotationPoint(2.8F, 5.6F, -3F); setRotation(ERope1, 0F, 0F, 0F); EMetal1.setRotationPoint(2.8F, 11.6F, -3F); setRotation(EMetal1, 0F, 0F, 0F); ERope2.setRotationPoint(-2.8F, 5.6F, -3F); setRotation(ERope2, 0F, 0F, 0F); EMetal2.setRotationPoint(-2.8F, 11.6F, -3F); setRotation(EMetal2, 0F, 0F, 0F); ESeat1.setRotationPoint(0F, 4.4F, -4.5F); setRotation(ESeat1, -0.2230717F, 0F, 0F); ESeat2.setRotationPoint(0F, 5.9F, 0.2F); setRotation(ESeat2, -0.3346075F, 0F, 0F); }else{ MidSection.setRotationPoint(-1F, 7.5F, -8F); setRotation(MidSection, -0.0429974F, 0F, 0F); Pelvis.setRotationPoint(-1F, 7.8F, 0F); setRotation(Pelvis, 0F, 0F, 0F); TailPart1.setRotationPoint(0F, 7F, 6F); setRotation(TailPart1, -0.3346075F, 0F, 0F); TailPart2.setRotationPoint(0F, -0.2F, 10F); setRotation(TailPart2, -0.3948578F, 0F, 0F); TailPart3.setRotationPoint(0F, 0F, 10.8F); setRotation(TailPart3, 0.2974289F, 0F, 0F); LeftFemur.setRotationPoint(1.5F, 5.7F, 0F); setRotation(LeftFemur, 0F, 0F, 0F); LeftTibia.setRotationPoint(0F, 7.7F, 0F); setRotation(LeftTibia, 0F, 0F, 0F); LeftMetatarsus.setRotationPoint(0F, -0.02F, 8F); setRotation(LeftMetatarsus, -0.1289922F, 0F, 0F); LeftClawRPart1.setRotationPoint(0F, 9F, 0F); setRotation(LeftClawRPart1, 0F, 0.5159687F, 0F); LeftClawRPart2.setRotationPoint(0F, 0F, 0F); setRotation(LeftClawRPart2, 1.16093F, -0.0259717F, 0F); LeftClawMPart1.setRotationPoint(1.5F, 9F, 0F); setRotation(LeftClawMPart1, 0F, 0F, 0F); LeftClawMPart2.setRotationPoint(0F, 0F, 0F); setRotation(LeftClawMPart2, 1.16093F, 0F, 0F); LeftClawLPart1.setRotationPoint(3F, 9F, 0F); setRotation(LeftClawLPart1, 0F, -0.5159717F, 0F); LeftClawLPart2.setRotationPoint(0F, 0F, 0F); setRotation(LeftClawLPart2, 1.16093F, 0.0059717F, 0F); RightFemur.setRotationPoint(-2.5F, 5.7F, 0F); RightFemur.rotateAngleX = 0F; RightTibia.setRotationPoint(0F, 7.7F, 0F); setRotation(RightTibia, 0F, 0F, 0F); RightMetatarsus.setRotationPoint(0F, -0.02F, 8F); setRotation(RightMetatarsus, -0.1289922F, 0F, 0F); RightClawRPart1.setRotationPoint(-2F, 9F, 0F); setRotation(RightClawRPart1, 0F, 0.5159687F, 0F); RightClawRPart2.setRotationPoint(0F, 0F, 0F); setRotation(RightClawRPart2, 1.16093F, -0.0259717F, 0F); RightClawMPart1.setRotationPoint(-0.5F, 9F, 0F); setRotation(RightClawMPart1, 0F, 0F, 0F); RightClawMPart2.setRotationPoint(0F, 0F, 0F); setRotation(RightClawMPart2, 1.16093F, 0F, 0F); RightClawLPart1.setRotationPoint(1F, 9F, 0F); setRotation(RightClawLPart1, 0F, -0.5159717F, 0F); RightClawLPart2.setRotationPoint(0F, 0F, 0F); setRotation(RightClawLPart2, 1.16093F, 0.0059717F, 0F); //Saddle\\ EPad1.setRotationPoint(0F, 4.5F, -5.5F); setRotation(EPad1, 0F, 0F, 0F); EPad2.setRotationPoint(0F, 4.5F, -4.5F); setRotation(EPad2, 0F, 0F, 0F); EPad3.setRotationPoint(-0.5F, 4.5F, -2.8F); setRotation(EPad3, 0F, 0F, 0F); EPad4.setRotationPoint(0F, 4.5F, 1.1F); setRotation(EPad4, 0F, 0F, 0F); EPadPart1.setRotationPoint(1.5F, 4.5F, -6.5F); setRotation(EPadPart1, 0F, 0F, 0F); EPadPart2.setRotationPoint(-1.5F, 4.5F, -6.5F); setRotation(EPadPart2, 0F, 0F, 0F); ERope1.setRotationPoint(2.8F, 4.6F, -3F); setRotation(ERope1, 0F, 0F, 0F); EMetal1.setRotationPoint(2.8F, 10.6F, -3F); setRotation(EMetal1, 0F, 0F, 0F); ERope2.setRotationPoint(-2.8F, 4.6F, -3F); setRotation(ERope2, 0F, 0F, 0F); EMetal2.setRotationPoint(-2.8F, 10.6F, -3F); setRotation(EMetal2, 0F, 0F, 0F); ESeat1.setRotationPoint(0F, 4F, -4.5F); setRotation(ESeat1, 0F, 0F, 0F); ESeat2.setRotationPoint(0F, 4F, 0.2F); setRotation(ESeat2, 0F, 0F, 0F); System.out.println("Is Spring? = " + entityzertum.isSprinting()); if(entityzertum.isSprinting()){ updateDistanceMovedTotal(par1EntityLivingBase); cycleIndex = (int) ((getDistanceMovedTotal(par1EntityLivingBase)*CYCLES_PER_BLOCK)%undulationCycle.length); //System.out.println("ModelZertum setRotationAngles(), distanceMoved ="+getDistanceMovedTotal(par7Entity)+", cycleIndex ="+cycleIndex); LeftFemur.rotateAngleX = degToRad(undulationCycle[cycleIndex][0]) ; }else{ this.RightHumerus.rotateAngleX = 0.3869765F + MathHelper.cos(par2 * 0.4962F) * 0.5F * par3; this.LeftHumerus.rotateAngleX = 0.3869765F + MathHelper.cos(par2 * 0.3962F + (float)Math.PI) * 0.5F * par3; this.RightFemur.rotateAngleX = MathHelper.cos(par2 * 0.4062F) * 0.5F * par3; this.LeftFemur.rotateAngleX = MathHelper.cos(par2 * 0.3362F + (float)Math.PI) * 0.5F * par3; } } } this.Head.rotateAngleZ = entityzertum.getInterestedAngle(par4) + entityzertum.getShakeAngle(par4, 0.0F); this.Mane1.rotateAngleZ = entityzertum.getShakeAngle(par4, -0.08F); this.Torso.rotateAngleZ = entityzertum.getShakeAngle(par4, -0.16F); this.Tail1.rotateAngleZ = entityzertum.getShakeAngle(par4, -0.32F); this.TopJawCenter.rotateAngleX = 0.2288904F - 0.45707964F * f11; this.BottomJawCenter.rotateAngleX = 0.2288904F + 0.45707964F * f11; } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } @Override public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); this.Head.rotateAngleX = par5 / (280F / (float)Math.PI); this.Head.rotateAngleY = par4 / (180F / (float)Math.PI); this.Neck.rotateAngleX = vertebrae + par5 / (280F / (float)Math.PI); this.Mane2.rotateAngleX = mane2StartingRotation + par5 / (280F / (float)Math.PI); this.Mane1.rotateAngleY = par4 / (180F / (float)Math.PI); } protected void updateDistanceMovedTotal(Entity parEntity) { distanceMovedTotal += parEntity.getDistance(parEntity.prevPosX, parEntity.prevPosY, parEntity.prevPosZ); } protected double getDistanceMovedTotal(Entity parEntity) { return (distanceMovedTotal); } protected float degToRad(float degrees) { return degrees * (float)Math.PI / 180 ; } }
  9. Woops, I just noticed that the new texture was not 256x128, it was a smaller size and it resulted in the messed up texturing.
  10. Still can't figure out why the collar textures aren't switching package common.zeroquest.client.renderer.entity.layers; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.entity.layers.LayerRenderer; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntitySheep; import net.minecraft.item.EnumDyeColor; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import common.zeroquest.client.renderer.entity.RenderZertum; import common.zeroquest.entity.EntityZertum; import common.zeroquest.lib.Constants; @SideOnly(Side.CLIENT) public class LayersZertum implements LayerRenderer { private static final ResourceLocation ZertumDyingTexture = new ResourceLocation(Constants.modid + ":" + "textures/entity/zertum/zertum_dying.png"); private static final ResourceLocation ZertumCollarTexture = new ResourceLocation(Constants.modid + ":" + "textures/entity/zertum/zertum_collar.png"); private static final ResourceLocation EvolvedZertumDyingTexture = new ResourceLocation(Constants.modid + ":" + "textures/entity/zertum/evo/zertum_dying.png"); private static final ResourceLocation EvolvedZertumCollarTexture = new ResourceLocation(Constants.modid + ":" + "textures/entity/zertum/evo/zertum_collar.png"); //private static final ResourceLocation ZertumSaddleTexture = new ResourceLocation(Constants.modid + ":" + "textures/entity/zertum/zertum_saddle.png"); private final RenderZertum field_177146_b; private static final String __OBFID = "CL_00002405"; public LayersZertum(RenderZertum p_177145_1_) { this.field_177146_b = p_177145_1_; } public void func_177145_a(EntityZertum entity, float par1, float par2, float par3, float par4, float par5, float par6, float par7) { if(!entity.hasEvolved()){ if (entity.isTamed() && !entity.isInvisible() && !entity.hasEvolved()) { this.field_177146_b.bindTexture(ZertumCollarTexture); EnumDyeColor enumdyecolor = EnumDyeColor.byMetadata(entity.getCollarColor().getMetadata()); float[] afloat = EntitySheep.func_175513_a(enumdyecolor); GlStateManager.color(afloat[0], afloat[1], afloat[2]); this.field_177146_b.getMainModel().render(entity, par1, par2, par4, par5, par6, par7); } if(entity.isTamed() && entity.getHealth() <=10 && !entity.isInvisible() && !entity.hasEvolved()){ this.field_177146_b.bindTexture(ZertumDyingTexture); GlStateManager.color(1f, 1f, 1f); this.field_177146_b.getMainModel().render(entity, par1, par2, par4, par5, par6, par7); } /*if (p_177145_1_.isSaddled()) { this.field_177146_b.bindTexture(ZertumSaddleTexture); GlStateManager.color(1f, 1f, 1f); this.field_177146_b.getMainModel().render(p_177145_1_, p_177145_2_, p_177145_3_, p_177145_5_, p_177145_6_, p_177145_7_, p_177145_8_); }*/ } else if(entity.hasEvolved()){ if (entity.isTamed() && !entity.isInvisible()) { this.field_177146_b.bindTexture(EvolvedZertumCollarTexture); EnumDyeColor enumdyecolor = EnumDyeColor.byMetadata(entity.getCollarColor().getMetadata()); float[] afloat = EntitySheep.func_175513_a(enumdyecolor); GlStateManager.color(afloat[0], afloat[1], afloat[2]); this.field_177146_b.getMainModel().render(entity, par1, par2, par4, par5, par6, par7); } if(entity.isTamed() && entity.getHealth() <=10 && !entity.isInvisible()){ this.field_177146_b.bindTexture(EvolvedZertumDyingTexture); GlStateManager.color(1f, 1f, 1f); this.field_177146_b.getMainModel().render(entity, par1, par2, par4, par5, par6, par7); } } } public boolean shouldCombineTextures() { return true; } public void doRenderLayer(EntityLivingBase entity, float par1, float par2, float par3, float par4, float par5, float par6, float par7) { this.func_177145_a((EntityZertum)entity, par1, par2, par3, par4, par5, par6, par7); } }
  11. It's still extremely choppy when testing out the animation, I even removed the other cycles and just left that one in (which causes the model not to move at all); and tried out the numbers you posted. Also, sometimes when the entity stops moving, it's leg gets stopped in mid animation. protected static final double CYCLES_PER_BLOCK = 1.5D; protected int cycleIndex = 0; protected float[][] undulationCycle = new float[][] { {-45, -32, -27, -22, -18, -15, -12, -9, -6, -3, 0, 3, 6, 9, 12, 15, 18, 22, 27, 32, 45, 32, 27, 22, 18, 15, 12, 9, 6, 3, 0, -3, -6, -9, -12, -15, -18, -22, -27, -32, -45}, {0, 3, 6, 9, 12, 15, 18, 22, 27, 32, 45, 32, 27, 22, 18, 15, 12, 9, 6, 3, 0, -3, -6, -9, -12, -15, -18, -22, -27, -32, -45}, {-45, -32, -27, -22, -18, -15, -12, -9, -6, -3, 0, 3, 6, 9, 12, 15, 18, 22, 27, 32, 45, 32, 27, 22, 18, 15, 12, 9, 6, 3, 0, -3, -6, -9, -12, -15, -18, -22, -27, -32, -45}, {0, 3, 6, 9, 12, 15, 18, 22, 27, 32, 45, 32, 27, 22, 18, 15, 12, 9, 6, 3, 0, -3, -6, -9, -12, -15, -18, -22, -27, -32, -45}, };
  12. Ok so, I created the cycle but I want it to be smoother like with the trigonometry methods. Here is the code so far: package common.zeroquest.client.renderer.entity.model; import common.zeroquest.entity.EntityZertumEntity; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.MathHelper; public class ModelZertum extends ModelBase { //fields ModelRenderer Throat; ModelRenderer UpSection; ModelRenderer MidSection; ModelRenderer Pelvis; ModelRenderer TailPart1; ModelRenderer TailPart2; ModelRenderer TailPart3; ModelRenderer LeftHumerus; ModelRenderer LeftRadius; ModelRenderer LeftFClawRPart1; ModelRenderer LeftFClawRPart2; ModelRenderer LeftFClawMPart1; ModelRenderer LeftFClawMPart2; ModelRenderer LeftFClawLPart1; ModelRenderer LeftFClawLPart2; ModelRenderer RightHumerus; ModelRenderer RightRadius; ModelRenderer RightFClawRPart1; ModelRenderer RightFClawRPart2; ModelRenderer RightFClawMPart1; ModelRenderer RightFClawMPart2; ModelRenderer RightFClawLPart1; ModelRenderer RightFClawLPart2; ModelRenderer LeftFemur; ModelRenderer LeftTibia; ModelRenderer LeftMetatarsus; ModelRenderer LeftClawRPart1; ModelRenderer LeftClawRPart2; ModelRenderer LeftClawLPart1; ModelRenderer LeftClawLPart2; ModelRenderer LeftClawMPart1; ModelRenderer LeftClawMPart2; ModelRenderer RightFemur; ModelRenderer RightTibia; ModelRenderer RightMetatarsus; ModelRenderer RightClawRPart1; ModelRenderer RightClawRPart2; ModelRenderer RightClawMPart1; ModelRenderer RightClawMPart2; ModelRenderer RightClawLPart1; ModelRenderer RightClawLPart2; ModelRenderer RightEarPart1; ModelRenderer LeftBottomJaw; ModelRenderer RightEarPart2; ModelRenderer BottomJawPart1; ModelRenderer RightEarPart3; ModelRenderer BottomJawPart2; ModelRenderer LeftEarPart1; ModelRenderer BottomJawCenter; ModelRenderer LeftEarPart2; ModelRenderer LeftTopTeeth; ModelRenderer LeftEarPart3; ModelRenderer LeftTopJaw; ModelRenderer LeftBottomTeeth; ModelRenderer RightTopTeeth; ModelRenderer RightBottomTeeth; ModelRenderer TopJawPart1; ModelRenderer TopJawPart2; ModelRenderer TopJawCenter; ModelRenderer RightTopJaw; ModelRenderer RightBottomJaw; // create an animation cycle // for movement based animations you need to measure distance moved // and perform number of cycles per block distance moved. protected double distanceMovedTotal = 0.0D; // don't make this too large or animations will be skipped protected static final double CYCLES_PER_BLOCK = 0.5D; protected int cycleIndex = 0; protected float[][] undulationCycle = new float[][] { { 0F, 5F, 10F, 0F, -5F, -10F, 0, 5F, 10F, 0F}, { 0F, 45F, -45F, -45F, 0F, 45F, 45F, 0F }, { -45F, 90F, 0F, -45F, -45F, 0F, 45F, 45F }, { -45F, 45F, 45F, 0F, -45F, -45F, 0F, 45F }, { 0F, -45F, 45F, 45F, 0F, -45F, -45F, 0F }, { 45F, -90F, 0F, 45F, 45F, 0F, -45F, -45F }, }; public ModelZertum() { textureWidth = 256; textureHeight = 128; //Ears\\ RightEarPart1 = new ModelRenderer(this, 18, 60); RightEarPart1.addBox(-1F, -1F, -1F, 1, 1, 4); RightEarPart1.setRotationPoint(-1.5F, 1.5F, -5F); RightEarPart1.setTextureSize(256, 128); setRotation(RightEarPart1, 0.0346075F, -0.3346075F, 0F); RightEarPart2 = new ModelRenderer(this, 15, 66); RightEarPart2.addBox(-1F, -1F, 0F, 2, 2, 6); RightEarPart2.setRotationPoint(-0.5F, -0.5F, 0F); RightEarPart2.setTextureSize(256, 128); setRotation(RightEarPart2, 0.3346075F, -0.0346075F, 0F); RightEarPart3 = new ModelRenderer(this, 16, 75); RightEarPart3.addBox(-0.5F, -0.5F, 0F, 1, 1, 6); RightEarPart3.setRotationPoint(-0.5F, 0F, 4F); RightEarPart3.setTextureSize(256, 128); setRotation(RightEarPart3, 0.0346075F, 0.4115358F, 0.0743572F); LeftEarPart1 = new ModelRenderer(this, 18, 60); LeftEarPart1.addBox(-1F, -1F, -1F, 1, 1, 4); LeftEarPart1.setRotationPoint(3.5F, 1.5F, -5F); LeftEarPart1.setTextureSize(256, 128); setRotation(LeftEarPart1, 0.3346075F, 0.3346145F, 0F); LeftEarPart2 = new ModelRenderer(this, 15, 66); LeftEarPart2.addBox(-1F, -1F, 0F, 2, 2, 6); LeftEarPart2.setRotationPoint(-0.5F, -0.5F, 0F); LeftEarPart2.setTextureSize(256, 128); setRotation(LeftEarPart2, 0.0346075F, 0.0346145F, 0F); LeftEarPart3 = new ModelRenderer(this, 16, 75); LeftEarPart3.addBox(-0.5F, -0.5F, 0F, 1, 1, 6); LeftEarPart3.setRotationPoint(0.5F, 0F, 4F); LeftEarPart3.setTextureSize(256, 128); setRotation(LeftEarPart3, 0.0346145F, -0.411544F, -0.074351F); Throat = new ModelRenderer(this, 0, 0); Throat.addBox(-2F, -3F, -9F, 6, 5, 6); Throat.setRotationPoint(-0.5F, 7.7F, -11F); Throat.setTextureOffset(256, 128); setRotation(Throat, -0.2288904F, 0F, 0F); UpSection = new ModelRenderer(this, 25, 0); UpSection.addBox(-2F, -2.5F, -9F, 7, 7, ; UpSection.setRotationPoint(0F, -0.5F, 2F); UpSection.setTextureOffset(256, 128); setRotation(UpSection, -0.1917118F, 0F, 0F); MidSection = new ModelRenderer(this, 56, 0); MidSection.addBox(-2F, -2.5F, 0F, 6, 6, 9); MidSection.setRotationPoint(-1F, 7.5F, -8F); MidSection.setTextureOffset(256, 128); setRotation(MidSection, -0.0429974F, 0F, 0F); Pelvis = new ModelRenderer(this, 87, 0); Pelvis.addBox(-2F, -2.5F, 0F, 6, 6, 7); Pelvis.setRotationPoint(0F, 0F, 8F); Pelvis.setTextureOffset(256, 128); setRotation(Pelvis, 0F, 0F, 0F); TailPart1 = new ModelRenderer(this, 114, 0); TailPart1.addBox(-1F, -1F, 0F, 2, 2, 11); TailPart1.setRotationPoint(0F, 7F, 6F); TailPart1.setTextureOffset(256, 128); setRotation(TailPart1, -0.3346075F, 0F, 0F); TailPart2 = new ModelRenderer(this, 141, 0); TailPart2.addBox(-1F, -1F, 0F, 2, 2, 11); TailPart2.setRotationPoint(0F, -0.2F, 10F); TailPart2.setTextureSize(256, 128); setRotation(TailPart2, -0.3948578F, 0F, 0F); TailPart3 = new ModelRenderer(this, 168, 0); TailPart3.addBox(-1F, -1F, 0F, 2, 2, 11); TailPart3.setRotationPoint(0F, 0F, 10.8F); TailPart3.setTextureSize(256, 128); setRotation(TailPart3, 0.2974289F, 0F, 0F); LeftHumerus = new ModelRenderer(this, 39, 16); LeftHumerus.addBox(0F, 0F, 0F, 3, 10, 4); LeftHumerus.setRotationPoint(1.5F, 4.7F, -12F); LeftHumerus.setTextureSize(256, 128); setRotation(LeftHumerus, 0.3869765F, 0F, 0F); LeftRadius = new ModelRenderer(this, 71, 16); LeftRadius.addBox(0F, 0F, 0F, 3, 11, 4); LeftRadius.setRotationPoint(0F, 8.0F, 0.45F); LeftRadius.setTextureSize(256, 128); setRotation(LeftRadius, -0.3869765F, 0F, 0F); LeftFClawRPart1 = new ModelRenderer(this, 0, 58); LeftFClawRPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftFClawRPart1.setRotationPoint(0F, 9.7F, 0F); LeftFClawRPart1.setTextureSize(256, 128); setRotation(LeftFClawRPart1, 0F, 0.5159687F, 0F); LeftFClawRPart2 = new ModelRenderer(this, 5, 58); LeftFClawRPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftFClawRPart2.setRotationPoint(0F, 0F, 0F); LeftFClawRPart2.setTextureSize(256, 128); setRotation(LeftFClawRPart2, 1.16093F, 0.0259717F, 0F); LeftFClawMPart1 = new ModelRenderer(this, 0, 58); LeftFClawMPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftFClawMPart1.setRotationPoint(1.5F, 9.7F, 0F); LeftFClawMPart1.setTextureSize(256, 128); setRotation(LeftFClawMPart1, 0F, 0F, 0F); LeftFClawMPart2 = new ModelRenderer(this, 5, 58); LeftFClawMPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftFClawMPart2.setRotationPoint(0F, 0F, 0F); LeftFClawMPart2.setTextureSize(256, 128); setRotation(LeftFClawMPart2, 1.16093F, 0F, 0F); LeftFClawLPart1 = new ModelRenderer(this, 0, 58); LeftFClawLPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftFClawLPart1.setRotationPoint(3F, 9.7F, 0F); LeftFClawLPart1.setTextureSize(256, 128); setRotation(LeftFClawLPart1, 0F, -0.5159717F, 0F); LeftFClawLPart2 = new ModelRenderer(this, 5, 58); LeftFClawLPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftFClawLPart2.setRotationPoint(0F, 0F, 0F); LeftFClawLPart2.setTextureSize(256, 128); setRotation(LeftFClawLPart2, 1.16093F, -0.0059717F, 0F); RightHumerus = new ModelRenderer(this, 55, 16); RightHumerus.addBox(-3F, 0F, 0F, 3, 10, 4); RightHumerus.setRotationPoint(-1.5F, 4.7F, -12F); RightHumerus.setTextureSize(256, 128); setRotation(RightHumerus, 0.3869765F, 0F, 0F); RightRadius = new ModelRenderer(this, 71, 16); RightRadius.addBox(-3F, 0F, 0F, 3, 11, 4); RightRadius.setRotationPoint(0F, 8.0F, 0.45F); RightRadius.setTextureSize(256, 128); setRotation(RightRadius, -0.3869765F, 0F, 0F); RightFClawRPart1 = new ModelRenderer(this, 0, 58); RightFClawRPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightFClawRPart1.setRotationPoint(-3F, 9.7F, 0F); RightFClawRPart1.setTextureSize(256, 128); setRotation(RightFClawRPart1, 0F, 0.5159687F, 0F); RightFClawRPart2 = new ModelRenderer(this, 5, 58); RightFClawRPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightFClawRPart2.setRotationPoint(0F, 0F, 0F); RightFClawRPart2.setTextureSize(256, 128); setRotation(RightFClawRPart2, 1.16093F, 0.0259717F, 0F); RightFClawMPart1 = new ModelRenderer(this, 0, 58); RightFClawMPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightFClawMPart1.setRotationPoint(-1.5F, 9.7F, 0F); RightFClawMPart1.setTextureSize(256, 128); setRotation(RightFClawMPart1, 0F, 0F, 0F); RightFClawMPart2 = new ModelRenderer(this, 5, 58); RightFClawMPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightFClawMPart2.setRotationPoint(0F, 0F, 0F); RightFClawMPart2.setTextureSize(256, 128); setRotation(RightFClawMPart2, 1.16093F, 0F, 0F); RightFClawLPart1 = new ModelRenderer(this, 0, 58); RightFClawLPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightFClawLPart1.setRotationPoint(0F, 9.7F, 0F); RightFClawLPart1.setTextureSize(256, 128); setRotation(RightFClawLPart1, 0F, -0.5159717F, 0F); RightFClawLPart2 = new ModelRenderer(this, 5, 58); RightFClawLPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightFClawLPart2.setRotationPoint(0F, 0F, 0F); RightFClawLPart2.setTextureSize(256, 128); setRotation(RightFClawLPart2, 1.16093F, -0.0059717F, 0F); LeftFemur = new ModelRenderer(this, 19, 16); LeftFemur.addBox(0F, 0F, 0F, 3, 8, 6); LeftFemur.setRotationPoint(1.5F, 5.7F, 0F); LeftFemur.setTextureSize(256, 128); setRotation(LeftFemur, 0F, 0F, 0F); LeftTibia = new ModelRenderer(this, 0, 31); LeftTibia.addBox(0F, 0F, 0F, 3, 3, 9); LeftTibia.setRotationPoint(0F, 7.7F, 0F); LeftTibia.setTextureSize(256, 128); setRotation(LeftTibia, 0F, 0F, 0F); LeftMetatarsus = new ModelRenderer(this, 0, 44); LeftMetatarsus.addBox(0F, 0F, 0F, 3, 10, 3); LeftMetatarsus.setRotationPoint(0F, -0.02F, 8F); LeftMetatarsus.setTextureSize(256, 128); setRotation(LeftMetatarsus, -0.1289922F, 0F, 0F); LeftClawRPart1 = new ModelRenderer(this, 0, 58); LeftClawRPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftClawRPart1.setRotationPoint(0F, 9F, 0F); LeftClawRPart1.setTextureSize(256, 128); setRotation(LeftClawRPart1, 0F, 0.5159687F, 0F); LeftClawRPart2 = new ModelRenderer(this, 5, 58); LeftClawRPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftClawRPart2.setRotationPoint(0F, 0F, 0F); LeftClawRPart2.setTextureSize(256, 128); setRotation(LeftClawRPart2, 1.16093F, -0.0259717F, 0F); LeftClawMPart1 = new ModelRenderer(this, 0, 58); LeftClawMPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftClawMPart1.setRotationPoint(1.5F, 9F, 0F); LeftClawMPart1.setTextureSize(256, 128); setRotation(LeftClawMPart1, 0F, 0F, 0F); LeftClawMPart2 = new ModelRenderer(this, 5, 58); LeftClawMPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftClawMPart2.setRotationPoint(0F, 0F, 0F); LeftClawMPart2.setTextureSize(256, 128); setRotation(LeftClawMPart2, 1.16093F, 0F, 0F); LeftClawLPart1 = new ModelRenderer(this, 0, 58); LeftClawLPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); LeftClawLPart1.setRotationPoint(3F, 9F, 0F); LeftClawLPart1.setTextureSize(256, 128); setRotation(LeftClawLPart1, 0F, -0.5159717F, 0F); LeftClawLPart2 = new ModelRenderer(this, 5, 58); LeftClawLPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); LeftClawLPart2.setRotationPoint(0F, 0F, 0F); LeftClawLPart2.setTextureSize(256, 128); setRotation(LeftClawLPart2, 1.16093F, 0.0059717F, 0F); RightFemur = new ModelRenderer(this, 0, 16); RightFemur.addBox(-2F, 0F, 0F, 3, 8, 6); RightFemur.setRotationPoint(-2.5F, 5.7F, 0F); RightFemur.setTextureSize(256, 128); setRotation(RightFemur, 0F, 0F, 0F); RightTibia = new ModelRenderer(this, 0, 31); RightTibia.addBox(-2F, 0F, 0F, 3, 3, 9); RightTibia.setRotationPoint(0F, 7.7F, 0F); RightTibia.setTextureSize(256, 128); setRotation(RightTibia, 0F, 0F, 0F); RightMetatarsus = new ModelRenderer(this, 0, 44); RightMetatarsus.addBox(-2F, 0F, 0F, 3, 10, 3); RightMetatarsus.setRotationPoint(0F, -0.02F, 8F); RightMetatarsus.setTextureSize(256, 128); setRotation(RightMetatarsus, -0.1289922F, 0F, 0F); RightClawRPart1 = new ModelRenderer(this, 0, 58); RightClawRPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightClawRPart1.setRotationPoint(-2F, 9F, 0F); RightClawRPart1.setTextureSize(256, 128); setRotation(RightClawRPart1, 0F, 0.5159687F, 0F); RightClawRPart2 = new ModelRenderer(this, 5, 58); RightClawRPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightClawRPart2.setRotationPoint(0F, 0F, 0F); RightClawRPart2.setTextureSize(256, 128); setRotation(RightClawRPart2, 1.16093F, -0.0259717F, 0F); RightClawMPart1 = new ModelRenderer(this, 0, 58); RightClawMPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightClawMPart1.setRotationPoint(-0.5F, 9F, 0F); RightClawMPart1.setTextureSize(256, 128); setRotation(RightClawMPart1, 0F, 0F, 0F); RightClawMPart2 = new ModelRenderer(this, 5, 58); RightClawMPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightClawMPart2.setRotationPoint(0F, 0F, 0F); RightClawMPart2.setTextureSize(256, 128); setRotation(RightClawMPart2, 1.16093F, 0F, 0F); RightClawLPart1 = new ModelRenderer(this, 0, 58); RightClawLPart1.addBox(-0.5F, 0F, -1F, 1, 1, 1); RightClawLPart1.setRotationPoint(1F, 9F, 0F); RightClawLPart1.setTextureSize(256, 128); setRotation(RightClawLPart1, 0F, -0.5159717F, 0F); RightClawLPart2 = new ModelRenderer(this, 5, 58); RightClawLPart2.addBox(-0.5F, -1F, -3.4F, 1, 1, 3); RightClawLPart2.setRotationPoint(0F, 0F, 0F); RightClawLPart2.setTextureSize(256, 128); setRotation(RightClawLPart2, 1.16093F, 0.0059717F, 0F); //Top Jaw\\ TopJawCenter = new ModelRenderer(this, 56, 38); TopJawCenter.addBox(-0.5F, 0F, -7.4F, 2, 1, ; TopJawCenter.setRotationPoint(0F, -2.5F, -9F); setRotation(TopJawCenter, 0.2288904F, 0F, 0F); LeftTopJaw = new ModelRenderer(this, 39, 50); LeftTopJaw.addBox(0F, 0F, -9F, 1, 2, 9); LeftTopJaw.setRotationPoint(3F, 0F, 0F); setRotation(LeftTopJaw, 0F, 0.3346075F, 0F); LeftTopTeeth = new ModelRenderer(this, 61, 50); LeftTopTeeth.addBox(0.5F, 0F, -9.3F, 0, 1, 5); LeftTopTeeth.setRotationPoint(0F, 2F, 0F); setRotation(LeftTopTeeth, 0F, -0.0346145F, 0F); RightTopJaw = new ModelRenderer(this, 39, 63); RightTopJaw.addBox(-1F, 0F, -9F, 1, 2, 9); RightTopJaw.setRotationPoint(-2F, 0F, 0F); setRotation(RightTopJaw, 0F, -0.3346075F, 0F); RightTopTeeth = new ModelRenderer(this, 61, 50); RightTopTeeth.addBox(-0.5F, 0F, -9.3F, 0, 1, 5); RightTopTeeth.setRotationPoint(0F, 2F, 0F); setRotation(RightTopTeeth, 0F, 0.0346075F, 0F); TopJawPart1 = new ModelRenderer(this, 38, 40); TopJawPart1.addBox(-1F, 0F, -5.7F, 2, 1, 6); TopJawPart1.setRotationPoint(-1F, 0F, 0F); setRotation(TopJawPart1, 0F, -0.3346075F, 0F); TopJawPart2 = new ModelRenderer(this, 38, 40); TopJawPart2.addBox(-1F, 0F, -5.7F, 2, 1, 6); TopJawPart2.setRotationPoint(2F, 0F, 0F); setRotation(TopJawPart2, 0F, 0.3346145F, 0F); //BottomJaw\\ BottomJawCenter = new ModelRenderer(this, 0, 109); BottomJawCenter.addBox(-0.5F, 0F, -7.2F, 2, 1, ; BottomJawCenter.setRotationPoint(0F, 1.5F, -8F); setRotation(BottomJawCenter, 0.2288904F, 0F, 0F); LeftBottomJaw = new ModelRenderer(this, 0, 84); LeftBottomJaw.addBox(0F, 0F, -9F, 1, 2, 9); LeftBottomJaw.setRotationPoint(3F, -1.1F, 0F); setRotation(LeftBottomJaw, 0F, 0.3346075F, 0F); LeftBottomTeeth = new ModelRenderer(this, 21, 93); LeftBottomTeeth.addBox(0.5F, 0F, -9.3F, 0, 1, 5); LeftBottomTeeth.setRotationPoint(0.5F, -1.2F, 0F); setRotation(LeftBottomTeeth, 0, 0.0346145F, 0F); RightBottomJaw = new ModelRenderer(this, 0, 97); RightBottomJaw.addBox(-1F, 0F, -9F, 1, 2, 9); RightBottomJaw.setRotationPoint(-2F, -1.1F, 0F); setRotation(RightBottomJaw, 0, -0.3346075F, 0F); RightBottomTeeth = new ModelRenderer(this, 21, 93); RightBottomTeeth.addBox(-0.5F, 0F, -9.3F, 0, 1, 5); RightBottomTeeth.setRotationPoint(-0.5F,-1.2F, 0F); setRotation(RightBottomTeeth, 0, -0.0346075F, 0F); BottomJawPart1 = new ModelRenderer(this, 21, 84); BottomJawPart1.addBox(-1F, 0F, -6.5F, 2, 1, 7); BottomJawPart1.setRotationPoint(-1F, 0F, 0F); setRotation(BottomJawPart1, 0, -0.3346075F, 0F); BottomJawPart2 = new ModelRenderer(this, 21, 84); BottomJawPart2.addBox(-1F, 0F, -6.5F, 2, 1, 7); BottomJawPart2.setRotationPoint(2F, 0F, 0F); setRotation(BottomJawPart2, 0, 0.3346075F, 0F); //Head\\ this.Throat.addChild(TopJawCenter); this.Throat.addChild(BottomJawCenter); this.TopJawCenter.addChild(LeftEarPart1); this.TopJawCenter.addChild(RightEarPart1); this.TopJawCenter.addChild(TopJawPart1); this.TopJawCenter.addChild(TopJawPart2); this.TopJawCenter.addChild(LeftTopJaw); this.TopJawCenter.addChild(RightTopJaw); this.LeftTopJaw.addChild(LeftTopTeeth); this.RightTopJaw.addChild(RightTopTeeth); this.LeftEarPart1.addChild(LeftEarPart2); this.LeftEarPart2.addChild(LeftEarPart3); this.BottomJawCenter.addChild(BottomJawPart1); this.BottomJawCenter.addChild(BottomJawPart2); this.BottomJawCenter.addChild(LeftBottomJaw); this.BottomJawCenter.addChild(RightBottomJaw); this.LeftBottomJaw.addChild(LeftBottomTeeth); this.RightBottomJaw.addChild(RightBottomTeeth); this.RightEarPart1.addChild(RightEarPart2); this.RightEarPart2.addChild(RightEarPart3); //Torso\\ this.MidSection.addChild(Pelvis); this.MidSection.addChild(UpSection); //Front Legs\\ this.LeftHumerus.addChild(LeftRadius); this.LeftRadius.addChild(LeftFClawLPart1); this.LeftRadius.addChild(LeftFClawMPart1); this.LeftRadius.addChild(LeftFClawRPart1); this.LeftFClawLPart1.addChild(LeftFClawLPart2); this.LeftFClawMPart1.addChild(LeftFClawMPart2); this.LeftFClawRPart1.addChild(LeftFClawRPart2); this.RightHumerus.addChild(RightRadius); this.RightRadius.addChild(RightFClawLPart1); this.RightRadius.addChild(RightFClawMPart1); this.RightRadius.addChild(RightFClawRPart1); this.RightFClawLPart1.addChild(RightFClawLPart2); this.RightFClawMPart1.addChild(RightFClawMPart2); this.RightFClawRPart1.addChild(RightFClawRPart2); //Back Legs\\\ this.LeftFemur.addChild(LeftTibia); this.LeftTibia.addChild(LeftMetatarsus); this.LeftMetatarsus.addChild(LeftClawLPart1); this.LeftMetatarsus.addChild(LeftClawMPart1); this.LeftMetatarsus.addChild(LeftClawRPart1); this.LeftClawLPart1.addChild(LeftClawLPart2); this.LeftClawMPart1.addChild(LeftClawMPart2); this.LeftClawRPart1.addChild(LeftClawRPart2); this.RightFemur.addChild(RightTibia); this.RightTibia.addChild(RightMetatarsus); this.RightMetatarsus.addChild(RightClawLPart1); this.RightMetatarsus.addChild(RightClawMPart1); this.RightMetatarsus.addChild(RightClawRPart1); this.RightClawLPart1.addChild(RightClawLPart2); this.RightClawMPart1.addChild(RightClawMPart2); this.RightClawRPart1.addChild(RightClawRPart2); //Tail\\ this.TailPart1.addChild(TailPart2); this.TailPart2.addChild(TailPart3); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f5, f, f1, f2, f3, f4, entity); Throat.render(f5); MidSection.render(f5); TailPart1.render(f5); LeftHumerus.render(f5); RightHumerus.render(f5); LeftFemur.render(f5); RightFemur.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } @Override public void setLivingAnimations(EntityLivingBase par1EntityLivingBase, float par2, float par3, float par4) { EntityZertumEntity entityzertum = (EntityZertumEntity)par1EntityLivingBase; float f11 = entityzertum.func_110201_q(par4); this.TopJawCenter.rotateAngleX = 0.2288904F - 0.45707964F * f11; this.BottomJawCenter.rotateAngleX = 0.2288904F + 0.45707964F * f11; } @Override public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); // animate if moving updateDistanceMovedTotal(par7Entity); cycleIndex = (int) ((getDistanceMovedTotal(par7Entity)*CYCLES_PER_BLOCK)%undulationCycle.length); //System.out.println("ModelZertum setRotationAngles(), distanceMoved ="+getDistanceMovedTotal(par7Entity)+", cycleIndex ="+cycleIndex); LeftFemur.rotateAngleX = degToRad(undulationCycle[cycleIndex][0]) ; //RightFemur.rotateAngleX = degToRad(undulationCycle[cycleIndex][1]) ; //LeftHumerus.rotateAngleX = degToRad(undulationCycle[cycleIndex][2]) ; //RightHumerus.rotateAngleX = degToRad(undulationCycle[cycleIndex][3]) ; } protected void updateDistanceMovedTotal(Entity parEntity) { distanceMovedTotal += parEntity.getDistance(parEntity.prevPosX, parEntity.prevPosY, parEntity.prevPosZ); } protected double getDistanceMovedTotal(Entity parEntity) { return (distanceMovedTotal); } protected float degToRad(float degrees) { return degrees * (float)Math.PI / 180 ; } }
  13. Yeah, especially since this new model has like, 30 pieces to it
  14. Oh wait! I just realized something. I already had a thing where when I was using the vanilla animation coding, I added my model's default angles to it, which left the model's angles unaffected by the math stuff
  15. Thanks, I'll try that and post my results
  16. Oh, I forgot to ask, is it possible to add the animation rotations without messing with the default rotations of my model? For instance, the legs of my creature are angled, so I want them to move but without missing up these angles.
  17. I'm not sure how to put which texture it switches to on the System.out.println(), also the difference between the textures is that one is 128x64 and the other is 256x128
  18. Ok, thanks for the tip! I'll post my results of it
  19. Is there a way to cycle between the animations, like to have one animation for walking and one for sprinting?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.