Jump to content

[SOLVED][1.8] Help with Custom Crafting Table that holds items inside its slots


NovaViper

Recommended Posts

The game keeps on crashing every time I try to open up the GUI for the custom crafting table that has a tile entity (since it has a custom design). Here is my code:

 

TileEntity

public class BlockNileWorkbench extends BlockContainer{


public BlockNileWorkbench() {
	super(Material.wood);
	this.setCreativeTab(ZeroQuest.ZeroTab);
	this.setHardness(2F);
	this.setResistance(12.5F);
	this.setStepSound(soundTypeWood);
}
    private Random rand = new Random();

    @Override
public TileEntity createNewTileEntity(World world, int par1) {
	return new TileEntityNileWorkbench();
}

    @Override
public int getRenderType(){ //RenderBlocks for Render type//
	return -1;		
}
    
    @Override
public boolean isOpaqueCube(){
	return false;		
}
    
    @Override
    public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ)
    {
        if (worldIn.isRemote)
        {
            return true;
        }
        else
        {
            TileEntity tileentity = worldIn.getTileEntity(pos);

            if (tileentity instanceof TileEntityNileWorkbench)
            {
                playerIn.displayGUIChest((TileEntityNileWorkbench)tileentity);
            }

            return true;
        }
    }
    
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof IInventory)
        {
            InventoryHelper.dropInventoryItems(worldIn, pos, (IInventory)tileentity);
            worldIn.updateComparatorOutputLevel(pos, this);
        }

        super.breakBlock(worldIn, pos, state);
    }
}

 

Container

public class BlockNileWorkbench extends BlockContainer{


public BlockNileWorkbench() {
	super(Material.wood);
	this.setCreativeTab(ZeroQuest.ZeroTab);
	this.setHardness(2F);
	this.setResistance(12.5F);
	this.setStepSound(soundTypeWood);
}
    private Random rand = new Random();

    @Override
public TileEntity createNewTileEntity(World world, int par1) {
	return new TileEntityNileWorkbench();
}

    @Override
public int getRenderType(){ //RenderBlocks for Render type//
	return -1;		
}
    
    @Override
public boolean isOpaqueCube(){
	return false;		
}
    
    @Override
    public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ)
    {
        if (worldIn.isRemote)
        {
            return true;
        }
        else
        {
            TileEntity tileentity = worldIn.getTileEntity(pos);

            if (tileentity instanceof TileEntityNileWorkbench)
            {
                playerIn.displayGUIChest((TileEntityNileWorkbench)tileentity);
            }

            return true;
        }
    }
    
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof IInventory)
        {
            InventoryHelper.dropInventoryItems(worldIn, pos, (IInventory)tileentity);
            worldIn.updateComparatorOutputLevel(pos, this);
        }

        super.breakBlock(worldIn, pos, state);
    }
}

 

GUI

public class BlockNileWorkbench extends BlockContainer{


public BlockNileWorkbench() {
	super(Material.wood);
	this.setCreativeTab(ZeroQuest.ZeroTab);
	this.setHardness(2F);
	this.setResistance(12.5F);
	this.setStepSound(soundTypeWood);
}
    private Random rand = new Random();

    @Override
public TileEntity createNewTileEntity(World world, int par1) {
	return new TileEntityNileWorkbench();
}

    @Override
public int getRenderType(){ //RenderBlocks for Render type//
	return -1;		
}
    
    @Override
public boolean isOpaqueCube(){
	return false;		
}
    
    @Override
    public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ)
    {
        if (worldIn.isRemote)
        {
            return true;
        }
        else
        {
            TileEntity tileentity = worldIn.getTileEntity(pos);

            if (tileentity instanceof TileEntityNileWorkbench)
            {
                playerIn.displayGUIChest((TileEntityNileWorkbench)tileentity);
            }

            return true;
        }
    }
    
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof IInventory)
        {
            InventoryHelper.dropInventoryItems(worldIn, pos, (IInventory)tileentity);
            worldIn.updateComparatorOutputLevel(pos, this);
        }

        super.breakBlock(worldIn, pos, state);
    }
}

 

Block

public class BlockNileWorkbench extends BlockContainer{


public BlockNileWorkbench() {
	super(Material.wood);
	this.setCreativeTab(ZeroQuest.ZeroTab);
	this.setHardness(2F);
	this.setResistance(12.5F);
	this.setStepSound(soundTypeWood);
}
    private Random rand = new Random();

    @Override
public TileEntity createNewTileEntity(World world, int par1) {
	return new TileEntityNileWorkbench();
}

    @Override
public int getRenderType(){ //RenderBlocks for Render type//
	return -1;		
}
    
    @Override
public boolean isOpaqueCube(){
	return false;		
}
    
    @Override
    public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ)
    {
        if (worldIn.isRemote)
        {
            return true;
        }
        else
        {
            TileEntity tileentity = worldIn.getTileEntity(pos);

            if (tileentity instanceof TileEntityNileWorkbench)
            {
                playerIn.displayGUIChest((TileEntityNileWorkbench)tileentity);
            }

            return true;
        }
    }
    
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof IInventory)
        {
            InventoryHelper.dropInventoryItems(worldIn, pos, (IInventory)tileentity);
            worldIn.updateComparatorOutputLevel(pos, this);
        }

        super.breakBlock(worldIn, pos, state);
    }
}

 

Here is the error log

 

[17:09:43] [Client thread/FATAL] [FML]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.NullPointerException

java.util.concurrent.ExecutionException: java.lang.NullPointerException

at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_25]

at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_25]

at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:677) [FMLCommonHandler.class:?]

at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1011) [Minecraft.class:?]

at net.minecraft.client.Minecraft.run(Minecraft.java:345) [Minecraft.class:?]

at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]

at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]

at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]

at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78) [start/:?]

at GradleStart.main(GradleStart.java:45) [start/:?]

Caused by: java.lang.NullPointerException

at net.minecraft.inventory.InventoryBasic.<init>(InventoryBasic.java:33) ~[inventoryBasic.class:?]

at net.minecraft.client.network.NetHandlerPlayClient.handleOpenWindow(NetHandlerPlayClient.java:981) ~[NetHandlerPlayClient.class:?]

at net.minecraft.network.play.server.S2DPacketOpenWindow.processPacket(S2DPacketOpenWindow.java:44) ~[s2DPacketOpenWindow.class:?]

at net.minecraft.network.play.server.S2DPacketOpenWindow.processPacket(S2DPacketOpenWindow.java:81) ~[s2DPacketOpenWindow.class:?]

at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:18) ~[PacketThreadUtil$1.class:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_25]

at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_25]

at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:676) ~[FMLCommonHandler.class:?]

... 11 more

[17:09:43] [server thread/FATAL] [FML]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: net.minecraft.util.ReportedException: Ticking player

java.util.concurrent.ExecutionException: net.minecraft.util.ReportedException: Ticking player

at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_25]

at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_25]

at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:677) [FMLCommonHandler.class:?]

at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]

at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]

at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]

at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]

at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]

Caused by: net.minecraft.util.ReportedException: Ticking player

at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:394) ~[EntityPlayerMP.class:?]

at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:326) ~[NetHandlerPlayServer.class:?]

at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:33) ~[C03PacketPlayer.class:?]

at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:93) ~[C03PacketPlayer.class:?]

at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:18) ~[PacketThreadUtil$1.class:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_25]

at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_25]

at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:676) ~[FMLCommonHandler.class:?]

... 5 more

Caused by: java.lang.NullPointerException

at net.minecraft.world.World.isValid(World.java:216) ~[World.class:?]

at net.minecraft.world.World.getTileEntity(World.java:2253) ~[World.class:?]

at common.zeroquest.tileentity.TileEntityNileWorkbench.isUseableByPlayer(TileEntityNileWorkbench.java:110) ~[TileEntityNileWorkbench.class:?]

at net.minecraft.inventory.ContainerChest.canInteractWith(ContainerChest.java:45) ~[ContainerChest.class:?]

at net.minecraftforge.event.entity.player.PlayerOpenContainerEvent.<init>(PlayerOpenContainerEvent.java:27) ~[PlayerOpenContainerEvent.class:?]

at net.minecraftforge.common.ForgeHooks.canInteractWith(ForgeHooks.java:487) ~[ForgeHooks.class:?]

at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:295) ~[EntityPlayer.class:?]

at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:340) ~[EntityPlayerMP.class:?]

at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:326) ~[NetHandlerPlayServer.class:?]

at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:33) ~[C03PacketPlayer.class:?]

at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:93) ~[C03PacketPlayer.class:?]

at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:18) ~[PacketThreadUtil$1.class:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_25]

at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_25]

at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:676) ~[FMLCommonHandler.class:?]

... 5 more

[17:09:43] [server thread/ERROR]: Encountered an unexpected exception

net.minecraft.util.ReportedException: Ticking entity

at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:709) ~[MinecraftServer.class:?]

at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) ~[MinecraftServer.class:?]

at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) ~[integratedServer.class:?]

at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]

at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]

Caused by: java.lang.NullPointerException

at net.minecraft.world.World.isValid(World.java:216) ~[World.class:?]

at net.minecraft.world.World.getTileEntity(World.java:2253) ~[World.class:?]

at common.zeroquest.tileentity.TileEntityNileWorkbench.isUseableByPlayer(TileEntityNileWorkbench.java:110) ~[TileEntityNileWorkbench.class:?]

at net.minecraft.inventory.ContainerChest.canInteractWith(ContainerChest.java:45) ~[ContainerChest.class:?]

at net.minecraftforge.event.entity.player.PlayerOpenContainerEvent.<init>(PlayerOpenContainerEvent.java:27) ~[PlayerOpenContainerEvent.class:?]

at net.minecraftforge.common.ForgeHooks.canInteractWith(ForgeHooks.java:487) ~[ForgeHooks.class:?]

at net.minecraft.entity.player.EntityPlayerMP.onUpdate(EntityPlayerMP.java:231) ~[EntityPlayerMP.class:?]

at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1865) ~[World.class:?]

at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:732) ~[WorldServer.class:?]

at net.minecraft.world.World.updateEntity(World.java:1835) ~[World.class:?]

at net.minecraft.world.World.updateEntities(World.java:1664) ~[World.class:?]

at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:571) ~[WorldServer.class:?]

at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:703) ~[MinecraftServer.class:?]

... 4 more

[17:09:44] [server thread/ERROR]: This crash report has been saved to: C:\Users\NovaPC\Desktop\ModStuff\Code1.8\eclipse\.\crash-reports\crash-2014-12-30_17.09.43-server.txt

[17:09:44] [server thread/INFO]: Stopping server

[17:09:44] [server thread/INFO]: Saving players

[17:09:44] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:568]: ---- Minecraft Crash Report ----

// I just don't know what went wrong :(

 

Time: 12/30/14 5:09 PM

Description: Ticking entity

 

java.lang.NullPointerException: Ticking entity

at net.minecraft.world.World.isValid(World.java:216)

at net.minecraft.world.World.getTileEntity(World.java:2253)

at common.zeroquest.tileentity.TileEntityNileWorkbench.isUseableByPlayer(TileEntityNileWorkbench.java:110)

at net.minecraft.inventory.ContainerChest.canInteractWith(ContainerChest.java:45)

at net.minecraftforge.event.entity.player.PlayerOpenContainerEvent.<init>(PlayerOpenContainerEvent.java:27)

at net.minecraftforge.common.ForgeHooks.canInteractWith(ForgeHooks.java:487)

at net.minecraft.entity.player.EntityPlayerMP.onUpdate(EntityPlayerMP.java:231)

at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1865)

at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:732)

at net.minecraft.world.World.updateEntity(World.java:1835)

at net.minecraft.world.World.updateEntities(World.java:1664)

at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:571)

at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:703)

at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598)

at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164)

at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478)

at java.lang.Thread.run(Unknown Source)

 

 

A detailed walkthrough of the error, its code path and all known details is as follows:

---------------------------------------------------------------------------------------

 

-- Head --

Stacktrace:

at net.minecraft.world.World.isValid(World.java:216)

at net.minecraft.world.World.getTileEntity(World.java:2253)

at common.zeroquest.tileentity.TileEntityNileWorkbench.isUseableByPlayer(TileEntityNileWorkbench.java:110)

at net.minecraft.inventory.ContainerChest.canInteractWith(ContainerChest.java:45)

at net.minecraftforge.event.entity.player.PlayerOpenContainerEvent.<init>(PlayerOpenContainerEvent.java:27)

at net.minecraftforge.common.ForgeHooks.canInteractWith(ForgeHooks.java:487)

at net.minecraft.entity.player.EntityPlayerMP.onUpdate(EntityPlayerMP.java:231)

at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1865)

at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:732)

at net.minecraft.world.World.updateEntity(World.java:1835)

 

-- Entity being ticked --

Details:

Entity Type: null (net.minecraft.entity.player.EntityPlayerMP)

Entity ID: 173

Entity Name: Player442

Entity's Exact location: -40.87, 64.00, -13.97

Entity's Block location: -41.00,64.00,-14.00 - World: (-41,64,-14), Chunk: (at 7,4,2 in -3,-1; contains blocks -48,0,-16 to -33,255,-1), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)

Entity's Momentum: 0.00, -0.08, 0.00

Entity's Rider: ~~ERROR~~ NullPointerException: null

Entity's Vehicle: ~~ERROR~~ NullPointerException: null

Stacktrace:

at net.minecraft.world.World.updateEntities(World.java:1664)

at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:571)

 

 

 

Also, I have the 1.7.10 Code posted up on Github: https://github.com/NViper21/ZeroQuest

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

Oops, my bad! Here are the classes

 

Block

public class BlockNileWorkbench extends BlockContainer{


public BlockNileWorkbench() {
	super(Material.wood);
	this.setCreativeTab(ZeroQuest.ZeroTab);
	this.setHardness(2F);
	this.setResistance(12.5F);
	this.setStepSound(soundTypeWood);
}
    private Random rand = new Random();

    @Override
public TileEntity createNewTileEntity(World world, int par1) {
	return new TileEntityNileWorkbench();
}

    @Override
public int getRenderType(){ //RenderBlocks for Render type//
	return -1;		
}
    
    @Override
public boolean isOpaqueCube(){
	return false;		
}
    
    @Override
    public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ)
    {
        if (worldIn.isRemote)
        {
            return true;
        }
        else
        {
            TileEntity tileentity = worldIn.getTileEntity(pos);

            if (tileentity instanceof TileEntityNileWorkbench)
            {
                playerIn.displayGUIChest((TileEntityNileWorkbench)tileentity);
            }

            return true;
        }
    }
    
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof IInventory)
        {
            InventoryHelper.dropInventoryItems(worldIn, pos, (IInventory)tileentity);
            worldIn.updateComparatorOutputLevel(pos, this);
        }

        super.breakBlock(worldIn, pos, state);
    }
}

 

Container

public class ContainerNileWorkbench extends Container
{
    public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 3);
    public IInventory craftResult = new InventoryCraftResult();
    private World worldObj;
    private BlockPos field_178145_h;
    private static final String __OBFID = "CL_00001744";

    public ContainerNileWorkbench(InventoryPlayer playerInventory, IInventory inven, World worldIn, BlockPos p_i45800_3_)
    {
        this.worldObj = worldIn;
        this.field_178145_h = p_i45800_3_;
        this.addSlotToContainer(new SlotCrafting(playerInventory.player, this.craftMatrix, this.craftResult, 0, 124, 35));
        int i;
        int j;

        for (i = 0; i < 3; ++i)
        {
            for (j = 0; j < 3; ++j)
            {
                this.addSlotToContainer(new Slot(this.craftMatrix, j + i * 3, 30 + j * 18, 17 + i * 18));
            }
        }

        for (i = 0; i < 3; ++i)
        {
            for (j = 0; j < 9; ++j)
            {
                this.addSlotToContainer(new Slot(playerInventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
            }
        }

        for (i = 0; i < 9; ++i)
        {
            this.addSlotToContainer(new Slot(playerInventory, i, 8 + i * 18, 142));
        }

        this.onCraftMatrixChanged(this.craftMatrix);
    }

    public void onCraftMatrixChanged(IInventory inventoryIn)
    {
        this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj));
    }

    public void onContainerClosed(EntityPlayer playerIn)
    {
        super.onContainerClosed(playerIn);

        if (!this.worldObj.isRemote)
        {
            for (int i = 0; i < 9; ++i)
            {
                ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i);

                if (itemstack != null)
                {
                    playerIn.dropPlayerItemWithRandomChoice(itemstack, false);
                }
            }
        }
    }

    public boolean canInteractWith(EntityPlayer playerIn)
    {
        return this.worldObj.getBlockState(this.field_178145_h).getBlock() != Blocks.crafting_table ? false : playerIn.getDistanceSq((double)this.field_178145_h.getX() + 0.5D, (double)this.field_178145_h.getY() + 0.5D, (double)this.field_178145_h.getZ() + 0.5D) <= 64.0D;
    }

    public ItemStack transferStackInSlot(EntityPlayer playerIn, int index)
    {
        ItemStack itemstack = null;
        Slot slot = (Slot)this.inventorySlots.get(index);

        if (slot != null && slot.getHasStack())
        {
            ItemStack itemstack1 = slot.getStack();
            itemstack = itemstack1.copy();

            if (index == 0)
            {
                if (!this.mergeItemStack(itemstack1, 10, 46, true))
                {
                    return null;
                }

                slot.onSlotChange(itemstack1, itemstack);
            }
            else if (index >= 10 && index < 37)
            {
                if (!this.mergeItemStack(itemstack1, 37, 46, false))
                {
                    return null;
                }
            }
            else if (index >= 37 && index < 46)
            {
                if (!this.mergeItemStack(itemstack1, 10, 37, false))
                {
                    return null;
                }
            }
            else if (!this.mergeItemStack(itemstack1, 10, 46, false))
            {
                return null;
            }

            if (itemstack1.stackSize == 0)
            {
                slot.putStack((ItemStack)null);
            }
            else
            {
                slot.onSlotChanged();
            }

            if (itemstack1.stackSize == itemstack.stackSize)
            {
                return null;
            }

            slot.onPickupFromSlot(playerIn, itemstack1);
        }

        return itemstack;
    }

    public boolean canMergeSlot(ItemStack p_94530_1_, Slot p_94530_2_)
    {
        return p_94530_2_.inventory != this.craftResult && super.canMergeSlot(p_94530_1_, p_94530_2_);
    }
}

 

