Don't store redstone status for controller for consistency sake

This commit is contained in:
Raoul Van den Berge
2016-04-06 22:57:05 +02:00
parent 9e34550d9b
commit a4f8c94bb4
3 changed files with 11 additions and 32 deletions

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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<TileMachine> getMachines() {
return machines;
}
public List<ItemGroup> 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);
}