diff --git a/src/main/java/refinedstorage/block/BlockController.java b/src/main/java/refinedstorage/block/BlockController.java index 18ae005fc..504a8c3b9 100755 --- a/src/main/java/refinedstorage/block/BlockController.java +++ b/src/main/java/refinedstorage/block/BlockController.java @@ -22,6 +22,7 @@ import refinedstorage.RefinedStorageBlocks; import refinedstorage.RefinedStorageGui; import refinedstorage.item.ItemBlockController; import refinedstorage.tile.TileController; +import refinedstorage.tile.TileMachine; import java.util.ArrayList; import java.util.List; @@ -114,11 +115,11 @@ public class BlockController extends BlockBase { NBTTagCompound tag = itemStack.getTagCompound(); - if (tag != null) { + if (tag != null && tag.hasKey(TileMachine.NBT_ENERGY)) { TileEntity tile = world.getTileEntity(pos); if (tile instanceof TileController) { - ((TileController) tile).readItemOrBlockNBT(tag); + ((TileController) tile).receiveEnergy(null, tag.getInteger(TileMachine.NBT_ENERGY), false); } } } @@ -130,7 +131,7 @@ public class BlockController extends BlockBase { ItemStack stack = new ItemStack(RefinedStorageBlocks.CONTROLLER, 1, RefinedStorageBlocks.CONTROLLER.getMetaFromState(state)); NBTTagCompound tag = new NBTTagCompound(); - ((TileController) world.getTileEntity(pos)).writeItemOrBlockNBT(tag); + tag.setInteger(TileMachine.NBT_ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyStored(null)); stack.setTagCompound(tag); drops.add(stack); @@ -138,7 +139,6 @@ public class BlockController extends BlockBase { return drops; } - @Override public boolean hasComparatorInputOverride(IBlockState state) { return true; diff --git a/src/main/java/refinedstorage/item/ItemBlockController.java b/src/main/java/refinedstorage/item/ItemBlockController.java index b4915d2dc..edd06c89b 100755 --- a/src/main/java/refinedstorage/item/ItemBlockController.java +++ b/src/main/java/refinedstorage/item/ItemBlockController.java @@ -18,18 +18,15 @@ public class ItemBlockController extends ItemBlockBase { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) { - EnumControllerType type = stack.getMetadata() == EnumControllerType.CREATIVE.getId() ? EnumControllerType.CREATIVE : EnumControllerType.NORMAL; + if (stack.getMetadata() != EnumControllerType.CREATIVE.getId()) { + int energyStored = 0; - int energyStored = 0; - int capacity = TileController.ENERGY_CAPACITY; + if (stack.getTagCompound() != null && stack.getTagCompound().hasKey(TileController.NBT_ENERGY)) { + energyStored = stack.getTagCompound().getInteger(TileController.NBT_ENERGY); + } - if (type == EnumControllerType.CREATIVE) { - energyStored = capacity; - } else if (stack.getTagCompound() != null && stack.getTagCompound().hasKey(TileController.NBT_ENERGY)) { - energyStored = stack.getTagCompound().getInteger(TileController.NBT_ENERGY); + list.add(I18n.format("misc.refinedstorage:energy_stored", energyStored, TileController.ENERGY_CAPACITY)); } - - list.add(I18n.format("misc.refinedstorage:energy_stored", energyStored, capacity)); } @Override @@ -40,15 +37,13 @@ public class ItemBlockController extends ItemBlockBase { } public static ItemStack initNBT(ItemStack stack) { - EnumControllerType type = stack.getMetadata() == EnumControllerType.CREATIVE.getId() ? EnumControllerType.CREATIVE : EnumControllerType.NORMAL; - NBTTagCompound tag = stack.getTagCompound(); if (tag == null) { tag = new NBTTagCompound(); } - tag.setInteger(TileController.NBT_ENERGY, type == EnumControllerType.CREATIVE ? TileController.ENERGY_CAPACITY : 0); + tag.setInteger(TileController.NBT_ENERGY, stack.getMetadata() == EnumControllerType.CREATIVE.getId() ? TileController.ENERGY_CAPACITY : 0); return stack; } diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index 2d333b72c..3f1b00966 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -36,7 +36,6 @@ import refinedstorage.util.InventoryUtils; import java.util.*; public class TileController extends TileBase implements IEnergyReceiver, INetworkTile, IRedstoneModeConfig { - public class ClientSideMachine { public ItemStack stack; public int energyUsage; @@ -196,10 +195,6 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor machines.clear(); } - public List getMachines() { - return machines; - } - public List getItemGroups() { return itemGroups; } @@ -366,12 +361,6 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - readItemOrBlockNBT(nbt); - } - - public void readItemOrBlockNBT(NBTTagCompound nbt) { - energy.readFromNBT(nbt); - if (nbt.hasKey(RedstoneMode.NBT)) { redstoneMode = RedstoneMode.getById(nbt.getInteger(RedstoneMode.NBT)); } @@ -381,11 +370,6 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - writeItemOrBlockNBT(nbt); - } - - public void writeItemOrBlockNBT(NBTTagCompound nbt) { - energy.writeToNBT(nbt); nbt.setInteger(RedstoneMode.NBT, redstoneMode.id); }