Gui

@SideOnly(Side.CLIENT)
public class GuiNileWorkbench extends GuiContainer{

private static final ResourceLocation field_110422_t = new ResourceLocation(ZeroQuest.modid + ":" + "textures/gui/niletable.png");
    private IInventory tileTable;
    private final InventoryPlayer playerInventory;
    
    public GuiNileWorkbench(InventoryPlayer playerInv , IInventory furnaceInv, World worldIn, BlockPos blockPosition)
    {
        super(new ContainerNileWorkbench(playerInv, furnaceInv, worldIn, blockPosition));
        this.playerInventory = playerInv;
        this.tileTable = furnaceInv;
    }

/**
         * Draw the foreground layer for the GuiContainer (everything in front of the items)
         */
@Override
protected void drawGuiContainerForegroundLayer(int x, int z)	
{
         this.fontRendererObj.drawString(StatCollector.translateToLocal("Crafting"), 30, 6, 4210752);
         this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 4210752);
}
/**
         * Draw the background layer for the GuiContainer (everything behind the items)
         */
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y)
{
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         this.mc.getTextureManager().bindTexture(field_110422_t);
         int k = (this.width - this.xSize) / 2;
         int l = (this.height - this.ySize) / 2;
         this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
}
}

 

TileEntity

public class TileEntityNileWorkbench extends TileEntity implements IInventory
{
private ItemStack[] inventory;
    public IInventory craftResult = new InventoryCraftResult();
public ItemStack[] craftMatrixInventory;
public BlockPos pos;
    
    public TileEntityNileWorkbench() {
        super();
        inventory = new ItemStack[32];
        craftMatrixInventory = new ItemStack[9]; //TODO: magic number
    }

@Override
public int getSizeInventory() {
	return inventory.length;
}


@Override
public ItemStack getStackInSlot(int i) {
	return this.inventory[i];
}

    @Override
    public ItemStack decrStackSize(int slot, int amount) {

        ItemStack itemStack = getStackInSlot(slot);
        if (itemStack != null) {
            if (itemStack.stackSize <= amount) {
                setInventorySlotContents(slot, null);
            }
            else {
                itemStack = itemStack.splitStack(amount);
                if (itemStack.stackSize == 0) {
                    setInventorySlotContents(slot, null);
                }
            }
        }
        return itemStack;
    }

    @Override
    public ItemStack getStackInSlotOnClosing(int slot) {

        if (inventory[slot] != null) {
            ItemStack itemStack = inventory[slot];
            inventory[slot] = null;
            return itemStack;
        }
        else
            return null;
    }

@Override
public void setInventorySlotContents(int i, ItemStack itemstack) {
	inventory[i] = itemstack;


	if (itemstack != null && itemstack.stackSize > getInventoryStackLimit()) {
		itemstack.stackSize = getInventoryStackLimit();
	}
	markDirty();
}


@Override
public String getName() {
	return "Nile Table";
}


@Override
public boolean hasCustomName() {
	return false;
}


@Override
public int getInventoryStackLimit() {
	return 64;
}

@Override
public IChatComponent getDisplayName() {
	return null;
}

@Override
    public boolean isUseableByPlayer(EntityPlayer player)
    {
        return this.worldObj.getTileEntity(this.pos) != this ? false : player.getDistanceSq((double)this.pos.getX() + 0.5D, (double)this.pos.getY() + 0.5D, (double)this.pos.getZ() + 0.5D) <= 64.0D;
    }


@Override
public void openInventory(EntityPlayer playerIn) {}


@Override
public void closeInventory(EntityPlayer playerIn) {}

@Override
public boolean isItemValidForSlot(int i, ItemStack itemstack) {
	return true;
}

    public void readFromNBT(NBTTagCompound compound)
    {
        super.readFromNBT(compound);
        NBTTagList nbttaglist = compound.getTagList("Items", 10);
        this.inventory = new ItemStack[this.getSizeInventory()];

        for (int i = 0; i < nbttaglist.tagCount(); ++i)
        {
            NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i);
            int j = nbttagcompound1.getByte("Slot") & 255;

            if (j >= 0 && j < this.inventory.length)
            {
                this.inventory[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
            }
        }
    }

    public void writeToNBT(NBTTagCompound compound)
    {
        super.writeToNBT(compound);
        NBTTagList nbttaglist = new NBTTagList();

        for (int i = 0; i < this.inventory.length; ++i)
        {
            if (this.inventory[i] != null)
            {
                NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                nbttagcompound1.setByte("Slot", (byte)i);
                this.inventory[i].writeToNBT(nbttagcompound1);
                nbttaglist.appendTag(nbttagcompound1);
            }
        }

        compound.setTag("Items", nbttaglist);
    }
    
    public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn)
    {
        return new ContainerNileWorkbench(playerInventory, craftResult, this.worldObj, pos);
    }

    public int getField(int id)
    {
        return 0;
    }

    public void setField(int id, int value) {}

    public int getFieldCount()
    {
        return 0;
    }

    public void clear()
    {
        for (int i = 0; i < this.inventory.length; ++i)
        {
            this.inventory[i] = null;
        }
    }	
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

The code that you posted is extremely broad. Believe it or not, it takes time to analyze code to identify what's going wrong, and the more code you post, the longer it takes. If it takes too long, people might give up. Therefore, narrowing your code down will help others help you. A good way to narrow down your search is to use breakpoints and debug mode.

 

In Eclipse, to set a breakpoint, right click on the left edge of the text area, and select "toggle breakpoint":

84cc0fc742.png

 

You can set breakpoints in the forge library code too, not just the code that you have written. When you start running in debug mode, when the code reaches a breakpoint, it will pause BEFORE executing that line. When the program is paused, you can check the values of every variable at that point in the program by mousing over them:

5ebf42a3cd.png

 

To narrow down your code, set a bunch of breakpoints in your code. When you reach one without any errors, you know that all the code before that breakpoint works. As soon as you get an error, you know that the error must be caused by something in between the last breakpoint and the current breakpoint.

 

Using this technique, you can more precisely identify the portion of code that is causing the problem. You might even figure out the problem yourself in the process.

Link to comment
Share on other sites

Ok.. I really dont understand what's going on, but here is what im getting

 

Variables

this	TileEntityNileWorkbench  (id=83)	
blockMetadata	-1	
blockType	null	
craftMatrixInventory	ItemStack[9]  (id=151)	
craftResult	InventoryCraftResult  (id=155)	
inventory	ItemStack[32]  (id=157)	
isVanilla	false	
pos	BlockPos  (id=158)	

player	EntityPlayerMP  (id=87)	
_combatTracker	CombatTracker  (id=100)	
absorptionAmount	0.0	
activePotionsMap	HashMap<K,V>  (id=102)	
addedToChunk	true	
arrowHitTimer	0	

 

Threads

Thread [server thread] (Suspended (breakpoint at line 110 in TileEntityNileWorkbench))	
owns: ArrayDeque<E>  (id=82)	
TileEntityNileWorkbench.isUseableByPlayer(EntityPlayer) line: 110	
ContainerChest.canInteractWith(EntityPlayer) line: 45	
PlayerOpenContainerEvent.<init>(EntityPlayer, Container) line: 27	
ForgeHooks.canInteractWith(EntityPlayer, Container) line: 487	
EntityPlayerMP(EntityPlayer).onUpdate() line: 295	
EntityPlayerMP.onUpdateEntity() line: 340	
NetworkDispatcher$1(NetHandlerPlayServer).processPlayer(C03PacketPlayer) line: 326	
C03PacketPlayer.processPacket(INetHandlerPlayServer) line: 33	
C03PacketPlayer.processPacket(INetHandler) line: 93	
PacketThreadUtil$1.run() line: 18	
Executors$RunnableAdapter<T>.call() line: not available	
ListenableFutureTask<V>(FutureTask<V>).run() line: not available	
FMLCommonHandler.callFuture(FutureTask) line: 676	
IntegratedServer(MinecraftServer).updateTimeLightAndEntities() line: 655	
IntegratedServer(MinecraftServer).tick() line: 598	
IntegratedServer.tick() line: 164	
IntegratedServer(MinecraftServer).run() line: 478	
Thread.run() line: not available	

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

Looking at the stack trace (error messages), try setting breakpoints at these locations (the numbers are most likely line numbers):

net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:677)

net.minecraft.inventory.InventoryBasic.<init>(InventoryBasic.java:33) ~[inventoryBasic.class:?]

 

Then look at what values are null. In the segment you posted above,

blockType

is

null

, which may or may not cause problems. There might be other null variables that you should check too. If you see any bit of code of the form

variable.something

and

variable

is null, that's will cause a null pointer.

Link to comment
Share on other sites

Here's what I got:

 

task	ListenableFutureTask<V>  (id=96)	
callable	Executors$RunnableAdapter<T>  (id=97)	
	result	null	
	task	PacketThreadUtil$1  (id=119)	
executionList	ExecutionList  (id=100)	
	executed	false	
	runnables	null	
outcome	null	
runner	null	
state	0	
waiters	null	

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

For some reason, the block/tile entity pulls up a chest's gui, here's the code so far now

 

Block

public class BlockNileWorkbench extends BlockContainer{


public BlockNileWorkbench() {
	super(Material.wood);
	this.setCreativeTab(ZeroQuest.ZeroTab);
	this.setHardness(2F);
	this.setResistance(12.5F);
	this.setStepSound(soundTypeWood);
}
    private Random rand = new Random();

    @Override
public TileEntity createNewTileEntity(World world, int par1) {
	return new TileEntityNileWorkbench();
}

    @Override
public int getRenderType(){ //RenderBlocks for Render type//
	return -1;		
}
    
    @Override
public boolean isOpaqueCube(){
	return false;		
}
    
    @Override
    public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ)
    {
        if (worldIn.isRemote)
        {
            return true;
        }
        else
        {
            TileEntity tileentity = worldIn.getTileEntity(pos);

            if (tileentity instanceof TileEntityNileWorkbench)
            {
                playerIn.displayGUIChest((TileEntityNileWorkbench)tileentity);
            }

            return true;
        }
    }
    
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof IInventory)
        {
            InventoryHelper.dropInventoryItems(worldIn, pos, (IInventory)tileentity);
            worldIn.updateComparatorOutputLevel(pos, this);
        }

        super.breakBlock(worldIn, pos, state);
    }
}

 

Gui

@SideOnly(Side.CLIENT)
public class GuiNileWorkbench extends GuiContainer{

private static final ResourceLocation field_110422_t = new ResourceLocation(ZeroQuest.modid + ":" + "textures/gui/niletable.png");
    private IInventory tileTable;
    private final InventoryPlayer playerInventory;
    
    public GuiNileWorkbench(InventoryPlayer playerInv, IInventory furnaceInv, World worldIn, BlockPos blockPosition)
    {
        super(new ContainerNileWorkbench(playerInv, furnaceInv, worldIn, blockPosition));
        this.playerInventory = playerInv;
        this.tileTable = furnaceInv;
        
    }

/**
         * Draw the foreground layer for the GuiContainer (everything in front of the items)
         */
@Override
protected void drawGuiContainerForegroundLayer(int x, int z)	
{
         this.fontRendererObj.drawString(StatCollector.translateToLocal("Crafting"), 30, 6, 4210752);
         this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 4210752);
}
/**
         * Draw the background layer for the GuiContainer (everything behind the items)
         */
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y)
{
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         this.mc.getTextureManager().bindTexture(field_110422_t);
         int k = (this.width - this.xSize) / 2;
         int l = (this.height - this.ySize) / 2;
         this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
}
}

 

TileEntity

public class TileEntityNileWorkbench extends TileEntity implements IInventory
{
private ItemStack[] inventory;
    public IInventory craftResult = new InventoryCraftResult();
public ItemStack[] craftMatrixInventory;
    
    public TileEntityNileWorkbench() {
        super();
        inventory = new ItemStack[32];
        craftMatrixInventory = new ItemStack[9]; //TODO: magic number
    }

@Override
public int getSizeInventory() {
	return inventory.length;
}


@Override
public ItemStack getStackInSlot(int i) {
	return this.inventory[i];
}

@Override
public IChatComponent getDisplayName() {
	return ChatHelper.getChatComponent(getName());
}	

@Override
public String getName() {
	return "Nile Table";
}


@Override
public boolean hasCustomName() {
	return false;
}


@Override
public int getInventoryStackLimit() {
	return 64;
}


    public String getGuiID()
    {
        return "0";
    }

    @Override
    public ItemStack decrStackSize(int slot, int amount) {

        ItemStack itemStack = getStackInSlot(slot);
        if (itemStack != null) {
            if (itemStack.stackSize <= amount) {
                setInventorySlotContents(slot, null);
            }
            else {
                itemStack = itemStack.splitStack(amount);
                if (itemStack.stackSize == 0) {
                    setInventorySlotContents(slot, null);
                }
            }
        }
        return itemStack;
    }

    @Override
    public ItemStack getStackInSlotOnClosing(int slot) {

        if (inventory[slot] != null) {
            ItemStack itemStack = inventory[slot];
            inventory[slot] = null;
            return itemStack;
        }
        else
            return null;
    }

@Override
public void setInventorySlotContents(int i, ItemStack itemstack) {
	inventory[i] = itemstack;


	if (itemstack != null && itemstack.stackSize > getInventoryStackLimit()) {
		itemstack.stackSize = getInventoryStackLimit();
	}
	markDirty();
}

@Override
public boolean isUseableByPlayer(EntityPlayer entityplayer) {
	return entityplayer.getDistanceSq(this.pos.getX() + 0.5, this.pos.getY() + 0.5, this.pos.getZ() + 0.5) <= 64;
}

@Override
public void openInventory(EntityPlayer playerIn) {}


@Override
public void closeInventory(EntityPlayer playerIn) {}

@Override
public boolean isItemValidForSlot(int i, ItemStack itemstack) {
	return true;
}

    @Override
    public void readFromNBT(NBTTagCompound nbtTagCompound) {


        super.readFromNBT(nbtTagCompound);


        // Read in the ItemStacks in the inventory from NBT
        NBTTagList tagList = nbtTagCompound.getTagList("Items", getBlockMetadata());
        inventory = new ItemStack[this.getSizeInventory()];
        for (int i = 0; i < tagList.tagCount(); ++i) {
            NBTTagCompound tagCompound = (NBTTagCompound) tagList.getCompoundTagAt(i);
            byte slot = tagCompound.getByte("Slot");
            if (slot >= 0 && slot < inventory.length) {
                inventory[slot] = ItemStack.loadItemStackFromNBT(tagCompound);
            }
        }
        
     // Read in the Crafting Matrix from NBT
        NBTTagList craftingTag = nbtTagCompound.getTagList("CraftingMatrix", getBlockMetadata());
        craftMatrixInventory = new ItemStack[9]; //TODO: magic number
        for (int i = 0; i < craftingTag.tagCount(); ++i) {
            NBTTagCompound tagCompound = (NBTTagCompound) craftingTag.getCompoundTagAt(i);
            byte slot = tagCompound.getByte("Slot");
            if (slot >= 0 && slot < craftMatrixInventory.length) {
                craftMatrixInventory[slot] = ItemStack.loadItemStackFromNBT(tagCompound);
            }
        }


        // Read craftingResult from NBT
        NBTTagCompound tagCraftResult = nbtTagCompound.getCompoundTag("CraftingResult");
        craftResult.setInventorySlotContents(0, ItemStack.loadItemStackFromNBT(tagCraftResult));
    }


    @Override
    public void writeToNBT(NBTTagCompound nbtTagCompound) {


        super.writeToNBT(nbtTagCompound);


        // Write the ItemStacks in the inventory to NBT
        NBTTagList tagList = new NBTTagList();
        for (int currentIndex = 0; currentIndex < inventory.length; ++currentIndex) {
            if (inventory[currentIndex] != null) {
                NBTTagCompound tagCompound = new NBTTagCompound();
                tagCompound.setByte("Slot", (byte) currentIndex);
                inventory[currentIndex].writeToNBT(tagCompound);
                tagList.appendTag(tagCompound);
            }
        }
        nbtTagCompound.setTag("Items", tagList);
        
        // Write Crafting Matrix to NBT
        NBTTagList craftingTag = new NBTTagList();
        for (int currentIndex = 0; currentIndex < craftMatrixInventory.length; ++currentIndex) {
            if (craftMatrixInventory[currentIndex] != null) {
                NBTTagCompound tagCompound = new NBTTagCompound();
                tagCompound.setByte("Slot", (byte) currentIndex);
                craftMatrixInventory[currentIndex].writeToNBT(tagCompound);
                craftingTag.appendTag(tagCompound);
            }
        }
        nbtTagCompound.setTag("CraftingMatrix", craftingTag);
        
        // Write craftingResult to NBT
        if (craftResult.getStackInSlot(0) != null)
            nbtTagCompound.setTag("CraftingResult", craftResult.getStackInSlot(0).writeToNBT(new NBTTagCompound()));
    }
    
    public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn)
    {
        return new ContainerNileWorkbench(playerInventory, craftResult, this.worldObj, pos);
    }

    public int getField(int id)
    {
        return 0;
    }

    public void setField(int id, int value) {}

    public int getFieldCount()
    {
        return 0;
    }

    public void clear()
    {
        for (int i = 0; i < this.inventory.length; ++i)
        {
            this.inventory[i] = null;
        }
    }
}

 

Container

