NBTTagCompound dataCompound = new NBTTagCompound();
ItemStack newStack = new ItemStack(Items.DIAMOND);
newStack.writeToNBT(dataCompound); //writes newStack data to dataCompound
if(dataCompound.hasKey("id")) { ItemStack fromCompoundStack = new ItemStack(dataCompound); } //if the dataCompound has a ItemStack data, make a new stack from that data.
The tile entity should override the has/getCapability methods appropriately
replace everything from IInventory with the tile entities ItemstackHandler
You can see an example at
https://github.com/Cadiboo/WIPTech/blob/fb5883e9d76ef0361ec1ebbcb9c508611dd2ef6b/src/main/java/cadiboo/wiptech/tileentity/TileEntityModFurnace.java#L300-L340
and
https://github.com/Cadiboo/WIPTech/blob/fb5883e9d76ef0361ec1ebbcb9c508611dd2ef6b/src/main/java/cadiboo/wiptech/inventory/ContainerModFurnace.java
Keep in mind that if you are booting with UEFI you will have issues. That said, there's a ppa for the proprietary graphics drivers:
https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa
Edit: that should say "... if you are booting with UEFI you will have issues with proprietary drivers due to signature requirements".
No, those overrides should be sufficient. What does your model JSON look like?
Also, you should be using CUTOUT_MIPPED for your block render layer (getBlockLayer()). TRANSLUCENT is for blocks like glass or ice.
I believe it needs to be a ResourceLocation instead of just a String
e.g.,
GameRegistry.registerTileEntity(DataTileEntity.class, new ResourceLocation(Reference.MOD_ID + ".data_block"));