If I see this right I need to manually save it right?
public abstract class TileEntityInventoryProvider extends TileEntity{
private ItemStackHandler handler;
private static final String INVENTORY_KEY = "beeverutils.inventory";
protected abstract int getSize();
public TileEntityInventoryProvider() {
handler = new ItemStackHandler(getSize());
}
@Override
public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
if(capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) return true;
return false;
}
@Override
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
// TODO Auto-generated method stub
return (T)handler;
}
@Override
public void writeToNBT(NBTTagCompound compound) {
super.writeToNBT(compound);
compound.setTag(INVENTORY_KEY, handler.serializeNBT());
}
@Override
public void readFromNBT(NBTTagCompound compound) {
super.readFromNBT(compound);
handler.deserializeNBT((NBTTagCompound) compound.getTag(INVENTORY_KEY));
}
}