public class ContainerNileWorkbench extends Container
{
    public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 3);
    public IInventory craftResult = new InventoryCraftResult();
    private World worldObj;
    private BlockPos field_178145_h;
    private static final String __OBFID = "CL_00001744";

    public ContainerNileWorkbench(InventoryPlayer playerInventory, IInventory inven, World worldIn, BlockPos p_i45800_3_)
    {
        this.worldObj = worldIn;
        this.field_178145_h = p_i45800_3_;
        this.addSlotToContainer(new SlotCrafting(playerInventory.player, this.craftMatrix, this.craftResult, 0, 124, 35));
        int i;
        int j;

        for (i = 0; i < 3; ++i)
        {
            for (j = 0; j < 3; ++j)
            {
                this.addSlotToContainer(new Slot(this.craftMatrix, j + i * 3, 30 + j * 18, 17 + i * 18));
            }
        }

        for (i = 0; i < 3; ++i)
        {
            for (j = 0; j < 9; ++j)
            {
                this.addSlotToContainer(new Slot(playerInventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
            }
        }

        for (i = 0; i < 9; ++i)
        {
            this.addSlotToContainer(new Slot(playerInventory, i, 8 + i * 18, 142));
        }

        this.onCraftMatrixChanged(this.craftMatrix);
    }

    public void onCraftMatrixChanged(IInventory inventoryIn)
    {
        this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj));
    }

    public void onContainerClosed(EntityPlayer playerIn)
    {
        super.onContainerClosed(playerIn);

        if (!this.worldObj.isRemote)
        {
            for (int i = 0; i < 9; ++i)
            {
                ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i);

                if (itemstack != null)
                {
                    playerIn.dropPlayerItemWithRandomChoice(itemstack, false);
                }
            }
        }
    }

    public boolean canInteractWith(EntityPlayer playerIn)
    {
        return this.worldObj.getBlockState(this.field_178145_h).getBlock() != ModBlocks.nileWorktable ? false : playerIn.getDistanceSq((double)this.field_178145_h.getX() + 0.5D, (double)this.field_178145_h.getY() + 0.5D, (double)this.field_178145_h.getZ() + 0.5D) <= 64.0D;
    }

    public ItemStack transferStackInSlot(EntityPlayer playerIn, int index)
    {
        ItemStack itemstack = null;
        Slot slot = (Slot)this.inventorySlots.get(index);

        if (slot != null && slot.getHasStack())
        {
            ItemStack itemstack1 = slot.getStack();
            itemstack = itemstack1.copy();

            if (index == 0)
            {
                if (!this.mergeItemStack(itemstack1, 10, 46, true))
                {
                    return null;
                }

                slot.onSlotChange(itemstack1, itemstack);
            }
            else if (index >= 10 && index < 37)
            {
                if (!this.mergeItemStack(itemstack1, 37, 46, false))
                {
                    return null;
                }
            }
            else if (index >= 37 && index < 46)
            {
                if (!this.mergeItemStack(itemstack1, 10, 37, false))
                {
                    return null;
                }
            }
            else if (!this.mergeItemStack(itemstack1, 10, 46, false))
            {
                return null;
            }

            if (itemstack1.stackSize == 0)
            {
                slot.putStack((ItemStack)null);
            }
            else
            {
                slot.onSlotChanged();
            }

            if (itemstack1.stackSize == itemstack.stackSize)
            {
                return null;
            }

            slot.onPickupFromSlot(playerIn, itemstack1);
        }

        return itemstack;
    }

    public boolean canMergeSlot(ItemStack p_94530_1_, Slot p_94530_2_)
    {
        return p_94530_2_.inventory != this.craftResult && super.canMergeSlot(p_94530_1_, p_94530_2_);
    }
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

Well when you figure out your crash, remove

public void onContainerClosed(EntityPlayer playerIn)
    {
        super.onContainerClosed(playerIn);

        if (!this.worldObj.isRemote)
        {
            for (int i = 0; i < 9; ++i)
            {
                ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i);

                if (itemstack != null)
                {
                    playerIn.dropPlayerItemWithRandomChoice(itemstack, false);
                }
            }
        }
    }

 

Because thats the code that dispenses the items after you exit the workbench

Former developer for DivineRPG, Pixelmon and now the maker of Essence of the Gods

Link to comment
Share on other sites

The problem is I don't know WHY it's crashing. The debugger doesn't even let me into the world, which basically doesn't even allow to test out the breakpoints in the tileentity and the container. I finally got it to where it doesn't crash when you first open it, but now if I leave the world and re-enter, it crashes immediately. Also when I open up the GUI, it's the completely wrong GUI (its a chest's gui instead of a crafting table) The code that is on my github worked perfectly in 1.7.10. The code of the progress I did so far is in the previous post I made

 

Crash Log

[09:01:00] [server thread/ERROR]: Encountered an unexpected exception
java.lang.NullPointerException
at net.minecraft.tileentity.TileEntity.getBlockMetadata(TileEntity.java:133) ~[TileEntity.class:?]
at common.zeroquest.tileentity.TileEntityNileWorkbench.readFromNBT(TileEntityNileWorkbench.java:136) ~[TileEntityNileWorkbench.class:?]
at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:109) ~[TileEntity.class:?]
at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:516) ~[AnvilChunkLoader.class:?]
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41) ~[ChunkIOProvider.class:?]
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12) ~[ChunkIOProvider.class:?]
at net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:344) ~[AsynchronousExecutor.class:?]
at net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302) ~[AsynchronousExecutor.class:?]
at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12) ~[ChunkIOExecutor.class:?]
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:117) ~[ChunkProviderServer.class:?]
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:92) ~[ChunkProviderServer.class:?]
at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:302) ~[MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:112) ~[integratedServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:126) ~[integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:438) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
[09:01:00] [server thread/ERROR]: This crash report has been saved to: C:\Users\NovaPC\Desktop\ModStuff\Code1.8\eclipse\.\crash-reports\crash-2015-01-05_09.01.00-server.txt
[09:01:00] [server thread/INFO] [FML]: Applying holder lookups
[09:01:00] [server thread/INFO] [FML]: Holder lookups applied
[09:01:00] [server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STARTING and forced into state SERVER_STOPPED. Errors may have been discarded.
[09:01:00] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:568]: ---- Minecraft Crash Report ----
// My bad.

Time: 1/5/15 9:01 AM
Description: Exception in server tick loop

java.lang.NullPointerException: Exception in server tick loop
at net.minecraft.tileentity.TileEntity.getBlockMetadata(TileEntity.java:133)
at common.zeroquest.tileentity.TileEntityNileWorkbench.readFromNBT(TileEntityNileWorkbench.java:136)
at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:109)
at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:516)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12)
at net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:344)
at net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302)
at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:117)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:92)
at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:302)
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:112)
at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:126)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:438)
at java.lang.Thread.run(Unknown Source)

 

========EDIT==========

Ok so now I got it where it doesn't crash from closing the client all together and re-enter the world or from just leaving the world and re-entering that same world and to even keep my stuff inside the container (though I'm not sure if its even using my custom container since the gui is wrong). What I did to fix that problem was replace the getBlockMetadata() method in the readFromNBT in the TileEntity and removed that onContainerClosed() method completely out of my custom container. But now my new problem is that it's still displaying the incorrect GUI. What do I do now?

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

Ok, I completely scratched out the 1.8 source codes and went back to the 1.7.10 codes and modified them and the result I got is:

+The GUI is displaying the right one (not the chest gui)

+Items stay inside the container aftering leaving the world and re-entering and closing client

+No crashing upon leaving and re-entering the game, opening the GUI

 

But the downside is:

-When trying to get the crafting result item, the client crashes and this error is thrown:

 

[11:07:12] [Client thread/FATAL]: Reported exception thrown!
net.minecraft.util.ReportedException: Updating screen events
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1676) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1021) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:345) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78) [start/:?]
at GradleStart.main(GradleStart.java:45) [start/:?]
Caused by: java.lang.NullPointerException
at common.zeroquest.events.AchievementEvents.CraftingEvent(AchievementEvents.java:26) ~[AchievementEvents.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_8_AchievementEvents_CraftingEvent_ItemCraftedEvent.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:138) ~[EventBus.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.firePlayerCraftingEvent(FMLCommonHandler.java:578) ~[FMLCommonHandler.class:?]
at common.zeroquest.inventory.SlotNileCrafting.onPickupFromSlot(SlotNileCrafting.java:134) ~[slotNileCrafting.class:?]
at net.minecraft.inventory.Container.slotClick(Container.java:328) ~[Container.class:?]
at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:492) ~[PlayerControllerMP.class:?]
at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:641) ~[GuiContainer.class:?]
at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:390) ~[GuiContainer.class:?]
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:544) ~[GuiScreen.class:?]
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:516) ~[GuiScreen.class:?]
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1662) ~[Minecraft.class:?]
... 11 more
[11:07:12] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:568]: ---- Minecraft Crash Report ----
// Oops.

Time: 1/5/15 11:07 AM
Description: Updating screen events

java.lang.NullPointerException: Updating screen events
at common.zeroquest.events.AchievementEvents.CraftingEvent(AchievementEvents.java:26)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_8_AchievementEvents_CraftingEvent_ItemCraftedEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:138)
at net.minecraftforge.fml.common.FMLCommonHandler.firePlayerCraftingEvent(FMLCommonHandler.java:578)
at common.zeroquest.inventory.SlotNileCrafting.onPickupFromSlot(SlotNileCrafting.java:134)
at net.minecraft.inventory.Container.slotClick(Container.java:328)
at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:492)
at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:641)
at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:390)
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:544)
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:516)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1662)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1021)
at net.minecraft.client.Minecraft.run(Minecraft.java:345)
at net.minecraft.client.main.Main.main(Main.java:117)
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(GradleStartCommon.java:78)
at GradleStart.main(GradleStart.java:45)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at common.zeroquest.events.AchievementEvents.CraftingEvent(AchievementEvents.java:26)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_8_AchievementEvents_CraftingEvent_ItemCraftedEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:138)
at net.minecraftforge.fml.common.FMLCommonHandler.firePlayerCraftingEvent(FMLCommonHandler.java:578)
at common.zeroquest.inventory.SlotNileCrafting.onPickupFromSlot(SlotNileCrafting.java:134)
at net.minecraft.inventory.Container.slotClick(Container.java:328)
at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:492)
at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:641)
at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:390)
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:544)
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:516)

-- Affected screen --
Details:
Screen name: common.zeroquest.client.gui.GuiNileWorkbench

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityPlayerSP['Player154'/345, l='MpServer', x=-98.42, y=70.00, z=-30.08]]
Chunk stats: MultiplayerChunkCache: 556, 556
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options: 
Level spawn location: -88.00,64.00,-24.00 - World: (-88,64,-24), Chunk: (at 8,4,8 in -6,-2; contains blocks -96,0,-32 to -81,255,-17), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
Level time: 3353 game time, 3353 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 150 total; [EntityItem['item.tile.rail'/256, l='MpServer', x=-40.13, y=26.00, z=-42.22], EntityItem['item.tile.rail'/257, l='MpServer', x=-41.47, y=26.00, z=-30.75], EntityCreeper['Creeper'/258, l='MpServer', x=-39.44, y=14.00, z=28.38], EntityZombie['Zombie'/268, l='MpServer', x=-20.50, y=42.00, z=6.50], EntitySkeleton['Skeleton'/60, l='MpServer', x=-178.88, y=34.00, z=-103.53], EntityCow['Cow'/61, l='MpServer', x=-177.81, y=69.00, z=-55.28], EntityCow['Cow'/63, l='MpServer', x=-178.03, y=69.00, z=-36.06], EntityCreeper['Creeper'/69, l='MpServer', x=-163.91, y=30.00, z=-94.22], EntityCreeper['Creeper'/70, l='MpServer', x=-167.43, y=31.16, z=-96.90], EntityBat['Bat'/71, l='MpServer', x=-164.48, y=33.31, z=-85.42], EntityCreeper['Creeper'/72, l='MpServer', x=-167.50, y=30.00, z=-92.50], EntityCreeper['Creeper'/73, l='MpServer', x=-167.50, y=30.00, z=-90.50], EntitySkeleton['Skeleton'/74, l='MpServer', x=-164.88, y=31.00, z=-90.50], EntityCow['Cow'/75, l='MpServer', x=-161.47, y=68.00, z=-35.63], EntityPig['Pig'/76, l='MpServer', x=-167.00, y=65.00, z=9.16], EntityPig['Pig'/77, l='MpServer', x=-162.15, y=66.01, z=16.44], EntityPig['Pig'/78, l='MpServer', x=-160.47, y=67.00, z=16.50], EntityPig['Pig'/79, l='MpServer', x=-166.88, y=64.00, z=24.59], EntityPig['Pig'/80, l='MpServer', x=-163.81, y=64.00, z=21.88], EntityPig['Pig'/81, l='MpServer', x=-168.31, y=64.00, z=25.53], EntityCreeper['Creeper'/82, l='MpServer', x=-166.84, y=15.00, z=42.09], EntityZombie['Zombie'/83, l='MpServer', x=-176.64, y=18.00, z=38.52], EntityPig['Pig'/84, l='MpServer', x=-174.47, y=63.00, z=39.78], EntityPig['Pig'/85, l='MpServer', x=-169.39, y=63.00, z=30.24], EntityCow['Cow'/89, l='MpServer', x=-154.75, y=63.00, z=-96.25], EntityPlayerSP['Player154'/345, l='MpServer', x=-98.42, y=70.00, z=-30.08], EntityZombie['Zombie'/90, l='MpServer', x=-148.32, y=29.91, z=-77.65], EntitySpider['Spider'/91, l='MpServer', x=-149.31, y=26.00, z=-89.97], EntityPig['Pig'/92, l='MpServer', x=-144.28, y=67.00, z=-84.91], EntityBat['Bat'/93, l='MpServer', x=-163.01, y=11.95, z=-74.55], EntityCow['Cow'/94, l='MpServer', x=-158.91, y=68.00, z=-40.59], EntityBat['Bat'/95, l='MpServer', x=-156.21, y=25.06, z=-24.39], EntityPig['Pig'/96, l='MpServer', x=-147.97, y=67.00, z=13.94], EntityPig['Pig'/97, l='MpServer', x=-148.22, y=65.00, z=18.91], EntityPig['Pig'/98, l='MpServer', x=-157.56, y=65.00, z=25.47], EntityPig['Pig'/99, l='MpServer', x=-159.50, y=71.00, z=19.50], EntityRabbit['Rabbit'/102, l='MpServer', x=-135.63, y=70.00, z=-96.97], EntityItem['item.tile.gravel'/103, l='MpServer', x=-134.25, y=29.00, z=-91.22], EntityItem['item.tile.gravel'/104, l='MpServer', x=-133.91, y=29.00, z=-93.34], EntityPig['Pig'/105, l='MpServer', x=-131.72, y=69.00, z=-82.22], EntityRabbit['Rabbit'/106, l='MpServer', x=-124.59, y=70.00, z=-91.44], EntityPig['Pig'/107, l='MpServer', x=-136.88, y=69.00, z=-80.50], EntityCow['Cow'/108, l='MpServer', x=-138.44, y=69.00, z=-82.50], EntityCow['Cow'/109, l='MpServer', x=-143.06, y=68.00, z=-90.13], EntityZombie['Zombie'/110, l='MpServer', x=-140.03, y=26.00, z=-72.44], EntityCow['Cow'/111, l='MpServer', x=-139.06, y=69.00, z=-72.66], EntitySkeleton['Skeleton'/112, l='MpServer', x=-136.50, y=23.00, z=-56.50], EntityZombie['Zombie'/113, l='MpServer', x=-138.03, y=23.00, z=-58.59], EntityItem['item.tile.torch'/114, l='MpServer', x=-143.56, y=27.00, z=11.13], EntityRabbit['Rabbit'/121, l='MpServer', x=-120.47, y=71.00, z=-80.59], EntityItem['item.tile.torch'/122, l='MpServer', x=-119.50, y=24.00, z=-67.38], EntityItem['item.tile.torch'/123, l='MpServer', x=-120.19, y=34.00, z=-64.25], EntityPig['Pig'/124, l='MpServer', x=-122.81, y=71.00, z=-73.91], EntityCreeper['Creeper'/125, l='MpServer', x=-113.59, y=11.02, z=-54.41], EntityItem['item.tile.rail'/126, l='MpServer', x=-121.88, y=29.00, z=-53.25], EntityItem['item.tile.rail'/127, l='MpServer', x=-121.88, y=29.00, z=-58.22], EntityItem['item.tile.rail'/128, l='MpServer', x=-120.31, y=29.00, z=-59.25], EntityMinecartChest['container.minecart'/129, l='MpServer', x=-120.50, y=24.06, z=-61.50], EntityItem['item.tile.torch'/130, l='MpServer', x=-114.31, y=23.00, z=-48.56], EntityBat['Bat'/131, l='MpServer', x=-117.74, y=35.69, z=-50.50], EntityBat['Bat'/132, l='MpServer', x=-117.52, y=35.45, z=-51.04], EntityItem['item.item.string'/133, l='MpServer', x=-119.78, y=30.00, z=-45.34], EntityItem['item.tile.rail'/134, l='MpServer', x=-119.13, y=30.00, z=-39.81], EntityItem['item.tile.torch'/135, l='MpServer', x=-119.13, y=30.00, z=-39.81], EntityMinecartChest['container.minecart'/136, l='MpServer', x=-119.50, y=30.00, z=-39.50], EntityMinecartChest['container.minecart'/137, l='MpServer', x=-121.50, y=33.06, z=-47.50], EntityPig['Pig'/138, l='MpServer', x=-112.88, y=69.00, z=-17.63], EntityCreeper['Creeper'/139, l='MpServer', x=-126.69, y=32.00, z=-2.53], EntityZombie['Zombie'/140, l='MpServer', x=-124.75, y=33.00, z=-2.72], EntityItem['item.tile.torch'/141, l='MpServer', x=-125.88, y=30.00, z=1.28], EntityBat['Bat'/142, l='MpServer', x=-114.07, y=22.46, z=-2.52], EntityItem['item.tile.gravel'/143, l='MpServer', x=-113.72, y=31.00, z=12.97], EntityZombie['Zombie'/144, l='MpServer', x=-124.31, y=46.00, z=47.56], EntityZombie['Zombie'/145, l='MpServer', x=-125.28, y=46.00, z=47.53], EntityZombie['Zombie'/146, l='MpServer', x=-129.44, y=46.00, z=44.97], EntityMinecartChest['container.minecart'/151, l='MpServer', x=-111.50, y=35.06, z=-67.50], EntityItem['item.tile.torch'/152, l='MpServer', x=-100.97, y=33.00, z=-66.56], EntityMinecartChest['container.minecart'/153, l='MpServer', x=-110.50, y=26.06, z=-58.50], EntityCreeper['Creeper'/154, l='MpServer', x=-104.50, y=25.00, z=-58.13], EntityCreeper['Creeper'/155, l='MpServer', x=-99.69, y=33.00, z=-59.03], EntityCreeper['Creeper'/156, l='MpServer', x=-105.31, y=33.00, z=-60.03], EntitySkeleton['Skeleton'/157, l='MpServer', x=-108.50, y=13.00, z=-47.50], EntityZombie['Zombie'/158, l='MpServer', x=-108.50, y=13.00, z=-46.50], EntityBat['Bat'/159, l='MpServer', x=-98.75, y=31.10, z=-47.75], EntityItem['item.tile.rail'/160, l='MpServer', x=-104.03, y=22.00, z=-44.97], EntityEnderman['Enderman'/161, l='MpServer', x=-101.94, y=37.00, z=-39.47], EntityBat['Bat'/162, l='MpServer', x=-97.75, y=50.18, z=-48.10], EntityPig['Pig'/163, l='MpServer', x=-110.31, y=71.00, z=-51.38], EntityPig['Pig'/164, l='MpServer', x=-111.00, y=72.00, z=-35.16], EntityItem['item.tile.torch'/165, l='MpServer', x=-97.13, y=29.00, z=-29.06], EntityCreeper['Creeper'/166, l='MpServer', x=-100.50, y=29.00, z=-31.50], EntityItem['item.tile.torch'/167, l='MpServer', x=-106.03, y=23.00, z=-2.47], EntityItem['item.tile.torch'/168, l='MpServer', x=-97.81, y=27.00, z=-1.22], EntityItem['item.tile.gravel'/169, l='MpServer', x=-112.00, y=31.00, z=12.56], EntityItem['item.tile.torch'/170, l='MpServer', x=-104.97, y=23.00, z=3.56], EntityItem['item.tile.rail'/171, l='MpServer', x=-106.81, y=23.00, z=5.16], EntityItem['item.tile.rail'/172, l='MpServer', x=-105.59, y=23.00, z=9.19], EntityItem['item.tile.gravel'/173, l='MpServer', x=-109.88, y=31.00, z=12.31], EntityItem['item.tile.rail'/174, l='MpServer', x=-96.81, y=23.00, z=6.13], EntityItem['item.tile.rail'/175, l='MpServer', x=-100.50, y=27.00, z=18.38], EntityItem['item.tile.torch'/176, l='MpServer', x=-101.00, y=27.00, z=26.16], EntitySheep['Sheep'/186, l='MpServer', x=-90.28, y=72.00, z=-94.31], EntitySheep['Sheep'/187, l='MpServer', x=-91.97, y=71.00, z=-101.34], EntitySheep['Sheep'/188, l='MpServer', x=-99.94, y=70.00, z=-95.97], EntityCreeper['Creeper'/189, l='MpServer', x=-95.16, y=25.00, z=-92.75], EntitySheep['Sheep'/190, l='MpServer', x=-93.06, y=71.00, z=-84.97], EntityCreeper['Creeper'/191, l='MpServer', x=-81.63, y=29.00, z=-66.53], EntityCreeper['Creeper'/192, l='MpServer', x=-93.38, y=25.00, z=-77.09], EntitySpider['Spider'/193, l='MpServer', x=-86.34, y=31.00, z=-69.31], EntityCreeper['Creeper'/194, l='MpServer', x=-80.56, y=30.00, z=-66.09], EntityCreeper['Creeper'/195, l='MpServer', x=-86.09, y=30.00, z=-67.47], EntitySkeleton['Skeleton'/196, l='MpServer', x=-91.34, y=22.00, z=-52.19], EntityItem['item.tile.rail'/197, l='MpServer', x=-80.88, y=21.00, z=-62.63], EntityItem['item.tile.torch'/198, l='MpServer', x=-92.03, y=29.00, z=-37.19], EntityZombie['Zombie'/199, l='MpServer', x=-93.50, y=20.00, z=-42.09], EntityBat['Bat'/200, l='MpServer', x=-83.34, y=21.10, z=-16.25], EntityPig['Pig'/201, l='MpServer', x=-94.69, y=67.00, z=-17.56], EntityItem['item.tile.torch'/202, l='MpServer', x=-92.09, y=24.00, z=-8.91], EntityZombie['Zombie'/203, l='MpServer', x=-82.50, y=27.00, z=10.50], EntityCreeper['Creeper'/204, l='MpServer', x=-88.72, y=22.75, z=7.50], EntityItem['item.tile.torch'/205, l='MpServer', x=-85.69, y=26.00, z=10.66], EntityItem['item.tile.rail'/206, l='MpServer', x=-94.22, y=23.00, z=7.25], EntityZombie['Zombie'/207, l='MpServer', x=-80.53, y=32.00, z=47.03], EntitySkeleton['Skeleton'/220, l='MpServer', x=-77.95, y=28.03, z=-61.20], EntityItem['item.tile.rail'/221, l='MpServer', x=-73.41, y=24.00, z=-62.25], EntityItem['item.tile.rail'/222, l='MpServer', x=-73.53, y=24.00, z=-57.75], EntityMinecartChest['container.minecart'/223, l='MpServer', x=-66.50, y=27.06, z=-60.50], EntityBat['Bat'/224, l='MpServer', x=-75.13, y=25.10, z=-62.50], EntityItem['item.tile.rail'/225, l='MpServer', x=-73.13, y=24.00, z=-55.88], EntityItem['item.tile.torch'/226, l='MpServer', x=-70.03, y=28.00, z=-49.75], EntityMinecartChest['container.minecart'/227, l='MpServer', x=-79.50, y=28.06, z=-47.50], EntityMinecartChest['container.minecart'/228, l='MpServer', x=-68.50, y=28.06, z=-42.50], EntityMinecartChest['container.minecart'/229, l='MpServer', x=-77.50, y=28.06, z=-28.50], EntityBat['Bat'/230, l='MpServer', x=-71.48, y=27.81, z=-8.81], EntityBat['Bat'/231, l='MpServer', x=-76.58, y=22.34, z=-13.99], EntityZombie['Zombie'/232, l='MpServer', x=-76.44, y=24.00, z=-6.97], EntitySkeleton['Skeleton'/233, l='MpServer', x=-67.16, y=29.00, z=5.25], EntityBat['Bat'/234, l='MpServer', x=-71.97, y=22.07, z=7.42], EntityItem['item.tile.torch'/235, l='MpServer', x=-78.78, y=22.00, z=6.25], EntityBat['Bat'/236, l='MpServer', x=-78.25, y=27.10, z=3.72], EntityMinecartChest['container.minecart'/237, l='MpServer', x=-77.50, y=22.06, z=8.50], EntitySquid['Squid'/238, l='MpServer', x=-72.38, y=47.13, z=30.72], EntityCreeper['Creeper'/246, l='MpServer', x=-48.09, y=19.00, z=-72.69], EntityZombie['Zombie'/247, l='MpServer', x=-58.56, y=29.00, z=3.84], EntitySquid['Squid'/248, l='MpServer', x=-60.53, y=46.00, z=26.44], EntitySkeleton['Skeleton'/251, l='MpServer', x=-43.50, y=20.00, z=-85.50], EntityItem['item.tile.rail'/252, l='MpServer', x=-41.53, y=26.00, z=-43.34], EntityItem['item.tile.rail'/253, l='MpServer', x=-40.47, y=26.00, z=-43.25], EntityItem['item.tile.rail'/254, l='MpServer', x=-42.88, y=26.00, z=-33.75], EntityItem['item.tile.rail'/255, l='MpServer', x=-42.88, y=26.00, z=-42.25]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:350)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2488)
at net.minecraft.client.Minecraft.run(Minecraft.java:367)
at net.minecraft.client.main.Main.main(Main.java:117)
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(GradleStartCommon.java:78)
at GradleStart.main(GradleStart.java:45)

 

