Take a look at the vanilla crafting table. The crafting manager is responsible for crafting recipes. The ContainerWorkbench is responsible for the GUI to load, and the GuiWorkbench is responsible for displaying the GUI on screen. You'd also want the BlockWorkbench and InventoryCrafting classes.
I think thats all the classes.. Might have missed some.
Good Luck!
Have you registered the packet?
Where do you send the packet?
If you need a proper way to get the EntityPlayer, check out coolAlias's packet handling tutorial:
http://www.minecraftforum.net/forums/mapping-and-modding/mapping-and-modding-tutorials/2137055-1-7-x-1-8-customizing-packet-handling-with
What do you mean, packet handling doesn't work?
Inside the chest is more than 45 slots. 4x9 player's inventory and 6x3 inventory chest ...
Are you saying you are storing the players inventory in your chest?
If you have an array of 45 slots, you cannot access slot 45 as there is no slot called that. The highest slot number is 44 as the first slot number is 0.
That's 1.6 code. Don't use that unless you know what you are doing.
Look in one of vanilla's guis. Compare the fontRender function in there with yours.
Gradle's run out of memory. You need to specify more.
Open the gradlew file (with notepad++ or wordpad), and look around line 11. There should be a variable called
DEFUALT_JVM_OPTS
. Change that to something higher.
512M is 1/2 GB
1024M is 1 GB
2G is 2 GB
and so on...
Try getting the NBTTagList by doing:
NBTTagList list = nbt.getTagList("inventory", NBT.TAG_COMPOUND);
Just a thought...
Also, you're functions are not called when you enter the chunk?
If so, have you registered your TileEntity?
Then, place a breakpoint in the NBT functions, and debug it.