Posted January 2, 20187 yr Hello, I have been without Problems for quite a while, but now again, I Need to ask something. I was using packets in order to update Rendering. However, everytime the NetworkHandler is used, I get an exception. Although it doesn't Crash the game and the Messages are working, it is nasty to have and could cause bugs. Here is my Crash Report: Spoiler [17:29:47] [main/INFO] [FML]: Applying holder lookups [17:29:47] [main/INFO] [FML]: Holder lookups applied [17:29:47] [main/INFO] [zeldadungeons]: Loading - Arpg [17:29:47] [main/INFO] [zeldadungeons]: renderBlockzeldadungeons:pressure_switch [17:29:47] [main/INFO] [FML]: Injecting itemstacks [17:29:47] [main/INFO] [FML]: Itemstack injection complete [17:29:47] [main/INFO] [zeldadungeons]: PostInitialization - Arpg [17:29:47] [main/INFO] [FML]: Forge Mod Loader has successfully loaded 5 mods [17:29:47] [main/INFO]: Narrator library for x64 successfully loaded [17:29:50] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id [17:30:28] [main/INFO]: Deleting level New Worldd [17:30:28] [main/INFO]: Attempt 1... [17:30:41] [Server thread/INFO]: Starting integrated minecraft server version 1.12.2 [17:30:41] [Server thread/INFO]: Generating keypair [17:30:42] [Server thread/INFO] [FML]: Injecting existing registry data into this server instance [17:30:42] [Server thread/INFO] [FML]: Applying holder lookups [17:30:42] [Server thread/INFO] [FML]: Holder lookups applied [17:30:43] [Server thread/INFO] [FML]: Loading dimension 0 (world) (net.minecraft.server.integrated.IntegratedServer@74677987) [17:30:44] [Server thread/INFO]: Loaded 488 advancements [17:30:46] [Server thread/INFO] [FML]: Loading dimension 1 (world) (net.minecraft.server.integrated.IntegratedServer@74677987) [17:30:46] [Server thread/INFO] [FML]: Loading dimension -1 (world) (net.minecraft.server.integrated.IntegratedServer@74677987) [17:30:46] [Server thread/INFO]: Preparing start region for level 0 [17:30:47] [Server thread/INFO]: Preparing spawn area: 4% [17:30:48] [Server thread/INFO]: Preparing spawn area: 6% [17:30:49] [Server thread/INFO]: Preparing spawn area: 10% [17:30:50] [Server thread/INFO]: Preparing spawn area: 16% [17:30:51] [Server thread/INFO]: Preparing spawn area: 23% [17:30:52] [Server thread/INFO]: Preparing spawn area: 31% [17:30:53] [Server thread/INFO]: Preparing spawn area: 39% [17:30:54] [Server thread/INFO]: Preparing spawn area: 49% [17:30:55] [Server thread/INFO]: Preparing spawn area: 59% [17:30:56] [Server thread/INFO]: Preparing spawn area: 69% [17:30:57] [Server thread/INFO]: Preparing spawn area: 78% [17:30:58] [Server thread/INFO]: Preparing spawn area: 88% [17:30:59] [Server thread/INFO]: Preparing spawn area: 97% [17:31:00] [Server thread/INFO]: Changing view distance to 12, from 10 [17:31:04] [Server thread/ERROR] [FML]: FMLIndexedMessageCodec exception caught java.lang.NullPointerException: null at net.minecraftforge.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:135) ~[FMLOutboundHandler$OutboundTarget$4.class:?] at net.minecraftforge.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:297) ~[FMLOutboundHandler.class:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111) ~[MessageToMessageEncoder.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[DefaultChannelPipeline.class:4.1.9.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[AbstractChannel.class:4.1.9.Final] at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:249) [SimpleNetworkWrapper.class:?] at net.zeldadungeons.skill.SkillHealth.sendUpdatePackets(SkillHealth.java:93) [SkillHealth.class:?] at net.zeldadungeons.skill.SkillHealth.setPlayer(SkillHealth.java:87) [SkillHealth.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.setPlayer(PlayerLevels.java:56) [PlayerLevels.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.<init>(PlayerLevels.java:15) [PlayerLevels.class:?] at net.zeldadungeons.capability.CapabilityHandler.attachEntityCapability(CapabilityHandler.java:48) [CapabilityHandler.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_23_CapabilityHandler_attachEntityCapability_AttachCapabilitiesEvent.invoke(.dynamic) [?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:603) [ForgeEventFactory.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:579) [ForgeEventFactory.class:?] at net.minecraft.entity.Entity.<init>(Entity.java:266) [Entity.class:?] at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:203) [EntityLivingBase.class:?] at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:179) [EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:181) [EntityPlayerMP.class:?] at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:537) [PlayerList.class:?] at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:139) [NetHandlerLoginServer.class:?] at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:67) [NetHandlerLoginServer.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:307) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:196) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:863) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:741) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:590) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] [17:31:04] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.lang.NullPointerException: null at net.minecraftforge.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:135) ~[FMLOutboundHandler$OutboundTarget$4.class:?] at net.minecraftforge.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:297) ~[FMLOutboundHandler.class:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111) ~[MessageToMessageEncoder.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[DefaultChannelPipeline.class:4.1.9.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[AbstractChannel.class:4.1.9.Final] at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:249) [SimpleNetworkWrapper.class:?] at net.zeldadungeons.skill.SkillHealth.sendUpdatePackets(SkillHealth.java:93) [SkillHealth.class:?] at net.zeldadungeons.skill.SkillHealth.setPlayer(SkillHealth.java:87) [SkillHealth.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.setPlayer(PlayerLevels.java:56) [PlayerLevels.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.<init>(PlayerLevels.java:15) [PlayerLevels.class:?] at net.zeldadungeons.capability.CapabilityHandler.attachEntityCapability(CapabilityHandler.java:48) [CapabilityHandler.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_23_CapabilityHandler_attachEntityCapability_AttachCapabilitiesEvent.invoke(.dynamic) [?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:603) [ForgeEventFactory.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:579) [ForgeEventFactory.class:?] at net.minecraft.entity.Entity.<init>(Entity.java:266) [Entity.class:?] at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:203) [EntityLivingBase.class:?] at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:179) [EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:181) [EntityPlayerMP.class:?] at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:537) [PlayerList.class:?] at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:139) [NetHandlerLoginServer.class:?] at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:67) [NetHandlerLoginServer.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:307) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:196) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:863) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:741) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:590) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] [17:31:04] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.lang.NullPointerException: null at net.minecraftforge.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:135) ~[FMLOutboundHandler$OutboundTarget$4.class:?] at net.minecraftforge.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:297) ~[FMLOutboundHandler.class:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111) ~[MessageToMessageEncoder.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[DefaultChannelPipeline.class:4.1.9.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[AbstractChannel.class:4.1.9.Final] at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:249) [SimpleNetworkWrapper.class:?] at net.zeldadungeons.skill.SkillHealth.sendUpdatePackets(SkillHealth.java:93) [SkillHealth.class:?] at net.zeldadungeons.skill.SkillHealth.setPlayer(SkillHealth.java:87) [SkillHealth.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.setPlayer(PlayerLevels.java:56) [PlayerLevels.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.<init>(PlayerLevels.java:15) [PlayerLevels.class:?] at net.zeldadungeons.capability.CapabilityHandler.attachEntityCapability(CapabilityHandler.java:48) [CapabilityHandler.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_23_CapabilityHandler_attachEntityCapability_AttachCapabilitiesEvent.invoke(.dynamic) [?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:603) [ForgeEventFactory.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:579) [ForgeEventFactory.class:?] at net.minecraft.entity.Entity.<init>(Entity.java:266) [Entity.class:?] at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:203) [EntityLivingBase.class:?] at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:179) [EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:181) [EntityPlayerMP.class:?] at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:537) [PlayerList.class:?] at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:139) [NetHandlerLoginServer.class:?] at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:67) [NetHandlerLoginServer.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:307) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:196) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:863) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:741) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:590) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] [17:31:04] [Server thread/ERROR] [FML]: FMLIndexedMessageCodec exception caught java.lang.NullPointerException: null at net.minecraftforge.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:135) ~[FMLOutboundHandler$OutboundTarget$4.class:?] at net.minecraftforge.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:297) ~[FMLOutboundHandler.class:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111) ~[MessageToMessageEncoder.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[DefaultChannelPipeline.class:4.1.9.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[AbstractChannel.class:4.1.9.Final] at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:249) [SimpleNetworkWrapper.class:?] at net.zeldadungeons.skill.SkillStamina.sendUpdatePackets(SkillStamina.java:155) [SkillStamina.class:?] at net.zeldadungeons.skill.SkillStamina.setPlayer(SkillStamina.java:99) [SkillStamina.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.setPlayer(PlayerLevels.java:57) [PlayerLevels.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.<init>(PlayerLevels.java:15) [PlayerLevels.class:?] at net.zeldadungeons.capability.CapabilityHandler.attachEntityCapability(CapabilityHandler.java:48) [CapabilityHandler.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_23_CapabilityHandler_attachEntityCapability_AttachCapabilitiesEvent.invoke(.dynamic) [?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:603) [ForgeEventFactory.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:579) [ForgeEventFactory.class:?] at net.minecraft.entity.Entity.<init>(Entity.java:266) [Entity.class:?] at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:203) [EntityLivingBase.class:?] at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:179) [EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:181) [EntityPlayerMP.class:?] at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:537) [PlayerList.class:?] at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:139) [NetHandlerLoginServer.class:?] at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:67) [NetHandlerLoginServer.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:307) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:196) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:863) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:741) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:590) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] [17:31:04] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.lang.NullPointerException: null at net.minecraftforge.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:135) ~[FMLOutboundHandler$OutboundTarget$4.class:?] at net.minecraftforge.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:297) ~[FMLOutboundHandler.class:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111) ~[MessageToMessageEncoder.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[DefaultChannelPipeline.class:4.1.9.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[AbstractChannel.class:4.1.9.Final] at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:249) [SimpleNetworkWrapper.class:?] at net.zeldadungeons.skill.SkillStamina.sendUpdatePackets(SkillStamina.java:155) [SkillStamina.class:?] at net.zeldadungeons.skill.SkillStamina.setPlayer(SkillStamina.java:99) [SkillStamina.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.setPlayer(PlayerLevels.java:57) [PlayerLevels.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.<init>(PlayerLevels.java:15) [PlayerLevels.class:?] at net.zeldadungeons.capability.CapabilityHandler.attachEntityCapability(CapabilityHandler.java:48) [CapabilityHandler.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_23_CapabilityHandler_attachEntityCapability_AttachCapabilitiesEvent.invoke(.dynamic) [?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:603) [ForgeEventFactory.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:579) [ForgeEventFactory.class:?] at net.minecraft.entity.Entity.<init>(Entity.java:266) [Entity.class:?] at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:203) [EntityLivingBase.class:?] at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:179) [EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:181) [EntityPlayerMP.class:?] at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:537) [PlayerList.class:?] at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:139) [NetHandlerLoginServer.class:?] at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:67) [NetHandlerLoginServer.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:307) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:196) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:863) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:741) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:590) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] [17:31:04] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.lang.NullPointerException: null at net.minecraftforge.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:135) ~[FMLOutboundHandler$OutboundTarget$4.class:?] at net.minecraftforge.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:297) ~[FMLOutboundHandler.class:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111) ~[MessageToMessageEncoder.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[DefaultChannelPipeline.class:4.1.9.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[AbstractChannel.class:4.1.9.Final] at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:249) [SimpleNetworkWrapper.class:?] at net.zeldadungeons.skill.SkillStamina.sendUpdatePackets(SkillStamina.java:155) [SkillStamina.class:?] at net.zeldadungeons.skill.SkillStamina.setPlayer(SkillStamina.java:99) [SkillStamina.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.setPlayer(PlayerLevels.java:57) [PlayerLevels.class:?] at net.zeldadungeons.capability.playerlevels.PlayerLevels.<init>(PlayerLevels.java:15) [PlayerLevels.class:?] at net.zeldadungeons.capability.CapabilityHandler.attachEntityCapability(CapabilityHandler.java:48) [CapabilityHandler.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_23_CapabilityHandler_attachEntityCapability_AttachCapabilitiesEvent.invoke(.dynamic) [?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:603) [ForgeEventFactory.class:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:579) [ForgeEventFactory.class:?] at net.minecraft.entity.Entity.<init>(Entity.java:266) [Entity.class:?] at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:203) [EntityLivingBase.class:?] at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:179) [EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:181) [EntityPlayerMP.class:?] at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:537) [PlayerList.class:?] at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:139) [NetHandlerLoginServer.class:?] at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:67) [NetHandlerLoginServer.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:307) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:196) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:863) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:741) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:590) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] Jan 02, 2018 5:31:04 PM io.netty.channel.embedded.EmbeddedChannel recordException WARNING: More than one exception was raised. Will report only the first one and log others. java.lang.NullPointerException at net.minecraftforge.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:135) at net.minecraftforge.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:297) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111) at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:249) at net.zeldadungeons.skill.SkillStamina.sendUpdatePackets(SkillStamina.java:155) at net.zeldadungeons.skill.SkillStamina.setPlayer(SkillStamina.java:99) at net.zeldadungeons.capability.playerlevels.PlayerLevels.setPlayer(PlayerLevels.java:57) at net.zeldadungeons.capability.playerlevels.PlayerLevels.<init>(PlayerLevels.java:15) at net.zeldadungeons.capability.CapabilityHandler.attachEntityCapability(CapabilityHandler.java:48) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_23_CapabilityHandler_attachEntityCapability_AttachCapabilitiesEvent.invoke(.dynamic) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:603) at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:579) at net.minecraft.entity.Entity.<init>(Entity.java:266) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:203) at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:179) at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:181) at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:537) at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:139) at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:67) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:307) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:196) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:863) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:741) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:590) at java.lang.Thread.run(Thread.java:748) [17:31:05] [Netty Local Client IO #0/INFO] [FML]: Server protocol version 2 [17:31:06] [Netty Server IO #1/INFO] [FML]: Client protocol version 2 [17:31:06] [Netty Server IO #1/INFO] [FML]: Client attempting to join with 5 mods : [email protected],[email protected],[email protected],zeldadungeons@alpha 1.0,[email protected] [17:31:06] [Netty Local Client IO #0/INFO] [FML]: [Netty Local Client IO #0] Client side modded connection established [17:31:06] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established [17:31:06] [Server thread/INFO]: Player153[local:E:8fe151c0] logged in with entity id 2495 at (114.5, 70.0, 252.5) [17:31:06] [Server thread/INFO]: Player153 joined the game
January 2, 20187 yr Author This is my Packet Class package net.zeldadungeons.network.message; import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; import net.minecraftforge.fml.relauncher.Side; import net.zeldadungeons.client.gui.overlay.GuiOverlay; public class PacketHealthValues implements IMessage { public static HandlerPacketHealthValues handler = new HandlerPacketHealthValues(); private double maxHealth; private double currentHealth; private double share; private int level; public PacketHealthValues(double currentHealth, double maxHealth, int level, double share) { this.currentHealth = currentHealth; this.maxHealth = maxHealth; this.share = share; this.level = level; } public PacketHealthValues() { } @Override public void fromBytes(ByteBuf buf) { this.currentHealth = buf.readDouble(); this.maxHealth = buf.readDouble(); this.share = buf.readDouble(); this.level = buf.readInt(); } @Override public void toBytes(ByteBuf buf) { buf.writeDouble(currentHealth); buf.writeDouble(maxHealth); buf.writeDouble(share); buf.writeInt(level); } static class HandlerPacketHealthValues implements IMessageHandler<PacketHealthValues, IMessage> { @Override public IMessage onMessage(PacketHealthValues message, MessageContext ctx) { if (ctx.side == Side.CLIENT) { GuiOverlay.renderCurrentHealth = message.currentHealth; GuiOverlay.renderMaxHealth = message.maxHealth; /*Minecraft.getMinecraft().addScheduledTask(new Runnable() { public void run() { processMessage(message); } });*/ } return null; } void processMessage(PacketHealthValues message) { GuiOverlay.renderCurrentHealth = message.currentHealth; GuiOverlay.renderMaxHealth = message.maxHealth; } } } And this is my NetworkHandler: package net.zeldadungeons.network; import net.zeldadungeons.ZeldaDungeons; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import net.minecraftforge.fml.relauncher.Side; import net.zeldadungeons.network.message.PacketDemo; import net.zeldadungeons.network.message.PacketHealthValues; import net.zeldadungeons.network.message.PacketPressureSwitch; import net.zeldadungeons.network.message.PacketStaminaValues; public class NetworkHandler { private static SimpleNetworkWrapper INSTANCE; public static void init() { setInstance(NetworkRegistry.INSTANCE.newSimpleChannel(ZeldaDungeons.MODID)); getInstance().registerMessage(PacketDemo.handler, PacketDemo.class, 0, Side.SERVER); getInstance().registerMessage(PacketPressureSwitch.handler, PacketPressureSwitch.class, 0, Side.SERVER); getInstance().registerMessage(PacketHealthValues.handler, PacketHealthValues.class, 0, Side.CLIENT); getInstance().registerMessage(PacketStaminaValues.handler, PacketStaminaValues.class, 0, Side.CLIENT); } public static SimpleNetworkWrapper getInstance() { return INSTANCE; } public static void setInstance(SimpleNetworkWrapper iNSTANCE) { INSTANCE = iNSTANCE; } } I know the NetworkHandler isn't efficient and I will Change it soon, but first I Need to solve this Problem. I am writing Capability Data: package net.zeldadungeons.skill; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.zeldadungeons.capability.playerlevels.CapabilityPlayerLevels; import net.zeldadungeons.event.EventManager; import net.zeldadungeons.network.NetworkHandler; import net.zeldadungeons.network.message.PacketHealthValues; public class SkillHealth extends Skill { private int maxHealth; private int currentHealth; /** * @param level the starting level of this skill * @param totalExp the total exp of this skill */ public SkillHealth(int level, int totalExp) { this.maxLevel = 1000; this.setLevel(level); this.totalExp = totalExp; this.expToNext = this.calculateExp(level + 1); this.calculateMaxHealth(level); this.currentHealth = this.maxHealth; } /** * sets the level, called from levelup() to increase the level. also updates * the maxhealth that goes along with the new level. */ @Override public void setLevel(int level) { super.setLevel(level); this.sendUpdatePackets(player); calculateMaxHealth(level); } /** * Calculates the maximum health for the given level. * * @param level */ public void calculateMaxHealth(int level) { int j = 10 * level; for (int i = level; i > 0; i--) { j += i * 1; } this.setMaxHealth(j); } /** * Called to damage the player. * * @param i */ public void setCurrentHealth(int i) { i = EventManager.onSetCurrentSkill(this, i, this.player); this.currentHealth = i; if (i <= 0) { if (player != null) player.setHealth(0F); this.currentHealth = 0; } this.sendUpdatePackets(player); } /** * Set the maxHealth. * * @param i */ public void setMaxHealth(int i) { this.maxHealth = i; this.sendUpdatePackets(player); } public int getMaxHealth() { return this.maxHealth; } public int getCurrentHealth() { return this.currentHealth; } public void setPlayer(EntityPlayer player) { this.player = player; this.sendUpdatePackets(player); } @Override public void sendUpdatePackets(EntityPlayer player) { if (player != null && !player.world.isRemote && player instanceof EntityPlayerMP) NetworkHandler.getInstance().sendTo(new PacketHealthValues(this.currentHealth, this.maxHealth, this.level, (double) currentHealth / (double) maxHealth), (EntityPlayerMP) player); } public void damagePlayer(boolean withArmor, int amount){ SkillCombat combatSkill = this.player.getCapability(CapabilityPlayerLevels.PLAYER_LEVELS_CAPABILITY, CapabilityPlayerLevels.DEFAULT_FACING).getCombatSkill(); } public boolean fullHealth() { if(this.getCurrentHealth() == this.getMaxHealth())return true; else return false; } public boolean willDamageKill(int i){ if(i >= this.currentHealth)return true; else return false; } } An instance of each skill is stored in my main Capability class. Also, this is how I write the nbt(although nbt doesn't seem to be the Problem as I also get an exception whilst ingame): package net.zeldadungeons.capability.playerlevels; import net.zeldadungeons.ZeldaDungeons; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.CapabilityInject; import net.minecraftforge.common.capabilities.CapabilityManager; import net.zeldadungeons.skill.SkillCombat; import net.zeldadungeons.skill.SkillHealth; import net.zeldadungeons.skill.SkillStamina; public class CapabilityPlayerLevels { @CapabilityInject(IPlayerLevels.class) public static final Capability<IPlayerLevels> PLAYER_LEVELS_CAPABILITY = null; public static final EnumFacing DEFAULT_FACING = null; public static final ResourceLocation ID = new ResourceLocation(ZeldaDungeons.MODID, "player_levels"); public static void register() { CapabilityManager.INSTANCE.register(IPlayerLevels.class, new Capability.IStorage<IPlayerLevels>() { @Override public NBTBase writeNBT(Capability<IPlayerLevels> capability, IPlayerLevels instance, EnumFacing side) { SkillHealth hS = instance.getHealthSkill(); SkillStamina sS = instance.getStaminaSkill(); SkillCombat cS = instance.getCombatSkill(); int[] health = { hS.getLevel(), hS.getTotalExp(), hS.getCurrentHealth(), hS.getMaxHealth() }; int[] stamina = { sS.getLevel(), sS.getTotalExp(), sS.getCurrentStamina(), sS.getMaxStamina() }; int[] combat = { cS.getLevel(), cS.getTotalExp(), cS.getDamage() }; NBTTagCompound compound = new NBTTagCompound(); compound.setIntArray("health", health); compound.setIntArray("stamina", stamina); compound.setIntArray("combat", combat); return compound; } @Override public void readNBT(Capability<IPlayerLevels> capability, IPlayerLevels instance, EnumFacing side, NBTBase nbt) { NBTTagCompound compound = ((NBTTagCompound) nbt); int[] health = compound.getIntArray("health"); int[] stamina = compound.getIntArray("stamina"); int[] combat = compound.getIntArray("combat"); SkillHealth hS = new SkillHealth(health[0], health[1]); hS.setMaxHealth(health[3]); hS.setCurrentHealth(health[2]); instance.setHealthSkill(hS); SkillStamina sS = new SkillStamina(stamina[0], stamina[1]); sS.setMaxStamina(stamina[3]); sS.setCurrentStamina(stamina[2]); instance.setStaminaSkill(sS); SkillCombat cS = new SkillCombat(combat[0], combat[1]); cS.setDamage(combat[2]); } }, () -> new PlayerLevels(null)); } }
January 2, 20187 yr Author 35 minutes ago, diesieben07 said: You are trying to send a packet to a null player. How can the player be null if I am performing a check before sending the packets? Look at sendUpdatePackets() in the Health Skill class Edited January 2, 20187 yr by ArmamentHaki
January 2, 20187 yr Author 1 hour ago, diesieben07 said: Right. You are trying to send a packet to the player while the player constructor is still running (i.e. when your capability is being registered). You can't do that. The earliest you can send is PlayerLoggedInEvent. In that case, why does this keep on happening ingame? Everytime i send the packet, it works and my values are set correctly but still, my log gives me an exception
January 2, 20187 yr Author I added a repo, although it is untidy. It contains all the files in the src folder so that should be enough. https://github.com/Oeku/RPG-Mod
January 3, 20187 yr Author 2 minutes ago, diesieben07 said: Oh god... many things. First of all, that's not how you structure your repository, the repository root should be at the root of your project. Then you use a .gitignore file to filter unneeded stuff. Why do you only register your capabilities on the server? The client needs them, too, if you are going to synchronize them via packets. You are still trying to send packets from the setPlayer method, which you call when you register the capability, i.e. in the EntityPlayer constructor. This will not work. Why are you using AttachCapabilitiesEvent to attach a capability to your own entities? Just expose them directly from the entity. This is both much cleaner and more performant. Many more things that I am not going into. Starts with your proxy declarations being completely messed up in a way that will break on a dedicated server. I expected something like this I need to get more into this, I never made a github project before. Yeah, thats true. I removed it, now I don't send packets then - I think EntityJoinWorldEvent or PlayerLoggedInEvent are better to use anyways. EntityLevels was at first supposed to be added to Vanilla Mobs aswell, but as I don't need it anymore, I will remove it. Proxies are messed up, I agree and I am aware that I should use a DedicatedServerProxy and CombinedClientProxy, but I tested it on a Dedicated Server and it worked. Probably I just didnt realise there were bugs or there would have been if I added more. The rest is messy aswell but I am sure I can fix it. But.. what is up with the Network Exception? Is it only because my player was only being constructed?
January 3, 20187 yr 6 minutes ago, ArmamentHaki said: Proxies are messed up, I agree and I am aware that I should use a DedicatedServerProxy and CombinedClientProxy, but I tested it on a Dedicated Server and it worked. Probably I just didnt realise there were bugs or there would have been if I added more. While that may be true, you should never, ever need these: https://github.com/Oeku/RPG-Mod/blob/master/java/net/zeldadungeons/ZeldaDungeons.java#L42-L43 Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
January 3, 20187 yr Author I changed my proxies, but I still can't manage my Github Repo well so I will update later. What is the difference between the CombinedClient / DedicatedServer system to what I used? I did pretty much the same thing, only call the things on client that needed to be called on client and the same for server. Is ist because a "CommonProxy" is simply unnessecary? Edit: my repo is now https://github.com/Oeku/RPG-Mod Edited January 3, 20187 yr by ArmamentHaki
January 3, 20187 yr The whole point of the proxy system is so that each side only ever calls code that applies to that side. Its not the "common proxy" that's the problem, but the reference to the client and server proxies directly that's the problem. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
January 3, 20187 yr Author Now that my proxies are updated and I solved the problem I had to begin with(Network Packets) I think this is solved.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.