And here is the modified code:

 

Block

public class BlockNileWorkbench extends BlockContainer{


public BlockNileWorkbench() {
	super(Material.wood);
	this.setCreativeTab(ZeroQuest.ZeroTab);
	this.setHardness(2F);
	this.setResistance(12.5F);
	this.setStepSound(soundTypeWood);
}
    private Random rand = new Random();

    @Override
public TileEntity createNewTileEntity(World world, int par1) {
	return new TileEntityNileWorkbench();
}

    @Override
public int getRenderType(){ //RenderBlocks for Render type//
	return -1;		
}
    
    @Override
public boolean isOpaqueCube(){
	return false;		
}
    
    @Override
    public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ)
    {
    	if (playerIn.isSneaking())
    		return false;
    		else {
    			if (!worldIn.isRemote) {
    				TileEntityNileWorkbench tileNileTable = (TileEntityNileWorkbench) worldIn.getTileEntity(new BlockPos(pos.getX(), pos.getY(), pos.getZ()));
    				if (tileNileTable != null) {
    					playerIn.openGui(ZeroQuest.instance, CommonProxy.NileTable, worldIn, pos.getX(), pos.getY() , pos.getZ());
    				}
    			}
    			return true;
    		}
    }
    
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        dropInventory(worldIn, pos.getX(), pos.getY(), pos.getZ());
    	super.breakBlock(worldIn, pos, state);
    }
    
    private void dropInventory(World world, int x, int y, int z) {
        TileEntity tileEntity = world.getTileEntity(new BlockPos(x, y, z));
        if (!(tileEntity instanceof IInventory))
            return;
        IInventory inventory = (IInventory) tileEntity;
        for (int i = 0; i < inventory.getSizeInventory(); i++) {
            ItemStack itemStack = inventory.getStackInSlot(i);
            if (itemStack != null && itemStack.stackSize > 0) {
                float dX = rand.nextFloat() * 0.8F + 0.1F;
                float dY = rand.nextFloat() * 0.8F + 0.1F;
                float dZ = rand.nextFloat() * 0.8F + 0.1F;
                EntityItem entityItem = new EntityItem(world, x + dX, y + dY, z + dZ, new ItemStack(itemStack.getItem(), itemStack.stackSize, itemStack.getItemDamage()));
                if (itemStack.hasTagCompound()) {
                    entityItem.getEntityItem().setTagCompound((NBTTagCompound) itemStack.getTagCompound().copy());
                }
                float factor = 0.05F;
                entityItem.motionX = rand.nextGaussian() * factor;
                entityItem.motionY = rand.nextGaussian() * factor + 0.2F;
                entityItem.motionZ = rand.nextGaussian() * factor;
                world.spawnEntityInWorld(entityItem);
                itemStack.stackSize = 0;
            }
        }
    }
}

 

Container

public class ContainerNileWorkbench extends Container
{
    public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 3);
    //public IInventory craftResult = new InventoryCraftResult();
    private World worldObj;
    private BlockPos field_178145_h;
public TileEntityNileWorkbench tileEntity;
    private static final String __OBFID = "CL_00001744";

    public ContainerNileWorkbench(TileEntityNileWorkbench tileTable, InventoryPlayer playerInventory, World worldIn, BlockPos p_i45800_3_)
    {
        this.worldObj = worldIn;
        this.field_178145_h = p_i45800_3_;
    	tileEntity = tileTable;
        this.addSlotToContainer(new SlotNileCrafting(playerInventory.player, this.craftMatrix, tileTable.craftResult, 0, 124, 35));
        int i;
        int j;

        updateCraftingMatrix();
        
        for (i = 0; i < 3; ++i)
        {
            for (j = 0; j < 3; ++j)
            {
                this.addSlotToContainer(new Slot(this.craftMatrix, j + i * 3, 30 + j * 18, 17 + i * 18));
            }
        }

        for (i = 0; i < 3; ++i)
        {
            for (j = 0; j < 9; ++j)
            {
                this.addSlotToContainer(new Slot(playerInventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
            }
        }

        for (i = 0; i < 9; ++i)
        {
            this.addSlotToContainer(new Slot(playerInventory, i, 8 + i * 18, 142));
        }

        this.onCraftMatrixChanged(this.craftMatrix);
    }
    
    private void updateCraftingMatrix() {
    	for (int i = 0; i < craftMatrix.getSizeInventory(); i++) {
    	craftMatrix.setInventorySlotContents(i, tileEntity.craftMatrixInventory[i]);
    	}
    	}

    public void onCraftMatrixChanged(IInventory inventoryIn)
    {
    	tileEntity.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj));
    }
    
    @Override
    public void onContainerClosed(EntityPlayer par1EntityPlayer)
    {
    	super.onContainerClosed(par1EntityPlayer);
    	saveCraftingMatrix();
    }
    
    private void saveCraftingMatrix() {
    	for (int i = 0; i < craftMatrix.getSizeInventory(); i++) {
    		tileEntity.craftMatrixInventory[i] = craftMatrix.getStackInSlot(i);
    	}
    }

@Override
public boolean canInteractWith(EntityPlayer entityPlayer)
{
	return tileEntity.isUseableByPlayer(entityPlayer);
}

    public ItemStack transferStackInSlot(EntityPlayer playerIn, int index)
    {
        ItemStack itemstack = null;
        Slot slot = (Slot)this.inventorySlots.get(index);

        if (slot != null && slot.getHasStack())
        {
            ItemStack itemstack1 = slot.getStack();
            itemstack = itemstack1.copy();

            if (index == 0)
            {
                if (!this.mergeItemStack(itemstack1, 10, 46, true))
                {
                    return null;
                }

                slot.onSlotChange(itemstack1, itemstack);
            }
            else if (index >= 10 && index < 37)
            {
                if (!this.mergeItemStack(itemstack1, 37, 46, false))
                {
                    return null;
                }
            }
            else if (index >= 37 && index < 46)
            {
                if (!this.mergeItemStack(itemstack1, 10, 37, false))
                {
                    return null;
                }
            }
            else if (!this.mergeItemStack(itemstack1, 10, 46, false))
            {
                return null;
            }

            if (itemstack1.stackSize == 0)
            {
                slot.putStack((ItemStack)null);
            }
            else
            {
                slot.onSlotChanged();
            }

            if (itemstack1.stackSize == itemstack.stackSize)
            {
                return null;
            }

            slot.onPickupFromSlot(playerIn, itemstack1);
        }

        return itemstack;
    }

    public boolean canMergeSlot(ItemStack p_94530_1_, Slot p_94530_2_)
    {
        return p_94530_2_.inventory != tileEntity.craftResult && super.canMergeSlot(p_94530_1_, p_94530_2_);
    }
}

 

Crafting Slot

public class SlotNileCrafting extends SlotCrafting{

    private final IInventory craftMatrix;
    private final EntityPlayer thePlayer;
    private int amountCrafted;
    private static final String __OBFID = "CL_00001761";


    public SlotNileCrafting(EntityPlayer player, InventoryCrafting craftingInventory, IInventory p_i45790_3_, int slotIndex, int xPosition, int yPosition)
    {
        super(player, craftingInventory, p_i45790_3_, slotIndex, xPosition, yPosition);
        this.thePlayer = player;
        this.craftMatrix = craftingInventory;
    }
/**
         * Check if the stack is a valid item for this slot. Always true beside for the armor slots.
         */
@Override
public boolean isItemValid(ItemStack par1ItemStack)
{
         return false;
}
/**
         * Decrease the size of the stack in slot (first int arg) by the amount of the second int arg. Returns the new
         * stack.
         */
@Override
public ItemStack decrStackSize(int par1)
{
         if (this.getHasStack())
         {
                 this.amountCrafted += Math.min(par1, this.getStack().stackSize);
         }
         return super.decrStackSize(par1);
}
/**
         * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood. Typically increases an
         * internal count then calls onCrafting(item).
         */
@Override
protected void onCrafting(ItemStack par1ItemStack, int par2)
{
         this.amountCrafted += par2;
         this.onCrafting(par1ItemStack);
}
/**
         * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood.
         */
@Override
protected void onCrafting(ItemStack stack)
{
	 stack.onCrafting(this.thePlayer.worldObj, this.thePlayer, this.amountCrafted);
	 this.amountCrafted = 0;

	 if (stack.getItem() == Item.getItemFromBlock(Blocks.crafting_table))
	 {
		 this.thePlayer.addStat(AchievementList.buildWorkBench, 1);
	 }

        if (stack.getItem() instanceof ItemPickaxe)
        {
            this.thePlayer.triggerAchievement(AchievementList.buildPickaxe);
        }

        if (stack.getItem() == Item.getItemFromBlock(Blocks.furnace))
        {
            this.thePlayer.triggerAchievement(AchievementList.buildFurnace);
        }

        if (stack.getItem() instanceof ItemHoe)
        {
            this.thePlayer.triggerAchievement(AchievementList.buildHoe);
        }

        if (stack.getItem() == Items.bread)
        {
            this.thePlayer.triggerAchievement(AchievementList.makeBread);
        }

        if (stack.getItem() == Items.cake)
        {
            this.thePlayer.triggerAchievement(AchievementList.bakeCake);
        }

        if (stack.getItem() instanceof ItemPickaxe && ((ItemPickaxe)stack.getItem()).getToolMaterial() != Item.ToolMaterial.WOOD)
        {
            this.thePlayer.triggerAchievement(AchievementList.buildBetterPickaxe);
        }

        if (stack.getItem() instanceof ItemSword)
        {
            this.thePlayer.triggerAchievement(AchievementList.buildSword);
        }

        if (stack.getItem() == Item.getItemFromBlock(Blocks.enchanting_table))
        {
            this.thePlayer.triggerAchievement(AchievementList.enchantments);
        }

        if (stack.getItem() == Item.getItemFromBlock(Blocks.bookshelf))
        {
            this.thePlayer.triggerAchievement(AchievementList.bookcase);
        }

        if (stack.getItem() == Items.golden_apple && stack.getMetadata() == 1)
        {
            this.thePlayer.triggerAchievement(AchievementList.overpowered);
        }
    }

@Override
public void onPickupFromSlot(EntityPlayer playerIn, ItemStack stack)
{
	{
		 FMLCommonHandler.instance().firePlayerCraftingEvent(playerIn, stack, craftMatrix);
         this.onCrafting(stack);
         for (int i = 0; i < this.craftMatrix.getSizeInventory(); ++i)
         {
                 ItemStack itemstack1 = this.craftMatrix.getStackInSlot(i);
                 if (itemstack1 != null)
                 {
                         this.craftMatrix.decrStackSize(i, 1);
                         if (itemstack1.getItem().hasContainerItem(itemstack1))
                         {
                                 ItemStack itemstack2 = itemstack1.getItem().getContainerItem(itemstack1);
                                 if (itemstack2.isItemStackDamageable() && itemstack2.getItemDamage() > itemstack2.getMaxDamage())
                                 {
                                         MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thePlayer, itemstack2));
                                         itemstack2 = null;
                                 }
                                 if (!this.thePlayer.inventory.addItemStackToInventory(itemstack2))
                                 {
                                         if (this.craftMatrix.getStackInSlot(i) == null)
                                         {
                                                 this.craftMatrix.setInventorySlotContents(i, itemstack2);
                                         }
                                         else
                                         {
                                                 this.thePlayer.dropPlayerItemWithRandomChoice(itemstack2, false);
                                         }
                                 }
                         }
                 }
         }
}
}
}

 

