[1.7.10]Краш из-за гуи

Вот краш
Код:
java.lang.NullPointerException: Unexpected error
    at cpw.mods.fml.common.network.NetworkRegistry.getLocalGuiContainer(NetworkRegistry.java:265)
    at cpw.mods.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:93)
    at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2501)
    at ccraft.src.blocks.Anvil.onBlockActivated(Anvil.java:37)
    at net.minecraft.client.multiplayer.PlayerControllerMP.onPlayerRightClick(PlayerControllerMP.java:376)
    at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1529)
    at net.minecraft.client.Minecraft.runTick(Minecraft.java:2044)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1039)
    at net.minecraft.client.Minecraft.run(Minecraft.java:962)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)
Вот 37 срока из класса Anvil
Код:
 player.openGui(CCraft.instance, CCraft.guiIDAnvil, world, x, y, z);
Весь "onBlockActivated"
Код:
    @Override
    public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int q, float a, float b, float c) {
        if (!player.isSneaking())
        {
            player.openGui(CCraft.instance, CCraft.guiIDAnvil, world, x, y, z);
            return true;
        }
        else
        {
            return false;
        }
    }
 
GuiHandler
Код:
    @Override
    public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
    {
        TileEntity entity = world.getTileEntity(x, y, z);
        
        if(ID == CCraft.guiIDAnvil)
        {
            return ID == CCraft.guiIDAnvil && world.getBlock(x, y, z) == BlocksList.anvil ? new AnvilContainer(player.inventory, world, x, y, z) : null;
        }
        return null;
    }
    
    @Override
    public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
    {
        TileEntity entity = world.getTileEntity(x, y, z);
        
        if(ID == CCraft.guiIDAnvil)
        {
            return ID == CCraft.guiIDAnvil && world.getBlock(x, y, z) == BlocksList.anvil ? new AnvilGui(player.inventory, world, x, y, z) : null;
        }
        
        return null;
    }
 
lordraider написал(а):
GuiHandler
Код:
        if(ID == CCraft.guiIDAnvil)
        {
            return ID == CCraft.guiIDAnvil && world.getBlock(x, y, z) == BlocksList.anvil
На кой черт ты два раза проверяешь одинаковые условия? Сбрось эти значения в консоль при запуске своего ГУЯ, чтобы можно было посмотреть, какие из них ложь. Если одно из них - ложь, установи почему.
 
Foghrye4 написал(а):
lordraider написал(а):
GuiHandler
Код:
        if(ID == CCraft.guiIDAnvil)
        {
            return ID == CCraft.guiIDAnvil && world.getBlock(x, y, z) == BlocksList.anvil
На кой черт ты два раза проверяешь одинаковые условия? Сбрось эти значения в консоль при запуске своего ГУЯ, чтобы можно было посмотреть, какие из них ложь. Если одно из них - ложь, установи почему.
К моему сожалению, я не знаю как это сделать, или знаю но не могу понять что именно так, можешь привести небольшой пример?
 
Прости за долгий ответ.
Код:
System.out.println("CCraft.guiIDAnvil="+CCraft.guiIDAnvil);
System.out.println("ID="+ID);
В консоле eclipse ты увидишь:
CCraft.guiIDAnvil=(какой-то номер) и
ID=(какой-то номер)
 соответственно.
 
Сверху