Не приходит на клиент

Версия Minecraft
1.7.10
Сделал систему пакетов, по тутору WildHeart. Но еще интернет и сам чутка дописал.
[22:50:28] [Server thread/ERROR] [FML]: FMLIndexedMessageCodec exception caught
java.lang.RuntimeException: Missing
at cpw.mods.fml.server.FMLServerHandler.getClientToServerNetworkManager(FMLServerHandler.java:238) ~[FMLServerHandler.class:?]
at cpw.mods.fml.common.FMLCommonHandler.getClientToServerNetworkManager(FMLCommonHandler.java:530) ~[FMLCommonHandler.class:?]
at cpw.mods.fml.common.network.FMLOutboundHandler$OutboundTarget$8.selectNetworks(FMLOutboundHandler.java:225) ~[FMLOutboundHandler$OutboundTarget$8.class:?]
at cpw.mods.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:273) ~[FMLOutboundHandler.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) ~[DefaultChannelHandlerContext.class:?]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) ~[MessageToMessageEncoder.class:?]
at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:688) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:717) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893) ~[DefaultChannelPipeline.class:?]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:239) ~[AbstractChannel.class:?]
at cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendToServer(SimpleNetworkWrapper.java:236) [SimpleNetworkWrapper.class:?]
at mod.net.NetworkHandler.sendToServer(NetworkHandler.java:32) [NetworkHandler.class:?]
at mod.items.wizardStaff1.onItemRightClick(wizardStaff1.java:29) [wizardStaff1.class:?]
at net.minecraft.item.ItemStack.useItemRightClick(ItemStack.java:164) [ItemStack.class:?]
at net.minecraft.server.management.ItemInWorldManager.tryUseItem(ItemInWorldManager.java:345) [ItemInWorldManager.class:?]
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:576) [NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) [C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) [C08PacketPlayerBlockPlacement.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.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:349) [DedicatedServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.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:?]
[22:50:28] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception
java.lang.RuntimeException: Missing
at cpw.mods.fml.server.FMLServerHandler.getClientToServerNetworkManager(FMLServerHandler.java:238) ~[FMLServerHandler.class:?]
at cpw.mods.fml.common.FMLCommonHandler.getClientToServerNetworkManager(FMLCommonHandler.java:530) ~[FMLCommonHandler.class:?]
at cpw.mods.fml.common.network.FMLOutboundHandler$OutboundTarget$8.selectNetworks(FMLOutboundHandler.java:225) ~[FMLOutboundHandler$OutboundTarget$8.class:?]
at cpw.mods.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:273) ~[FMLOutboundHandler.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) ~[DefaultChannelHandlerContext.class:?]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) ~[MessageToMessageEncoder.class:?]
at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:688) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:717) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893) ~[DefaultChannelPipeline.class:?]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:239) ~[AbstractChannel.class:?]
at cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendToServer(SimpleNetworkWrapper.java:236) [SimpleNetworkWrapper.class:?]
at mod.net.NetworkHandler.sendToServer(NetworkHandler.java:32) [NetworkHandler.class:?]
at mod.items.wizardStaff1.onItemRightClick(wizardStaff1.java:29) [wizardStaff1.class:?]
at net.minecraft.item.ItemStack.useItemRightClick(ItemStack.java:164) [ItemStack.class:?]
at net.minecraft.server.management.ItemInWorldManager.tryUseItem(ItemInWorldManager.java:345) [ItemInWorldManager.class:?]
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:576) [NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) [C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) [C08PacketPlayerBlockPlacement.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.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:349) [DedicatedServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.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:?]
[22:50:28] [Server thread/INFO] [STDOUT]: [mod.net.packets.MessagePariticles:handleServerSide:32]: -------------------------Server checked!---------------------------




NetworkHandler


Код:
public class NetworkHandler{
    public static SimpleNetworkWrapper INSTANCE;

    private static int dec;
    
    public static void init(){
        INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(ModInfo.MODID);

        INSTANCE.registerMessage(MessagePariticles.class, MessagePariticles.class, 0, Side.SERVER);
        INSTANCE.registerMessage(MessageF.class, MessageF.class, 1, Side.CLIENT);
        
    }

    public static void sendToServer(IMessage message){
        INSTANCE.sendToServer(message);
    }