CommonProxy

public class CommonProxy implements IGuiHandler{

public static final int NileTable = 0;
public static final int PetPack = 1;


@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
	 if(ID == NileTable) {
		TileEntity target = world.getTileEntity(new BlockPos(x, y, z));
		if(!(target instanceof TileEntityNileWorkbench)) 
			return null;

		TileEntityNileWorkbench tileNileTable = (TileEntityNileWorkbench)target;
		ContainerNileWorkbench tableContainer = new ContainerNileWorkbench(tileNileTable, player.inventory, world, new BlockPos(x, y, z));
		return tableContainer;
	}
	else if(ID == PetPack) {
		Entity target = player.worldObj.getEntityByID(x);
            if(!(target instanceof EntityCustomTameable)) {
            	return null;
            }
            EntityCustomTameable entity = (EntityCustomTameable)target;
		ContainerPack packContainer = new ContainerPack(player.inventory, entity);
		return packContainer;
	} 
	return null;
}


@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { 
	if(ID == NileTable) {
		TileEntity target = world.getTileEntity(new BlockPos(x, y, z));
		if(!(target instanceof TileEntityNileWorkbench)) 
			return null;

		TileEntityNileWorkbench tileNileTable = (TileEntityNileWorkbench)target;
		GuiNileWorkbench tableGui = new GuiNileWorkbench(player.inventory, tileNileTable, world, new BlockPos(x, y, z));
		return tableGui;
	}
	else if(ID == PetPack) {
				Entity target = player.worldObj.getEntityByID(x);
	           if(!(target instanceof EntityCustomTameable)) {
	           	return null;
	           }
	           EntityCustomTameable dog = (EntityCustomTameable)target;
				GuiPack packGui = new GuiPack(player.inventory, dog);
				return packGui;
		 	}
	return null;
}

 

Tile Entity

public class TileEntityNileWorkbench extends TileEntity implements IInventory
{
private ItemStack[] inventory;
    public IInventory craftResult = new InventoryCraftResult();
public ItemStack[] craftMatrixInventory;
    
    public TileEntityNileWorkbench() {
        super();
        inventory = new ItemStack[32];
        craftMatrixInventory = new ItemStack[9]; //TODO: magic number
    }

@Override
public int getSizeInventory() {
	return inventory.length;
}


@Override
public ItemStack getStackInSlot(int i) {
	return this.inventory[i];
}

@Override
public IChatComponent getDisplayName() {
	return ChatHelper.getChatComponent(getName());
}	

@Override
public String getName() {
	return "Nile Table";
}


@Override
public boolean hasCustomName() {
	return false;
}


@Override
public int getInventoryStackLimit() {
	return 64;
}

    @Override
    public ItemStack decrStackSize(int slot, int amount) {

        ItemStack itemStack = getStackInSlot(slot);
        if (itemStack != null) {
            if (itemStack.stackSize <= amount) {
                setInventorySlotContents(slot, null);
            }
            else {
                itemStack = itemStack.splitStack(amount);
                if (itemStack.stackSize == 0) {
                    setInventorySlotContents(slot, null);
                }
            }
        }
        return itemStack;
    }

    @Override
    public ItemStack getStackInSlotOnClosing(int slot) {

        if (inventory[slot] != null) {
            ItemStack itemStack = inventory[slot];
            inventory[slot] = null;
            return itemStack;
        }
        else
            return null;
    }

@Override
public void setInventorySlotContents(int i, ItemStack itemstack) {
	inventory[i] = itemstack;


	if (itemstack != null && itemstack.stackSize > getInventoryStackLimit()) {
		itemstack.stackSize = getInventoryStackLimit();
	}
	markDirty();
}

@Override
public boolean isUseableByPlayer(EntityPlayer entityplayer) {
	return entityplayer.getDistanceSq(this.pos.getX() + 0.5, this.pos.getY() + 0.5, this.pos.getZ() + 0.5) <= 64;
}

@Override
public void openInventory(EntityPlayer playerIn) {}


@Override
public void closeInventory(EntityPlayer playerIn) {}

@Override
public boolean isItemValidForSlot(int i, ItemStack itemstack) {
	return true;
}

    @Override
    public void readFromNBT(NBTTagCompound nbtTagCompound) {


        super.readFromNBT(nbtTagCompound);


        // Read in the ItemStacks in the inventory from NBT
        NBTTagList tagList = nbtTagCompound.getTagList("Items", 10);
        inventory = new ItemStack[this.getSizeInventory()];
        for (int i = 0; i < tagList.tagCount(); ++i) {
            NBTTagCompound tagCompound = (NBTTagCompound) tagList.getCompoundTagAt(i);
            byte slot = tagCompound.getByte("Slot");
            if (slot >= 0 && slot < inventory.length) {
                inventory[slot] = ItemStack.loadItemStackFromNBT(tagCompound);
            }
        }
        
     // Read in the Crafting Matrix from NBT
        NBTTagList craftingTag = nbtTagCompound.getTagList("CraftingMatrix", 10);
        craftMatrixInventory = new ItemStack[9]; //TODO: magic number
        for (int i = 0; i < craftingTag.tagCount(); ++i) {
            NBTTagCompound tagCompound = (NBTTagCompound) craftingTag.getCompoundTagAt(i);
            byte slot = tagCompound.getByte("Slot");
            if (slot >= 0 && slot < craftMatrixInventory.length) {
                craftMatrixInventory[slot] = ItemStack.loadItemStackFromNBT(tagCompound);
            }
        }


        // Read craftingResult from NBT
        NBTTagCompound tagCraftResult = nbtTagCompound.getCompoundTag("CraftingResult");
        craftResult.setInventorySlotContents(0, ItemStack.loadItemStackFromNBT(tagCraftResult));
    }


    @Override
    public void writeToNBT(NBTTagCompound nbtTagCompound) {


        super.writeToNBT(nbtTagCompound);


        // Write the ItemStacks in the inventory to NBT
        NBTTagList tagList = new NBTTagList();
        for (int currentIndex = 0; currentIndex < inventory.length; ++currentIndex) {
            if (inventory[currentIndex] != null) {
                NBTTagCompound tagCompound = new NBTTagCompound();
                tagCompound.setByte("Slot", (byte) currentIndex);
                inventory[currentIndex].writeToNBT(tagCompound);
                tagList.appendTag(tagCompound);
            }
        }
        nbtTagCompound.setTag("Items", tagList);
        
        // Write Crafting Matrix to NBT
        NBTTagList craftingTag = new NBTTagList();
        for (int currentIndex = 0; currentIndex < craftMatrixInventory.length; ++currentIndex) {
            if (craftMatrixInventory[currentIndex] != null) {
                NBTTagCompound tagCompound = new NBTTagCompound();
                tagCompound.setByte("Slot", (byte) currentIndex);
                craftMatrixInventory[currentIndex].writeToNBT(tagCompound);
                craftingTag.appendTag(tagCompound);
            }
        }
        nbtTagCompound.setTag("CraftingMatrix", craftingTag);
        
        // Write craftingResult to NBT
        if (craftResult.getStackInSlot(0) != null)
            nbtTagCompound.setTag("CraftingResult", craftResult.getStackInSlot(0).writeToNBT(new NBTTagCompound()));
    }
    
    public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn)
    {
        return new ContainerNileWorkbench(this, playerInventory, this.worldObj, pos);
    }

    public int getField(int id)
    {
        return 0;
    }

    public void setField(int id, int value) {}

    public int getFieldCount()
    {
        return 0;
    }

    public void clear()
    {
        for (int i = 0; i < this.inventory.length; ++i)
        {
            this.inventory[i] = null;
        }
    }
}

 

GUI

@SideOnly(Side.CLIENT)
public class GuiNileWorkbench extends GuiContainer{

private static final ResourceLocation field_110422_t = new ResourceLocation(ZeroQuest.modid + ":" + "textures/gui/niletable.png");
    
