Posted February 11, 201510 yr So it works fine without the heldItem part, but when i add that, it "crashes" (it shuts down and returns to the main menu). The Message class (don't mind the "value") package com.stefinus.Main.network; import java.util.Random; import com.stefinus.Main.SMainRegistry; import net.minecraft.entity.passive.EntityCow; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntitySnowball; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; import cpw.mods.fml.common.network.simpleimpl.*; import io.netty.buffer.ByteBuf; public class ShootMessage implements IMessage { private int value; /** * This is needed for netty to decode the message * because the message is not created via a custom * constructor but via new {Message}.fromBytes(buf) */ public ShootMessage() { this.value = new Random().nextInt(); } /** * This is to read your bytes when receiving the packet. */ @Override public void fromBytes(ByteBuf buf) { this.value = buf.readInt(); } /** * This is to write your bytes when sending the packet. */ @Override public void toBytes(ByteBuf buf) { buf.writeInt(this.value); } /** * This is the handler for the class, allowing access to all * the functions and variables. */ public static class Handler implements IMessageHandler<ShootMessage, IMessage> { /** * This gets called when the packet is read and received. */ @Override public IMessage onMessage(ShootMessage message, MessageContext ctx) { EntityPlayer player = ctx.getServerHandler().playerEntity; World world = player.worldObj; EntitySnowball ball = new EntitySnowball(world, player); ItemStack heldItem = player.getHeldItem(); if(!world.isRemote && heldItem.getItem() == SMainRegistry.P90) { ctx.getServerHandler().playerEntity.worldObj.spawnEntityInWorld(ball); } return null; } } } The "crash" in the console. [16:11:40] [server thread/INFO]: Player265 joined the game [16:11:40] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established [16:11:41] [server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.lang.NullPointerException at com.stefinus.Main.network.ShootMessage$Handler.onMessage(ShootMessage.java:66) ~[shootMessage$Handler.class:?] at com.stefinus.Main.network.ShootMessage$Handler.onMessage(ShootMessage.java:1) ~[shootMessage$Handler.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[simpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] [16:11:41] [server thread/ERROR] [FML]: There was a critical exception handling a packet on channel stefinusguns java.lang.NullPointerException at com.stefinus.Main.network.ShootMessage$Handler.onMessage(ShootMessage.java:66) ~[shootMessage$Handler.class:?] at com.stefinus.Main.network.ShootMessage$Handler.onMessage(ShootMessage.java:1) ~[shootMessage$Handler.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[simpleChannelHandlerWrapper.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[simpleChannelHandlerWrapper.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[simpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] [16:11:41] [server thread/INFO]: Player265 lost connection: TextComponent{text='A fatal error has occured, this connection is terminated', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null}} [16:11:41] [server thread/INFO]: Player265 left the game [16:11:41] [server thread/INFO]: Stopping singleplayer server as player logged out [16:11:41] [server thread/INFO]: Stopping server [16:11:41] [server thread/INFO]: Saving players [16:11:41] [server thread/INFO]: Saving worlds
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.