    public static void sendTo(IMessage message, EntityPlayerMP player){
        INSTANCE.sendTo(message, player);
    }

 
    public static void sendToAllAround(final LocationDoublePacket message, final World world) {
        INSTANCE.sendToAllAround(message, message.getTargetPoint(world));
    }

    public static void sendToAll(IMessage message){
        INSTANCE.sendToAll(message);
    }

    public static void sendToDimension(IMessage message, int dimensionId){
        INSTANCE.sendToDimension(message, dimensionId);
    }

}

MessageBase

Код:
public abstract class MessageBase<REQ extends IMessage> implements IMessage, IMessageHandler<REQ, REQ>{

    @Override
    public REQ onMessage(REQ message, MessageContext ctx){
        if(ctx.side == Side.SERVER) {
            handleServerSide(message, ctx.getServerHandler().playerEntity);
        } else {
            handleClientSide(message, Core.sproxy.getClientPlayer());
        }
        return null;
    }


    public abstract void handleClientSide(REQ message, EntityPlayer player);

    public abstract void handleServerSide(REQ message, EntityPlayer player);
}

LocationDoublePacket

Код:
public abstract class LocationDoublePacket<REQ extends IMessage> extends MessageBase<REQ>
{
    protected double x, y, z;
    //Обязательный конструктор! Без него будет краш.
    public LocationDoublePacket(){}

    /**
     * Данный конструктор отвечает за позицию игрока по XYZ. Если мы будем использовать
     * способ отправки sendToAllAround нам придётся каждый раз задавать позицию
     * игрока в ручную. Но это гораздо легче чем, каждый раз прописывать 5-10 строк кода.
     * @param x - Позиция игрока по X
     * @param y - Позиция игрока по Y
     * @param z - Позиция игрока по Z
     */
    public LocationDoublePacket(final double x, final double y, final double z)
    {
        this.x = x;
        this.y = y;
        this.z = z;
    }

    //Запись переданных Double значений.
    @Override
    public void toBytes(final ByteBuf buf)
    {
        buf.writeDouble(x);
        buf.writeDouble(y);
        buf.writeDouble(z);
    }

    //Чтение переданных Double значений
    @Override
    public void fromBytes(final ByteBuf buf)
    {
        x = buf.readDouble();
        y = buf.readDouble();
        z = buf.readDouble();
    }

    //Данный код получает позицию игрока в мире. И расширяет зону в которой будет действовать пакет, в данном случае на 64 блока.
    public NetworkRegistry.TargetPoint getTargetPoint(final World world)
    {
        return getTargetPoint(world, 64);
    }
    public NetworkRegistry.TargetPoint getTargetPoint(final World world, final double updateDistance)
    {
        return new NetworkRegistry.TargetPoint(world.provider.dimensionId, x, y, z, updateDistance);
    }
}


MessageF

Код:
public class MessageF extends LocationDoublePacket<MessageF> {

 @Override
 @SideOnly(Side.CLIENT)
 public void handleClientSide(MessageF message, EntityPlayer player) {
 player.worldObj.spawnParticle("flame", player.posX, player.posY, player.posZ, 0, 0.3, 0);
 System.out.println("-------------------------Client checked!---------------------------");
 
 }

 @Override
 public void handleServerSide(MessageF message, EntityPlayer player) {
 // TODO Auto-generated method stub
 
 }


}

MessagePariticles

Код:
public class MessagePariticles extends MessageBase<MessagePariticles>{

 @Override
 public void fromBytes(ByteBuf buf) {
 // TODO Auto-generated method stub
 
 }

 @Override
 public void toBytes(ByteBuf buf) {
 // TODO Auto-generated method stub
 
 }

 @Override
 public void handleClientSide(MessagePariticles message, EntityPlayer player) {
 // TODO Auto-generated method stub
 
 }

 @Override
 public void handleServerSide(MessagePariticles message, EntityPlayer player) {
 NetworkHandler.sendToAllAround(new MessageF(), player.worldObj);
 System.out.println("-------------------------Server checked!---------------------------");
 
 }


}


Core

Код:
        @EventHandler
    public void preInit(FMLPreInitializationEvent event)
    {    
         NetworkHandler.init();
   }


Пакеты приходят на сервер, но с него не отправляются
 
Сверху