Jump to content

[1.7.10][Solved] "Crash" (Something with IMessage onMessage and heldItem)[


Stefinus321

Recommended Posts

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

 

 

Link to comment
Share on other sites

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.