Jump to content

Recommended Posts

Posted

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

 

Posted

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));
    }
}

 

Posted (edited)
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 by ArmamentHaki
Posted
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

Posted
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 :D

  • 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?
Posted
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.

Posted (edited)

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 by ArmamentHaki
Posted

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.

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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