    public GuiNileWorkbench(InventoryPlayer playerInv, TileEntityNileWorkbench tileTable, World worldIn, BlockPos blockPosition)
    {
        super(new ContainerNileWorkbench(tileTable, playerInv, worldIn, blockPosition));
    }

/**
         * Draw the foreground layer for the GuiContainer (everything in front of the items)
         */
@Override
protected void drawGuiContainerForegroundLayer(int x, int z)	
{
         this.fontRendererObj.drawString(StatCollector.translateToLocal("Crafting"), 30, 6, 4210752);
         this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 4210752);
}
/**
         * Draw the background layer for the GuiContainer (everything behind the items)
         */
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y)
{
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         this.mc.getTextureManager().bindTexture(field_110422_t);
         int k = (this.width - this.xSize) / 2;
         int l = (this.height - this.ySize) / 2;
         this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
}
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Corrected item registration code: (for the ModItems class) public static final RegistryObject<Item> LEMON_JUICE_BOTTLE = ITEMS.register("lemon_juice_bottle", () -> new HoneyBottleItem(new Item.Properties().stacksTo(1) .food((new FoodProperties.Builder()).nutrition(3).saturationMod(0.25F) .effect(() -> new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 1500), 0.5f).build())));
    • Apologies for the late reply. You'll need to register the item in ModItems; if you're following those tutorials, that's the only place you should ever register items. Otherwise, the mod will fail to register them properly and you'll get all sorts of interesting errors. Looking back at the code snipped I posted, I think that actually has some errors. I'm adding a lemon juice bottle to my mod just to ensure that it works correctly, and I will reply when I have solved the problems.
    • I might have an idea why your original method was causing so much trouble. See this while loop? You're only incrementing the number of blocks you've corrupted if you find one that you can corrupt. What happens if you can't find any? The while loop will run forever (a long time). This could happen if, for instance, the feature generates inside a vein of blocks that aren't marked as STONE_ABERRANTABLE. There are two alternate strategies I'd recommend to fix this.  First, you could simply increment numBlockCorrupted regardless of whether you've actually corrupted the block. This is the simplest and quickest way, and it should ensure that the loop runs no more than numBlocksToCorrupt times.  Alternatively, you could add a "kill switch" that keeps track of how many times the loop runs, and then ends it after a certain limit of your choosing. That could look something like this:  // Keeps track of how many blocks have been checked so far. int numBlocksChecked = 0; // Check up to twice as many blocks as you actually want to corrupt. // This is a good compromise between speed and actually getting the number of blocks // that you want to corrupt. int numBlocksToCheck = numBlocksToCorrupt * 2; // Modified the while loop condition to end after a certain number of blocks are checked. while (numBlocksCorrupted < numBlocksToCorrupt && numBlocksChecked < numBlocksToCheck) {                 // Generate a random position within the area, using the offset origin                 BlockPos randomPos = offsetOrigin.offset(                         ctx.random().nextInt(2 * areaSizeX + 1) - areaSizeX, // between -areaSize and areaSize                         ctx.random().nextInt(2 * areaSizeY + 1) - areaSizeY,                         ctx.random().nextInt(2 * areaSizeZ + 1) - areaSizeZ                 );                 // If the block at the random position is in the IS_ORE_ABERRANTABLE tag, replace it                 if (world.getBlockState(randomPos).is(ModBlockTags.STONE_ABERRANTABLE)) {                     world.setBlock(randomPos, surroundingBlockState, 2);                     numBlocksCorrupted++;                 } // Increment the number of blocks that you've checked. numBlocksChecked++;             } Let me know if you're still running into lag problems or are confused by my explanation.
    • So I have been trying to open modded 1.12.2 minecraft but it crashes when it opens and it says Exit Code-1 Can somebody please help me. Here is the crash report:   --- Minecraft Crash Report ---- WARNING: coremods are present:   IELoadingPlugin (ImmersiveEngineering-core-0.12-98.jar)   LibrarianLib Plugin (librarianlib-1.12.2-4.22.jar)   MixinLoader (viaforge-mc1122-3.6.0.jar)   McLib core mod (mclib-2.4.2-1.12.2.jar)   EFFLL (LiteLoader ObjectHolder fix) (ExtraFoamForLiteLoader-1.0.0.jar)   MekanismCoremod (Mekanism-1.12.2-9.8.3.390.jar)   LogisticsPipesCoreLoader (logisticspipes-0.10.3.114.jar)   AppleCore (AppleCore-mc1.12.2-3.4.0.jar)   BiomeTweakerCore (BiomeTweakerCore-1.12.2-1.0.39.jar)   ObfuscatePlugin (obfuscate-0.4.2-1.12.2.jar)   Regeneration (Regeneration-3.0.3.jar)   UniDictCoreMod (UniDict-1.12.2-3.0.10.jar)   ReflectorsPlugin (EnderStorage-1.12.2-2.5.0.jar)   EntityCullingEarlyLoader (entityculling-1.12.2-1.6.3.jar)   Controllable (controllable-0.11.2-1.12.2.jar)   craftfallessentials (CraftfallEssentials-1.12.2-1.2.6.jar)   SecurityCraftLoadingPlugin ([1.12.2] SecurityCraft v1.9.9.jar)   LoadingPlugin (ResourceLoader-MC1.12.1-1.5.3.jar)   MalisisCorePlugin (malisiscore-1.12.2-6.5.1.jar)   pymtech (PymTech-1.12.2-1.0.2.jar)   IvToolkit (IvToolkit-1.3.3-1.12.jar)   JeiUtilitiesLoadingPlugin (JEI-Utilities-1.12.2-0.2.12.jar)   LoadingPlugin (RandomThings-MC1.12.2-4.2.7.4.jar)   SSLoadingPlugin (SereneSeasons-1.12.2-1.2.18-universal.jar)   Do not report to Forge! (If you haven't disabled the FoamFix coremod, try disabling it in the config! Note that this bit of text will still appear.) (foamfix-0.10.15-1.12.2.jar)   FTBUltimineASM (ftb-ultimine-1202.3.5.jar)   ForgelinPlugin (Forgelin-1.8.4.jar)   Backpacked (backpacked-1.4.3-1.12.2.jar)   ForgelinPlugin (Forgelin-Continuous-1.9.23.0.jar)   HCASM (HammerLib-1.12.2-12.2.50.jar)   LucraftCoreExtendedID (LucraftCoreIDExtender.jar)   NWRTweak (redstonepaste-mc1.12-1.7.5.jar)   CTMCorePlugin (CTM-MC1.12.2-1.0.2.31.jar)   LucraftCoreCoreMod (LucraftCore-1.12.2-2.4.17.jar)   EnderCorePlugin (EnderCore-1.12.2-0.5.78-core.jar)   TransformerLoader (OpenComputers-MC1.12.2-1.8.5+179e1c3.jar)   llibrary (llibrary-core-1.0.11-1.12.2.jar)   ShetiPhian-ASM (ShetiPhian-ASM-1.12.0.jar)   PhosphorFMLLoadingPlugin (phosphor-1.12.2-0.2.6+build50.jar)   MekanismTweaks (mekanismtweaks-1.1.jar)   ShutdownPatcher (mcef-1.12.2-1.11-coremod.jar)   TNTUtilities Core (tnt_utilities-mc1.12-1.2.3.jar) Contact their authors BEFORE contacting forge // Shall we play a game? Time: 5/9/24 7:21 PM Description: Initializing game java.lang.NullPointerException: Initializing game     at net.minecraft.client.gui.GuiMainMenu.handler$zca000$hookViaForgeButton(GuiMainMenu.java:686)     at net.minecraft.client.gui.GuiMainMenu.func_73866_w_(GuiMainMenu.java:218)     at net.minecraft.client.gui.GuiScreen.func_146280_a(GuiScreen.java:478)     at net.minecraft.client.Minecraft.func_147108_a(Minecraft.java:1018)     at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:545)     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:378)     at net.minecraft.client.main.Main.main(SourceFile:123)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)     at net.minecraft.launchwrapper.Launch.main(Launch.java:28)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at gg.essential.loader.stage2.relaunch.Relaunch.relaunch(Relaunch.java:124)     at gg.essential.loader.stage2.EssentialLoader.preloadEssential(EssentialLoader.java:328)     at gg.essential.loader.stage2.EssentialLoader.loadPlatform(EssentialLoader.java:116)     at gg.essential.loader.stage2.EssentialLoaderBase.load(EssentialLoaderBase.java:148)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at gg.essential.loader.stage1.EssentialLoaderBase.load(EssentialLoaderBase.java:293)     at gg.essential.loader.stage1.EssentialSetupTweaker.<init>(EssentialSetupTweaker.java:44)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     at java.lang.reflect.Constructor.newInstance(Constructor.java:422)     at gg.essential.loader.stage0.EssentialSetupTweaker.loadStage1(EssentialSetupTweaker.java:53)     at gg.essential.loader.stage0.EssentialSetupTweaker.<init>(EssentialSetupTweaker.java:26)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     at java.lang.reflect.Constructor.newInstance(Constructor.java:422)     at java.lang.Class.newInstance(Class.java:442)     at net.minecraft.launchwrapper.Launch.launch(Launch.java:98)     at net.minecraft.launchwrapper.Launch.main(Launch.java:28) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Client thread Stacktrace:     at net.minecraft.client.gui.GuiMainMenu.handler$zca000$hookViaForgeButton(GuiMainMenu.java:686)     at net.minecraft.client.gui.GuiMainMenu.func_73866_w_(GuiMainMenu.java:218)     at net.minecraft.client.gui.GuiScreen.func_146280_a(GuiScreen.java:478)     at net.minecraft.client.Minecraft.func_147108_a(Minecraft.java:1018)     at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:545) -- Initialization -- Details: Stacktrace:     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:378)     at net.minecraft.client.main.Main.main(SourceFile:123)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)     at net.minecraft.launchwrapper.Launch.main(Launch.java:28)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at gg.essential.loader.stage2.relaunch.Relaunch.relaunch(Relaunch.java:124)     at gg.essential.loader.stage2.EssentialLoader.preloadEssential(EssentialLoader.java:328)     at gg.essential.loader.stage2.EssentialLoader.loadPlatform(EssentialLoader.java:116)     at gg.essential.loader.stage2.EssentialLoaderBase.load(EssentialLoaderBase.java:148)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at gg.essential.loader.stage1.EssentialLoaderBase.load(EssentialLoaderBase.java:293)     at gg.essential.loader.stage1.EssentialSetupTweaker.<init>(EssentialSetupTweaker.java:44)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     at java.lang.reflect.Constructor.newInstance(Constructor.java:422)     at gg.essential.loader.stage0.EssentialSetupTweaker.loadStage1(EssentialSetupTweaker.java:53)     at gg.essential.loader.stage0.EssentialSetupTweaker.<init>(EssentialSetupTweaker.java:26)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     at java.lang.reflect.Constructor.newInstance(Constructor.java:422)     at java.lang.Class.newInstance(Class.java:442)     at net.minecraft.launchwrapper.Launch.launch(Launch.java:98)     at net.minecraft.launchwrapper.Launch.main(Launch.java:28) -- System Details -- Details:     Minecraft Version: 1.12.2     Operating System: Windows 10 (amd64) version 10.0     Java Version: 1.8.0_51, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 912338720 bytes (870 MB) / 3868721152 bytes (3689 MB) up to 11542724608 bytes (11008 MB)     JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx12384m -Xms256m     IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0     FML: MCP 9.42 Powered by Forge 14.23.5.2860 380 mods loaded, 0 mods active     States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored     | State | ID                                | Version                         | Source                                             | Signature                                |     |:----- |:--------------------------------- |:------------------------------- |:-------------------------------------------------- |:---------------------------------------- |     |       | minecraft                         | 1.12.2                          | minecraft.jar                                      | None                                     |     |       | mcp                               | 9.42                            | minecraft.jar                                      | None                                     |     |       | FML                               | 8.0.99.99                       | forge-1.12.2-14.23.5.2860.jar                      | e3c3d50c7c986df74c645c0ac54639741c90a557 |     |       | forge                             | 14.23.5.2860                    | forge-1.12.2-14.23.5.2860.jar                      | e3c3d50c7c986df74c645c0ac54639741c90a557 |     |       | ivtoolkit                         | 1.3.3-1.12                      | minecraft.jar                                      | None                                     |     |       | controllable                      | 0.11.2                          | controllable-0.11.2-1.12.2.jar                     | None                                     |     |       | mclib_core                        | 2.4.2                           | minecraft.jar                                      | None                                     |     |       | backpacked                        | 1.4.2                           | backpacked-1.4.3-1.12.2.jar                        | None                                     |     |       | biometweakercore                  | 1.0.39                          | minecraft.jar                                      | None                                     |     |       | foamfixcore                       | 7.7.4                           | minecraft.jar                                      | None                                     |     |       | obfuscate                         | 0.4.2                           | minecraft.jar                                      | None                                     |     |       | opencomputers|core                | 1.8.5                           | minecraft.jar                                      | None                                     |     |       | tnt_utilities_core                | 1.2.3                           | minecraft.jar                                      | None                                     |     |       | essential                         | 1.0.0                           | Essential (forge_1.12.2).processed.jar             | None                                     |     |       | skinlayers3d                      | 1.2.0                           | 3dSkinLayers-forge-mc1.12.2-1.2.0.jar              | None                                     |     |       | servercountryflags                | 1.8.1                           | servercountryflags-1.8.1-1.12.2-FORGE.jar          | None                                     |     |       | securitycraft                     | v1.9.9                          | [1.12.2] SecurityCraft v1.9.9.jar                  | None                                     |     |       | acheads                           | 2.1.1                           | AbyssalCraft Heads-1.12.2-2.1.1.jar                | None                                     |     |       | acintegration                     | 1.11.3                          | AbyssalCraft Integration-1.12.2-1.11.3.jar         | None                                     |     |       | abyssalcraft                      | 1.10.5                          | AbyssalCraft-1.12.2-1.10.5.jar                     | None                                     |     |       | actuallyadditions                 | 1.12.2-r152                     | ActuallyAdditions-1.12.2-r152.jar                  | None                                     |     |       | actuallycomputers                 | @Version@                       | actuallycomputers-2.2.0.jar                        | None                                     |     |       | additionalpipes                   | 6.0.0.8                         | additionalpipes-6.0.0.8.jar                        | None                                     |     |       | advancementbook                   | 1.0.3                           | Advancement_Book-1.12-1.0.3.jar                    | None                                     |     |       | aether_legacy_addon               | 1.12.2-v1.3.0                   | Aether Continuation v1.3.0.jar                     | None                                     |     |       | aether_legacy                     | 1.5.3.2                         | aether-1.12.2-v1.5.4.0.jar                         | None                                     |     |       | aether                            | 0.3.0                           | aether_ii-1.12.2-0.3.0+build411-universal.jar      | None                                     |     |       | flyringbaublemod                  | 0.3.1_1.12-d4e654e              | angelRingToBauble-1.12-0.3.1.50+d4e654e.jar        | None                                     |     |       | applecore                         | 3.4.0                           | AppleCore-mc1.12.2-3.4.0.jar                       | None                                     |     |       | appleskin                         | 1.0.14                          | AppleSkin-mc1.12-1.0.14.jar                        | None                                     |     |       | appliedenergistics2               | rv6-stable-7                    | appliedenergistics2-rv6-stable-7.jar               | None                                     |     |       | ate                               | 1.0.0                           | ATE-1.5.jar                                        | None                                     |     |       | autopackager                      | 1.12                            | autopackager-1.12.jar                              | None                                     |     |       | autoreglib                        | 1.3-32                          | AutoRegLib-1.3-32.jar                              | None                                     |     |       | avaritia                          | 3.3.0                           | Avaritia-1.12.2-3.3.0.37-universal.jar             | None                                     |     |       | avaritiaddons                     | 1.12.2-1.9                      | Avaritiaddons-1.12.2-1.9.jar                       | None                                     |     |       | avaritiaio                        | @VERSION@                       | avaritiaio-1.4.jar                                 | None                                     |     |       | avaritiarecipemaker               | 1.0.0                           | avaritiarecipemaker-1.0.0.jar                      | None                                     |     |       | avaritiatweaks                    | 1.12.2-1.3.1                    | AvaritiaTweaks-1.12.2-1.3.1.jar                    | None                                     |     |       | avatarmod                         | 1.6.2                           | avatarmod-1.6.2.jar                                | None                                     |     |       | gorecore                          | 1.12.2-0.4.5                    | avatarmod-1.6.2.jar                                | None                                     |     |       | base                              | 3.14.0                          | base-1.12.2-3.14.0.jar                             | None                                     |     |       | baubles                           | 1.5.2                           | Baubles-1.12-1.5.2.jar                             | None                                     |     |       | bdlib                             | 1.14.4.1                        | bdlib-1.14.4.1-mc1.12.2.jar                        | None                                     |     |       | bedbugs                           | @VERSION@                       | BedBugs-1.12-1.0.1.jar                             | None                                     |     |       | betterbuilderswands               | 0.11.1                          | BetterBuildersWands-1.12-0.11.1.245+69d0d70.jar    | None                                     |     |       | betterquesting                    | 3.5.329                         | BetterQuesting-3.5.329.jar                         | None                                     |     |       | betterthanbunnies                 | 1.12.1-1.1.0                    | BetterThanBunnies-1.12.1-1.1.0.jar                 | None                                     |     |       | bibliocraft                       | 2.4.6                           | BiblioCraft[v2.4.6][MC1.12.2].jar                  | None                                     |     |       | bibliotheca                       | 1.3.6-1.12.2                    | bibliotheca-1.3.6-1.12.2.jar                       | None                                     |     |       | balancedorespawnores              | 1.0.0                           | Bifröst(V9).jar                                    | None                                     |     |       | biolib                            | 1.1.3                           | biolib-1.1.3.jar                                   | None                                     |     |       | biometweaker                      | 3.2.369                         | BiomeTweaker-1.12.2-3.2.369.jar                    | None                                     |     |       | blockdrops                        | 1.4.0                           | blockdrops-1.12.2-1.4.0.jar                        | None                                     |     |       | bloodmagic                        | 1.12.2-2.4.3-105                | BloodMagic-1.12.2-2.4.3-105.jar                    | None                                     |     |       | bookshelf                         | 2.3.590                         | Bookshelf-1.12.2-2.3.590.jar                       | None                                     |     |       | bookworm                          | 1.12.2-2.5.2.1                  | bookworm-1.12.2-2.5.2.1.jar                        | None                                     |     |       | botania                           | r1.10-364                       | Botania r1.10-364.4.jar                            | None                                     |     |       | brandonscore                      | 2.4.20                          | BrandonsCore-1.12.2-2.4.20.162-universal.jar       | None                                     |     |       | buildcraftcompat                  | 7.99.24.8                       | buildcraft-all-7.99.24.8.jar                       | None                                     |     |       | buildcraftbuilders                | 7.99.24.8                       | buildcraft-all-7.99.24.8.jar                       | None                                     |     |       | buildcraftcore                    | 7.99.24.8                       | buildcraft-all-7.99.24.8.jar                       | None                                     |     |       | buildcraftenergy                  | 7.99.24.8                       | buildcraft-all-7.99.24.8.jar                       | None                                     |     |       | buildcraftfactory                 | 7.99.24.8                       | buildcraft-all-7.99.24.8.jar                       | None                                     |     |       | buildcraftlib                     | 7.99.24.8                       | buildcraft-all-7.99.24.8.jar                       | None                                     |     |       | buildcraftrobotics                | 7.99.24.8                       | buildcraft-all-7.99.24.8.jar                       | None                                     |     |       | buildcraftsilicon                 | 7.99.24.8                       | buildcraft-all-7.99.24.8.jar                       | None                                     |     |       | buildcrafttransport               | 7.99.24.8                       | buildcraft-all-7.99.24.8.jar                       | None                                     |     |       | btg                               | 1.1.1                           | By The Gods-1.12.2-1.1.1.jar                       | None                                     |     |       | camera                            | 1.0.10                          | camera-1.0.10.jar                                  | None                                     |     |       | cctweaked                         | 1.89.2                          | cc-tweaked-1.12.2-1.89.2.jar                       | None                                     |     |       | computercraft                     | 1.89.2                          | cc-tweaked-1.12.2-1.89.2.jar                       | None                                     |     |       | ceramics                          | 1.12-1.3.7b                     | Ceramics-1.12-1.3.7b.jar                           | None                                     |     |       | chameleon                         | 1.12-4.1.3                      | Chameleon-1.12-4.1.3.jar                           | None                                     |     |       | chameleon_morph                   | 1.2.2                           | chameleon-1.2.2.jar                                | None                                     |     |       | chancecubes                       | 1.12.2-5.0.2.385                | ChanceCubes-1.12.2-5.0.2.385.jar                   | None                                     |     |       | charset                           | 0.5.6.6                         | Charset-Lib-0.5.6.6.jar                            | None                                     |     |       | chesttransporter                  | 2.8.8                           | ChestTransporter-1.12.2-2.8.8.jar                  | None                                     |     |       | chickenchunks                     | 2.4.2.74                        | ChickenChunks-1.12.2-2.4.2.74-universal.jar        | None                                     |     |       | chickens                          | 6.0.4                           | chickens-6.0.4.jar                                 | None                                     |     |       | chisel                            | MC1.12.2-1.0.2.45               | Chisel-MC1.12.2-1.0.2.45.jar                       | None                                     |     |       | chiseled_me                       | 1.12-3.0.0.0-git-e5ce416        | chiseled-me-1.12-3.0.0.0-git-e5ce416.jar           | None                                     |     |       | chiseledadditions                 | @Version@                       | ChiseledAdditions-1.0.0.jar                        | None                                     |     |       | chiselsandbits                    | 14.33                           | chiselsandbits-14.33.jar                           | None                                     |     |       | cjcm                              | 1.0                             | cjcm-1.0.jar                                       | None                                     |     |       | clienttweaks                      | 3.1.11                          | ClientTweaks_1.12.2-3.1.11.jar                     | None                                     |     |       | clipboard                         | @VERSION@                       | Clipboard-1.12-1.3.0.jar                           | None                                     |     |       | clumps                            | 3.1.2                           | Clumps-3.1.2.jar                                   | None                                     |     |       | codechickenlib                    | 3.2.3.358                       | CodeChickenLib-1.12.2-3.2.3.358-universal.jar      | None                                     |     |       | colossalchests                    | 1.7.3                           | ColossalChests-1.12.2-1.7.3.jar                    | None                                     |     |       | comforts                          | 1.4.1.3                         | comforts-1.12.2-1.4.1.3.jar                        | None                                     |     |       | commoncapabilities                | 2.4.8                           | CommonCapabilities-1.12.2-2.4.8.jar                | None                                     |     |       | controlling                       | 3.0.10                          | Controlling-3.0.12.3.jar                           | None                                     |     |       | cookingforblockheads              | 6.5.0                           | CookingForBlockheads_1.12.2-6.5.0.jar              | None                                     |     |       | craftfallessentials               | 1.2.6                           | CraftfallEssentials-1.12.2-1.2.6.jar               | None                                     |     |       | ctgui                             | 1.0.0                           | CraftTweaker2-1.12-4.1.20.698.jar                  | None                                     |     |       | crafttweaker                      | 4.1.20                          | CraftTweaker2-1.12-4.1.20.698.jar                  | None                                     |     |       | crafttweakerjei                   | 2.0.3                           | CraftTweaker2-1.12-4.1.20.698.jar                  | None                                     |     |       | ctm                               | MC1.12.2-1.0.2.31               | CTM-MC1.12.2-1.0.2.31.jar                          | None                                     |     |       | cucumber                          | 1.1.3                           | Cucumber-1.12.2-1.1.3.jar                          | None                                     |     |       | custommainmenu                    | 2.0.9.1                         | CustomMainMenu-MC1.12.2-2.0.9.1.jar                | None                                     |     |       | cyclopscore                       | 1.6.7                           | CyclopsCore-1.12.2-1.6.7.jar                       | None                                     |     |       | darknesslib                       | 1.1.2                           | DarknessLib-1.12.2-1.1.2.jar                       | None                                     |     |       | darkutils                         | 1.8.230                         | DarkUtils-1.12.2-1.8.230.jar                       | None                                     |     |       | props                             | 2.6.3.7                         | Decocraft-2.6.3.7_1.12.2.jar                       | None                                     |     |       | deepresonance                     | 1.8.0                           | deepresonance-1.12-1.8.0.jar                       | None                                     |     |       | defaultoptions                    | 9.2.8                           | DefaultOptions_1.12.2-9.2.8.jar                    | None                                     |     |       | draconicadditions                 | 1.17.0                          | Draconic-Additions-1.12.2-1.17.0.45-universal.jar  | None                                     |     |       | draconicevolution                 | 2.3.28                          | Draconic-Evolution-1.12.2-2.3.28.354-universal.jar | None                                     |     |       | draconicalchemy                   | 0.2                             | draconicalchemy-0.2.jar                            | None                                     |     |       | maia_draconic_edition             | 1.0.0                           | DraconicEvolution_MAIA_1.0.0.jar                   | None                                     |     |       | eleccoreloader                    | 1.9.453                         | ElecCore-1.12.2-1.9.453.jar                        | None                                     |     |       | eleccore                          | 1.9.453                         | ElecCore-1.12.2-1.9.453.jar                        | None                                     |     |       | ebwizardry                        | 4.3.13                          | ElectroblobsWizardry-4.3.13.jar                    | None                                     |     |       | endercore                         | 1.12.2-0.5.78                   | EnderCore-1.12.2-0.5.78.jar                        | None                                     |     |       | enderio                           | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderiobase                       | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderioconduitsappliedenergistics | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderioconduitsopencomputers      | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderioconduitsrefinedstorage     | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderioconduits                   | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderiointegrationforestry        | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderiointegrationtic             | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderiointegrationticlate         | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderioinvpanel                   | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderiomachines                   | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | enderiopowertools                 | 5.3.72                          | EnderIO-1.12.2-5.3.72.jar                          | None                                     |     |       | gasconduits                       | 5.3.72                          | EnderIO-conduits-mekanism-1.12.2-5.3.72.jar        | None                                     |     |       | enderioendergy                    | 5.3.72                          | EnderIO-endergy-1.12.2-5.3.72.jar                  | None                                     |     |       | enderiozoo                        | 5.3.72                          | EnderIO-zoo-1.12.2-5.3.72.jar                      | None                                     |     |       | endermail                         | 1.1.3                           | EnderMail-1.12.2-1.1.3.jar                         | None                                     |     |       | enderstorage                      | 2.4.6.137                       | EnderStorage-1.12.2-2.4.6.137-universal.jar        | None                                     |     |       | enderstorage                      | 2.5.0                           | EnderStorage-1.12.2-2.5.0.jar                      | None                                     |     |       | endertweaker                      | 1.2.3                           | EnderTweaker-1.12.2-1.2.3.jar                      | None                                     |     |       | energyconverters                  | 1.3.7.30                        | energyconverters_1.12.2-1.3.7.30.jar               | None                                     |     |       | engineersworkshop                 | 1.4.0-1.12.2                    | EngineersWorkshop-1.4.0-1.12.2.jar                 | None                                     |     |       | entityculling                     | @VER@                           | entityculling-1.12.2-1.6.3.jar                     | None                                     |     |       | environmentaltech                 | 1.12.2-2.0.20.1                 | environmentaltech-1.12.2-2.0.20.1.jar              | None                                     |     |       | etlunar                           | 1.12.2-2.0.20.1                 | etlunar-1.12.2-2.0.20.1.jar                        | None                                     |     |       | motnt                             | 1.0.1                           | EvenMoreTNT-1.0.1.jar                              | None                                     |     |       | excompressum                      | 3.0.32                          | ExCompressum_1.12.2-3.0.32.jar                     | None                                     |     |       | exnihilocreatio                   | 1.12.2-0.4.7.2                  | exnihilocreatio-1.12.2-0.4.7.2.jar                 | None                                     |     |       | exnihiloomnia                     | 1.0                             | exnihiloomnia_1.12.2-0.0.2.jar                     | None                                     |     |       | expandableinventory               | 1.4.0                           | ExpandableInventory-1.12.2-1.4.0.jar               | None                                     |     |       | extrabitmanipulation              | 1.12.2-3.4.1                    | ExtraBitManipulation-1.12.2-3.4.1.jar              | None                                     |     |       | extra_spells                      | 1.2.0                           | ExtraSpells-1.12.2-1.2.0.jar                       | None                                     |     |       | extrautils2                       | 1.0                             | extrautils2-1.12-1.9.9.jar                         | None                                     |     |       | bigreactors                       | 1.12.2-0.4.5.68                 | ExtremeReactors-1.12.2-0.4.5.68.jar                | None                                     |     |       | fairylights                       | 2.1.10                          | fairylights-2.2.0-1.12.2.jar                       | None                                     |     |       | farmingforblockheads              | 3.1.28                          | FarmingForBlockheads_1.12.2-3.1.28.jar             | None                                     |     |       | fenceoverhaul                     | 1.3.4                           | FenceOverhaul-1.3.4.jar                            | None                                     |     |       | examplemod                        | 1.0                             | flatcolorblock-hexfinder.jar                       | None                                     |     |       | flatcoloredblocks                 | mc1.12-6.8                      | flatcoloredblocks-mc1.12-6.8.jar                   | None                                     |     |       | fluxnetworks                      | 4.1.0                           | FluxNetworks-1.12.2-4.1.1.34.jar                   | None                                     |     |       | foamfix                           | @VERSION@                       | foamfix-0.10.15-1.12.2.jar                         | None                                     |     |       | forestry                          | 5.8.2.387                       | forestry_1.12.2-5.8.2.387.jar                      | None                                     |     |       | forgelin                          | 1.8.4                           | Forgelin-1.8.4.jar                                 | None                                     |     |       | forgelin_continuous               | 1.9.23.0                        | Forgelin-Continuous-1.9.23.0.jar                   | None                                     |     |       | microblockcbe                     | 2.6.2.83                        | ForgeMultipart-1.12.2-2.6.2.83-universal.jar       | None                                     |     |       | forgemultipartcbe                 | 2.6.2.83                        | ForgeMultipart-1.12.2-2.6.2.83-universal.jar       | None                                     |     |       | minecraftmultipartcbe             | 2.6.2.83                        | ForgeMultipart-1.12.2-2.6.2.83-universal.jar       | None                                     |     |       | ftbultimine                       | 1202.3.5                        | ftb-ultimine-1202.3.5.jar                          | None                                     |     |       | ftbbackups                        | 1.1.0.1                         | FTBBackups-1.1.0.1.jar                             | None                                     |     |       | ftblib                            | 5.4.7.2                         | FTBLib-5.4.7.2.jar                                 | None                                     |     |       | ftbmoney                          | 1.2.0.47                        | FTBMoney-1.2.0.47.jar                              | None                                     |     |       | ftbquests                         | 1202.9.0.15                     | FTBQuests-1202.9.0.15.jar                          | None                                     |     |       | ftbutilities                      | 5.4.1.131                       | FTBUtilities-5.4.1.131.jar                         | None                                     |     |       | fw                                | 1.6.0                           | FullscreenWindowed-1.12-1.6.0.jar                  | None                                     |     |       | funtnt                            | 1.12.2.0                        | funtnt-1.12.2.0.jar                                | None                                     |     |       | cfm                               | 6.3.0                           | furniture-6.3.2-1.12.2.jar                         | None                                     |     |       | gardenofglass                     | sqrt(-1)                        | GardenOfGlass.jar                                  | None                                     |     |       | geckolib3                         | 3.0.30                          | geckolib-forge-1.12.2-3.0.31.jar                   | None                                     |     |       | advgenerators                     | 0.9.20.12                       | generators-0.9.20.12-mc1.12.2.jar                  | None                                     |     |       | googlyeyes                        | 7.1.1                           | GooglyEyes-1.12.2-7.1.1.jar                        | None                                     |     |       | grapplemod                        | 1.12.2-v13                      | grappling_hook_mod-1.12.2-v13.jar                  | None                                     |     |       | gravestone                        | 1.10.3                          | gravestone-1.10.3.jar                              | None                                     |     |       | gravitygun                        | 7.1.0                           | GravityGun-1.12.2-7.1.0.jar                        | None                                     |     |       | grue                              | 1.8.1                           | Grue-1.12.2-1.8.1.jar                              | None                                     |     |       | guideapi                          | 1.12-2.1.8-63                   | Guide-API-1.12-2.1.8-63.jar                        | None                                     |     |       | gunpowderlib                      | 1.12.2-1.1                      | GunpowderLib-1.12.2-1.1.jar                        | None                                     |     |       | cgm                               | 0.15.3                          | guns-0.15.3-1.12.2.jar                             | None                                     |     |       | gyth                              | 2.1.38                          | Gyth-1.12.2-2.1.38.jar                             | None                                     |     |       | hammercore                        | 12.2.50                         | HammerLib-1.12.2-12.2.50.jar                       | None                                     |     |       | harvest                           | 1.12-1.2.8-25                   | Harvest-1.12-1.2.8-25.jar                          | None                                     |     |       | hatchery                          | 2.2.2                           | hatchery-1.12.2-2.2.2.jar                          | None                                     |     |       | headcrumbs                        | 2.0.4                           | Headcrumbs-1.12.2-2.0.5.17.jar                     | None                                     |     |       | heroesexpansion                   | 1.12.2-1.3.5                    | HeroesExpansion-1.12.2-1.3.5.jar                   | None                                     |     |       | hopperducts                       | 1.5                             | hopperducts-mc1.12-1.5.jar                         | None                                     |     |       | waila                             | 1.8.26                          | Hwyla-1.8.26-B41_1.12.2.jar                        | None                                     |     |       | hydrogel                          | 1.1.0                           | HydroGel-1.12.2-1.1.0.jar                          | None                                     |     |       | icbmclassic                       | 6.0.0                           | ICBM-classic-1.12.2-6.0.0-preview.1.jar            | None                                     |     |       | icbmcc                            | 1.0.2                           | ICBM-classic-cc-addon-1.12.2-1.0.2.jar             | None                                     |     |       | ichunutil                         | 7.2.2                           | iChunUtil-1.12.2-7.2.2.jar                         | None                                     |     |       | igi|bloodmagicintegration         | 1.2                             | IGI-BloodMagic-1.2.jar                             | None                                     |     |       | igi|deepresonanceintegration      | 1.1                             | IGI-DeepResonance-1.1.jar                          | None                                     |     |       | igi|rftoolsintegration            | 1.2                             | IGI-RFTools-1.2.jar                                | None                                     |     |       | igi|thaumcraft                    | 1.0a                            | IGI-Thaumcraft-1.0a.jar                            | None                                     |     |       | igisereneseasons                  | 1.0.0.1                         | igisereneseasons-1.0.0.1.jar                       | None                                     |     |       | immersivepetroleum                | 1.1.10                          | immersivepetroleum-1.12.2-1.1.10.jar               | None                                     |     |       | industrialupgrade                 | 3.1.3                           | IndustrialUpgrade-1.12.2-3.1.3.jar                 | None                                     |     |       | ingameinfoxml                     | 2.8.2.94                        | InGameInfoXML-1.12.2-2.8.2.94-universal.jar        | None                                     |     |       | initialinventory                  | 2.0.2                           | InitialInventory-3.0.0.jar                         | None                                     |     |       | integrateddynamics                | 1.1.11                          | IntegratedDynamics-1.12.2-1.1.11.jar               | None                                     |     |       | integrateddynamicscompat          | 1.0.0                           | IntegratedDynamics-1.12.2-1.1.11.jar               | None                                     |     |       | integratedtunnels                 | 1.6.14                          | IntegratedTunnels-1.12.2-1.6.14.jar                | None                                     |     |       | integratedtunnelscompat           | 1.0.0                           | IntegratedTunnels-1.12.2-1.6.14.jar                | None                                     |     |       | inventorypets                     | 2.0.15                          | inventorypets-1.12-2.0.15.jar                      | None                                     |     |       | inventorysorter                   | 1.13.3+57                       | inventorysorter-1.12.2-1.13.3+57.jar               | None                                     |     |       | ironchest                         | 1.12.2-7.0.67.844               | ironchest-1.12.2-7.0.72.847.jar                    | None                                     |     |       | ironjetpacks                      | 1.1.0                           | IronJetpacks-1.12-2-1.1.0.jar                      | None                                     |     |       | ironman                           | Beta-1.12.2-1.2.6               | IronMan-1.12.2-Beta-1.12.2-1.2.6.jar               | None                                     |     |       | itemfilters                       | 1.0.4.2                         | ItemFilters-1.0.4.2.jar                            | None                                     |     |       | jeiutilities                      | 0.2.12                          | JEI-Utilities-1.12.2-0.2.12.jar                    | None                                     |     |       | jei                               | 4.16.1.301                      | jei_1.12.2-4.16.1.301.jar                          | None                                     |     |       | jeiintegration                    | 1.6.0                           | jeiintegration_1.12.2-1.6.0.jar                    | None                                     |     |       | journeymap                        | 1.12.2-5.7.1p2                  | journeymap-1.12.2-5.7.1p2.jar                      | None                                     |     |       | kleeslabs                         | 5.4.12                          | KleeSlabs_1.12.2-5.4.12.jar                        | None                                     |     |       | librarianliblate                  | 4.22                            | librarianlib-1.12.2-4.22.jar                       | None                                     |     |       | librarianlib                      | 4.22                            | librarianlib-1.12.2-4.22.jar                       | None                                     |     |       | literalascension                  | 1.12.2-1.0.2.2                  | literalascension-1.12.2-2.0.0.0.jar                | None                                     |     |       | logisticspipes                    | 0.10.3.114                      | logisticspipes-0.10.3.114.jar                      | None                                     |     |       | longfallboots                     | 1.2.1a                          | longfallboots-1.2.1b.jar                           | None                                     |     |       | lootbags                          | 2.5.8.5                         | LootBags-1.12.2-2.5.8.5.jar                        | None                                     |     |       | lost_aether                       | 1.0.2                           | lost-aether-content-1.12.2-1.0.2.jar               | None                                     |     |       | lostinfinity                      | 1.15.4                          | lostinfinity-1.16.0.jar                            | None                                     |     |       | luckynuke                         | 1.0.0                           | Lucky (1).jar                                      | None                                     |     |       | lucraftcore                       | 1.12.2-2.4.16                   | LucraftCore-1.12.2-2.4.17.jar                      | None                                     |     |       | lucraftcoreidextender             | 1.0.1                           | LucraftCoreIDExtender.jar                          | None                                     |     |       | lunatriuscore                     | 1.2.0.42                        | LunatriusCore-1.12.2-1.2.0.42-universal.jar        | None                                     |     |       | magiccraftadventure               | v1.10                           | MagicCraftAdventure v1.10.jar                      | None                                     |     |       | malisiscore                       | 1.12.2-6.5.1-SNAPSHOT           | malisiscore-1.12.2-6.5.1.jar                       | None                                     |     |       | malisisdoors                      | 1.12.2-7.3.0                    | malisisdoors-1.12.2-7.3.0.jar                      | None                                     |     |       | mantle                            | 1.12-1.3.3.55                   | Mantle-1.12-1.3.3.55.jar                           | None                                     |     |       | matc                              | 1.0.1-hotfix                    | matc-1.0.1-hotfix.jar                              | None                                     |     |       | mcef                              | 1.11                            | mcef-1.12.2-1.11.jar                               | None                                     |     |       | mcjtylib_ng                       | 3.5.4                           | mcjtylib-1.12-3.5.4.jar                            | None                                     |     |       | mclib                             | 2.4.2                           | mclib-2.4.2-1.12.2.jar                             | None                                     |     |       | mcmultipart                       | 2.5.3                           | MCMultiPart-2.5.3.jar                              | None                                     |     |       | mekanism                          | 1.12.2-9.8.3.390                | Mekanism-1.12.2-9.8.3.390.jar                      | None                                     |     |       | mekanismgenerators                | 1.12.2-9.8.3.390                | MekanismGenerators-1.12.2-9.8.3.390.jar            | None                                     |     |       | mekanismtools                     | 1.12.2-9.8.3.390                | MekanismTools-1.12.2-9.8.3.390.jar                 | None                                     |     |       | mercurius                         | 1.0.6                           | Mercurius-1.12.2.jar                               | None                                     |     |       | metamorph                         | 1.3.1                           | metamorph-1.3.1-1.12.2.jar                         | None                                     |     |       | metamorphmax                      | 0.13 - MC 1.12.2                | metamorphmax-0.13.jar                              | None                                     |     |       | minemenu                          | 1.6.11                          | MineMenu-1.12.2-1.6.11-universal.jar               | None                                     |     |       | minicoal                          | 1.0                             | minicoal-1.12.2-1.0.jar                            | None                                     |     |       | missing_pieces                    | 4.3.0                           | missing_pieces-1.12.2-4.3.0.jar                    | None                                     |     |       | moarsigns                         | 6.0.0.11                        | MoarSigns-1.12.2-6.0.0.11.jar                      | None                                     |     |       | moartinkers                       | 0.6.0                           | moartinkers-0.6.0.jar                              | None                                     |     |       | mob_grinding_utils                | 0.3.13                          | MobGrindingUtils-0.3.13.jar                        | None                                     |     |       | modnametooltip                    | 1.10.1                          | modnametooltip_1.12.2-1.10.1.jar                   | None                                     |     |       | modtweaker                        | 4.0.19                          | modtweaker-4.0.20.11.jar                           | None                                     |     |       | moreavaritia                      | 3.5                             | moreavaritia-mc1.12.2-v1.5.jar                     | None                                     |     |       | morechickens                      | 3.1.0                           | morechickens-1.12.2-3.1.0.jar                      | None                                     |     |       | shear                             | 1.1.2                           | MoreShearables1.3.1-1.12.2.jar                     | None                                     |     |       | morpheus                          | 1.12.2-3.5.106                  | Morpheus-1.12.2-3.5.106.jar                        | None                                     |     |       | mousetweaks                       | 2.10                            | MouseTweaks-2.10-mc1.12.2.jar                      | None                                     |     |       | mowziesmobs                       | 1.5.8                           | mowziesmobs-1.5.8.jar                              | None                                     |     |       | mpbasic                           | 1.4.7                           | mpbasic-1.12.2-1.4.11.jar                          | None                                     |     |       | mputils                           | 1.5.6                           | MPUtils-1.12.2-1.5.7.jar                           | None                                     |     |       | mtlib                             | 3.0.7                           | MTLib-3.0.7.jar                                    | None                                     |     |       | mysticalagradditions              | 1.3.2                           | MysticalAgradditions-1.12.2-1.3.2.jar              | None                                     |     |       | mysticalagriculture               | 1.7.5                           | MysticalAgriculture-1.12.2-1.7.5.jar               | None                                     |     |       | mysticallib                       | 1.12.2-1.13.0                   | mysticallib-1.12.2-1.13.0.jar                      | None                                     |     |       | natura                            | 1.12.2-4.3.2.69                 | natura-1.12.2-4.3.2.69.jar                         | None                                     |     |       | neat                              | 1.4-17                          | Neat 1.4-17.jar                                    | None                                     |     |       | nice                              | 0.4.0                           | nice-1.12-0.4.0.jar                                | None                                     |     |       | nei                               | 2.4.3                           | NotEnoughItems-1.12.2-2.4.3.245-universal.jar      | None                                     |     |       | notenoughwands                    | 1.8.1                           | notenoughwands-1.12-1.8.1.jar                      | None                                     |     |       | hbm                               | NTM-Extended-1.12.2-2.0.2       | NTM-Extended-1.12.2-2.0.2.jar                      | None                                     |     |       | openablewindows                   | 0.0.1                           | openablewindows-1.0.jar                            | None                                     |     |       | opencomputers                     | 1.8.5                           | OpenComputers-MC1.12.2-1.8.5+179e1c3.jar           | None                                     |     |       | eternalsoap.icbm.opencomputers    | 1.0                             | OpenComputersICBMAddon-1.3.jar                     | None                                     |     |       | oreexcavation                     | 1.4.150                         | OreExcavation-1.4.150.jar                          | None                                     |     |       | orespawn                          | 3.3.1                           | OreSpawn-1.12-3.3.1.179.jar                        | None                                     |     |       | packingtape                       | 0.7.6                           | PackingTape-1.12.2-0.7.6.jar                       | None                                     |     |       | harvestcraft                      | 1.12.2zb                        | Pam's HarvestCraft 1.12.2zg.jar                    | None                                     |     |       | pamsimpleharvest                  | 2.0.0                           | pamsimpleharvest-2.0.0.jar                         | None                                     |     |       | patchouli                         | 1.0-23.6                        | Patchouli-1.0-23.6.jar                             | None                                     |     |       | placebo                           | 1.6.0                           | Placebo-1.12.2-1.6.1.jar                           | None                                     |     |       | platforms                         | 1.4.6                           | platforms-1.12.0-1.4.6.jar                         | None                                     |     |       | portalgun                         | 7.1.0                           | PortalGun-1.12.2-7.1.0.jar                         | None                                     |     |       | powerutils                        | 1.5.3                           | Power+Utilities.jar                                | None                                     |     |       | projecte                          | 1.12.2-PE1.4.1                  | ProjectE-1.12.2-PE1.4.1.jar                        | None                                     |     |       | projectex                         | 1.2.0.40                        | ProjectEX-1.2.0.40.jar                             | None                                     |     |       | projectintelligence               | 1.0.9                           | ProjectIntelligence-1.12.2-1.0.9.28-universal.jar  | None                                     |     |       | psi                               | r1.1-78                         | Psi-r1.1-78.2.jar                                  | None                                     |     |       | ptrmodellib                       | 1.0.5                           | PTRLib-1.0.5.jar                                   | None                                     |     |       | pymtech                           | 1.12.2-1.0.2                    | PymTech-1.12.2-1.0.2.jar                           | None                                     |     |       | quantum_generators                | 1.3.1                           | Quantum_Generators.jar                             | None                                     |     |       | quantumflux                       | 2.0.18                          | quantumflux-1.12.2-2.0.18.jar                      | None                                     |     |       | quantumstorage                    | 4.7.0                           | QuantumStorage-1.12-4.7.0.jar                      | None                                     |     |       | questbook                         | 3.1.1-1.12                      | questbook-3.1.1-1.12.jar                           | None                                     |     |       | randomthings                      | 4.2.7.4                         | RandomThings-MC1.12.2-4.2.7.4.jar                  | None                                     |     |       | rangedpumps                       | 0.5                             | rangedpumps-0.5.jar                                | None                                     |     |       | reborncore                        | 3.19.5                          | RebornCore-1.12.2-3.19.5-universal.jar             | None                                     |     |       | rebornstorage                     | 1.0.0                           | RebornStorage-1.12.2-3.3.4.1.jar                   | None                                     |     |       | reccomplex                        | 1.4.8.5                         | RecurrentComplex-1.4.8.5.jar                       | None                                     |     |       | redstoneflux                      | 2.1.1                           | RedstoneFlux-1.12-2.1.1.1-universal.jar            | None                                     |     |       | redstonepaste                     | 1.7.5                           | redstonepaste-mc1.12-1.7.5.jar                     | None                                     |     |       | refined_avaritia                  | 2.6                             | refined_avaritia-1.12.2-2.6.jar                    | None                                     |     |       | refinedstorage                    | 1.6.16                          | refinedstorage-1.6.16.jar                          | None                                     |     |       | refinedstorageaddons              | 0.4.5                           | refinedstorageaddons-0.4.5.jar                     | None                                     |     |       | refinedstoragerequestify          | ${version}                      | refinedstoragerequestify-1.12.2-1.0.2-3.jar        | None                                     |     |       | regeneration                      | 3.0.3                           | Regeneration-3.0.3.jar                             | None                                     |     |       | resourceloader                    | 1.5.3                           | ResourceLoader-MC1.12.1-1.5.3.jar                  | None                                     |     |       | rftdimtweak                       | 1.1                             | RFTDimTweak-1.12.2-1.1.jar                         | None                                     |     |       | rftools                           | 7.73                            | rftools-1.12-7.73.jar                              | None                                     |     |       | rftoolscontrol                    | 2.0.2                           | rftoolsctrl-1.12-2.0.2.jar                         | None                                     |     |       | rftoolsdim                        | 5.71                            | rftoolsdim-1.12-5.71.jar                           | None                                     |     |       | rftoolspower                      | 1.2.0                           | rftoolspower-1.12-1.2.0.jar                        | None                                     |     |       | rftpwroc                          | 0.1                             | rftpwr_oc-0.2.jar                                  | None                                     |     |       | roots                             | 1.12.2-3.1.9.2                  | Roots-1.12.2-3.1.9.2.jar                           | None                                     |     |       | rslargepatterns                   | 1.12.2-1.0.0.0                  | RSLargePatterns-1.12.2-1.0.0.1.jar                 | None                                     |     |       | woodenshears                      | @MAJOR@.@MINOR@.@REVIS@.@BUILD@ | SBM-WoodenShears-1.12-0.0.1b8.jar                  | None                                     |     |       | scanner                           | 1.6.12                          | scanner-1.6.12.jar                                 | None                                     |     |       | secureenderstorage                | 1.12.2-1.2.0                    | SecureEnderStorage-1.12.2-1.2.0.jar                | None                                     |     |       | sereneseasons                     | 1.2.18                          | SereneSeasons-1.12.2-1.2.18-universal.jar          | None                                     |     |       | shadowmc                          | 3.8.0                           | ShadowMC-1.12-3.8.0.jar                            | None                                     |     |       | shearmadness                      | 1.12.2                          | shearmadness-1.12.2-1.7.2.4.jar                    | None                                     |     |       | simple-rpc                        | 1.0                             | simple-rpc-1.12.2-3.1.1.jar                        | None                                     |     |       | simplecorn                        | 2.5.12                          | SimpleCorn1.12-2.5.12.jar                          | None                                     |     |       | simplegenerators                  | 1.12.2-2.0.20.2                 | simplegenerators-1.12.2-2.0.20.2.jar               | None                                     |     |       | simplyquarries                    | 1.6.2                           | Simply+Quarries.jar                                | None                                     |     |       | simplyjetpacks                    | 1.12.2-2.2.20.0                 | SimplyJetpacks2-1.12.2-2.2.20.0.jar                | None                                     |     |       | snad                              | 1.12.1-1.7.09.16a               | Snad-1.12.1-1.7.09.16a.jar                         | None                                     |     |       | solarflux                         | 12.4.11                         | SolarFluxReborn-1.12.2-12.4.11.jar                 | None                                     |     |       | sonarcore                         | 5.0.19                          | sonarcore-1.12.2-5.0.19-20.jar                     | None                                     |     |       | speedsterheroes                   | 1.12.2-2.2.1                    | SpeedsterHeroes-1.12.2-2.2.1.jar                   | None                                     |     |       | statues                           | 0.8.10                          | statues-1.12.2-0.8.11.jar                          | None                                     |     |       | stellarfluidconduits              | 1.12.2-1.0.0                    | stellarfluidconduit-1.12.2-1.0.3.jar               | None                                     |     |       | stevescarts                       | 2.4.32.137                      | StevesCarts-1.12.2-2.4.32.137.jar                  | None                                     |     |       | storagedrawers                    | 5.5.0                           | StorageDrawers-1.12.2-5.5.0.jar                    | None                                     |     |       | tabula                            | 7.1.0                           | Tabula-1.12.2-7.1.0.jar                            | None                                     |     |       | taiga                             | 1.12.2-1.3.3                    | taiga-1.12.2-1.3.4.jar                             | None                                     |     |       | tardis                            | 0.1.4A                          | tardis-0.1.4A.jar                                  | None                                     |     |       | tconstruct                        | 1.12.2-2.13.0.183               | TConstruct-1.12.2-2.13.0.183.jar                   | None                                     |     |       | thaumcraft                        | 6.1.BETA26                      | Thaumcraft-1.12.2-6.1.BETA26.jar                   | None                                     |     |       | thaumicjei                        | 1.6.0                           | ThaumicJEI-1.12.2-1.6.0-27.jar                     | None                                     |     |       | beneath                           | 1.7.1                           | The Beneath-1.12.2-1.7.1.jar                       | None                                     |     |       | the-fifth-world                   | 0.5                             | the-fifth-world-0.5.1.jar                          | None                                     |     |       | tabulathreecoreexporter           | 1.12.2-1.0.0                    | ThreeCoreModelExporter-1.12.2-1.0.0.jar            | None                                     |     |       | tinkersaddons                     | 1.0.7                           | Tinkers' Addons-1.12.1-1.0.7.jar                   | None                                     |     |       | tinkers_reforged                  | 1.5.6                           | tinkers_reforged-1.5.6.jar                         | None                                     |     |       | tinkers_reforged_preload          | 1.5.6                           | tinkers_reforged-1.5.6.jar                         | None                                     |     |       | tinkersaether                     | 1.4.1                           | tinkersaether-1.4.1.jar                            | None                                     |     |       | tcomplement                       | 1.12.2-0.4.3                    | TinkersComplement-1.12.2-0.4.3.jar                 | None                                     |     |       | tinkersjei                        | 1.2                             | tinkersjei-1.2.jar                                 | None                                     |     |       | tinkersoc                         | 0.6                             | tinkersoc-0.6.jar                                  | None                                     |     |       | tinkertoolleveling                | 1.12.2-1.1.0.DEV.b23e769        | TinkerToolLeveling-1.12.2-1.1.0.jar                | None                                     |     |       | tp                                | 3.2.34                          | tinyprogressions-1.12.2-3.3.34-Release.jar         | None                                     |     |       | tnt_craft                         | 1.0.0                           | tnt-craft-1.12.2-V-1.1.0.jar                       | None                                     |     |       | tnt_utilities                     | 1.2.3                           | tnt_utilities-mc1.12-1.2.3.jar                     | None                                     |     |       | torchmaster                       | 1.8.5.0                         | torchmaster_1.12.2-1.8.5.0.jar                     | None                                     |     |       | translocators                     | 2.5.2.81                        | Translocators-1.12.2-2.5.2.81-universal.jar        | None                                     |     |       | ts2k16                            | 1.2.10                          | TS2K16-1.2.10.jar                                  | None                                     |     |       | twitchcrumbs                      | 3.0.4                           | Twitchcrumbs_1.12.2-3.0.4.jar                      | None                                     |     |       | unidict                           | 1.12.2-3.0.10                   | UniDict-1.12.2-3.0.10.jar                          | None                                     |     |       | universalmodifiers                | 1.12.2-1.0.16.1                 | valkyrielib-1.12.2-2.0.20.1.jar                    | None                                     |     |       | valkyrielib                       | 1.12.2-2.0.20.1                 | valkyrielib-1.12.2-2.0.20.1.jar                    | None                                     |     |       | vehicle                           | 0.44.1                          | vehicle-mod-0.44.1-1.12.2.jar                      | None                                     |     |       | viaforge                          | 3.6.0                           | viaforge-mc1122-3.6.0.jar                          | None                                     |     |       | voicechat                         | 1.12.2-2.5.13                   | voicechat-forge-1.12.2-2.5.13.jar                  | None                                     |     |       | waddles                           | 0.6.0                           | Waddles-1.12.2-0.6.0.jar                           | None                                     |     |       | wanionlib                         | 1.12.2-2.91                     | WanionLib-1.12.2-2.91.jar                          | None                                     |     |       | warpbook                          | 1.12.2-3.3.4                    | Warpbook-1.12.2-3.3.4.jar                          | None                                     |     |       | wawla                             | 2.6.275                         | Wawla-1.12.2-2.6.275.jar                           | None                                     |     |       | waystones                         | 4.1.0                           | Waystones_1.12.2-4.1.0.jar                         | None                                     |     |       | webdisplays                       | 1.1                             | webdisplaysremastered-1.12.2-1.2.jar               | None                                     |     |       | wintertagva                       | 1.12.2-1.0.0                    | WinterTAGVA-1.12.2-1.0.0.jar                       | None                                     |     |       | withercrumbs                      | @version@                       | witherCrumbs-1.12.2-0.11.jar                       | None                                     |     |       | zerocore                          | 1.12.2-0.1.2.9                  | zerocore-1.12.2-0.1.2.9.jar                        | None                                     |     |       | orbis-lib                         | 0.2.0                           | orbis-lib-1.12.2-0.2.0+build411.jar                | None                                     |     |       | phosphor-lighting                 | 1.12.2-0.2.6                    | phosphor-1.12.2-0.2.6+build50.jar                  | None                                     |     |       | immersiveengineering              | 0.12-98                         | ImmersiveEngineering-0.12-98.jar                   | None                                     |     |       | k9                                | 1.12.2-1.3.3.0                  | k9-1.12.2-1.3.3.0.jar                              | None                                     |     |       | llibrary                          | 1.7.20                          | llibrary-1.7.20-1.12.2.jar                         | None                                     |     |       | shetiphiancore                    | 3.5.9                           | shetiphiancore-1.12.0-3.5.9.jar                    | None                                     |     |       | structurize                       | 1.12.2-0.10.277-RELEASE         | structurize-1.12.2-0.10.277-RELEASE.jar            | None                                     |     |       | weeping-angels                    | 1.12.2-46                       | weeping-angels-46.jar                              | None                                     |     Loaded coremods (and transformers):  IELoadingPlugin (ImmersiveEngineering-core-0.12-98.jar)   blusunrize.immersiveengineering.common.asm.IEClassTransformer LibrarianLib Plugin (librarianlib-1.12.2-4.22.jar)   com.teamwizardry.librarianlib.asm.LibLibTransformer MixinLoader (viaforge-mc1122-3.6.0.jar)    McLib core mod (mclib-2.4.2-1.12.2.jar)   mchorse.mclib.core.McLibCMClassTransformer EFFLL (LiteLoader ObjectHolder fix) (ExtraFoamForLiteLoader-1.0.0.jar)   pl.asie.extrafoamforliteloader.EFFLLTransformer MekanismCoremod (Mekanism-1.12.2-9.8.3.390.jar)   mekanism.coremod.KeybindingMigrationHelper LogisticsPipesCoreLoader (logisticspipes-0.10.3.114.jar)   logisticspipes.asm.LogisticsClassTransformer AppleCore (AppleCore-mc1.12.2-3.4.0.jar)   squeek.applecore.asm.TransformerModuleHandler BiomeTweakerCore (BiomeTweakerCore-1.12.2-1.0.39.jar)   me.superckl.biometweakercore.BiomeTweakerASMTransformer ObfuscatePlugin (obfuscate-0.4.2-1.12.2.jar)   com.mrcrayfish.obfuscate.asm.ObfuscateTransformer Regeneration (Regeneration-3.0.3.jar)   me.suff.mc.regen.asm.RegenClassTransformer UniDictCoreMod (UniDict-1.12.2-3.0.10.jar)   wanion.unidict.core.UniDictCoreModTransformer ReflectorsPlugin (EnderStorage-1.12.2-2.5.0.jar)   codechicken.enderstorage.reflection.ReflectorsPlugin EntityCullingEarlyLoader (entityculling-1.12.2-1.6.3.jar)    Controllable (controllable-0.11.2-1.12.2.jar)    craftfallessentials (CraftfallEssentials-1.12.2-1.2.6.jar)   com.hydrosimp.craftfallessentials.core.CEClassTransformer SecurityCraftLoadingPlugin ([1.12.2] SecurityCraft v1.9.9.jar)    LoadingPlugin (ResourceLoader-MC1.12.1-1.5.3.jar)   lumien.resourceloader.asm.ClassTransformer MalisisCorePlugin (malisiscore-1.12.2-6.5.1.jar)    pymtech (PymTech-1.12.2-1.0.2.jar)   lucraft.mods.pymtech.core.PymTechClassTransformer IvToolkit (IvToolkit-1.3.3-1.12.jar)    JeiUtilitiesLoadingPlugin (JEI-Utilities-1.12.2-0.2.12.jar)   com.github.vfyjxf.jeiutilities.asm.JeiUtilitiesClassTransformer LoadingPlugin (RandomThings-MC1.12.2-4.2.7.4.jar)   lumien.randomthings.asm.ClassTransformer SSLoadingPlugin (SereneSeasons-1.12.2-1.2.18-universal.jar)   sereneseasons.asm.transformer.EntityRendererTransformer   sereneseasons.asm.transformer.WorldTransformer Do not report to Forge! (If you haven't disabled the FoamFix coremod, try disabling it in the config! Note that this bit of text will still appear.) (foamfix-0.10.15-1.12.2.jar)   pl.asie.foamfix.coremod.FoamFixTransformer FTBUltimineASM (ftb-ultimine-1202.3.5.jar)    ForgelinPlugin (Forgelin-1.8.4.jar)    Backpacked (backpacked-1.4.3-1.12.2.jar)   com.mrcrayfish.backpacked.asm.BackpackedTransformer ForgelinPlugin (Forgelin-Continuous-1.9.23.0.jar)    HCASM (HammerLib-1.12.2-12.2.50.jar)   com.zeitheron.hammercore.asm.HammerCoreTransformer LucraftCoreExtendedID (LucraftCoreIDExtender.jar)    NWRTweak (redstonepaste-mc1.12-1.7.5.jar)   net.fybertech.nwr.NWRTransformer CTMCorePlugin (CTM-MC1.12.2-1.0.2.31.jar)   team.chisel.ctm.client.asm.CTMTransformer LucraftCoreCoreMod (LucraftCore-1.12.2-2.4.17.jar)   lucraft.mods.lucraftcore.core.LCTransformer EnderCorePlugin (EnderCore-1.12.2-0.5.78-core.jar)   com.enderio.core.common.transform.EnderCoreTransformer   com.enderio.core.common.transform.SimpleMixinPatcher TransformerLoader (OpenComputers-MC1.12.2-1.8.5+179e1c3.jar)   li.cil.oc.common.asm.ClassTransformer llibrary (llibrary-core-1.0.11-1.12.2.jar)   net.ilexiconn.llibrary.server.core.plugin.LLibraryTransformer   net.ilexiconn.llibrary.server.core.patcher.LLibraryRuntimePatcher ShetiPhian-ASM (ShetiPhian-ASM-1.12.0.jar)   shetiphian.asm.ClassTransformer PhosphorFMLLoadingPlugin (phosphor-1.12.2-0.2.6+build50.jar)    MekanismTweaks (mekanismtweaks-1.1.jar)    ShutdownPatcher (mcef-1.12.2-1.11-coremod.jar)   net.montoyo.mcef.coremod.ShutdownPatcher TNTUtilities Core (tnt_utilities-mc1.12-1.2.3.jar)   ljfa.tntutils.asm.ExplosionTransformer     GL info: ' Vendor: 'Intel' Version: '4.6.0 - Build 32.0.101.5428' Renderer: 'Intel(R) Iris(R) Xe Graphics'     Launched Version: forge-14.23.5.2860     LWJGL: 2.9.4     OpenGL: Intel(R) Iris(R) Xe Graphics GL version 4.6.0 - Build 32.0.101.5428, Intel     GL Caps: Using GL 1.3 multitexturing. Using GL 1.3 texture combiners. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Shaders are available because OpenGL 2.1 is supported. VBOs are available because OpenGL 1.5 is supported.     Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'fml,forge'     Type: Client (map_client.txt)     Resource Packs:      Current Language: English (US)     Profiler Position: N/A (disabled)     CPU: 8x 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
    • Advice for the future: I made functions to create recipes more easily; they generate names for the recipes based on the ingredients and the result. 
  • Topics

×
×
  • Create New...

Important Information

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