diff --git a/src/main/java/com/jaquadro/minecraft/storagedrawers/api/registry/IIngredientHandler.java b/src/main/java/com/jaquadro/minecraft/storagedrawers/api/registry/IIngredientHandler.java index 714bc6dfe..b247bb52d 100755 --- a/src/main/java/com/jaquadro/minecraft/storagedrawers/api/registry/IIngredientHandler.java +++ b/src/main/java/com/jaquadro/minecraft/storagedrawers/api/registry/IIngredientHandler.java @@ -3,7 +3,7 @@ package com.jaquadro.minecraft.storagedrawers.api.registry; import net.minecraft.item.ItemStack; /** - * Ingredient handlers are used to get ItemStacks from ingredients in custom IRecipe implementations. If you have + * Ingredient handlers are used to getOrLoad ItemStacks from ingredients in custom IRecipe implementations. If you have * registered an IRecipeHandler that returns lists of objects that aren't ItemStacks, then you will need to * implement an ingredient handler for those objects. */ diff --git a/src/main/java/com/jaquadro/minecraft/storagedrawers/api/registry/IRecipeHandler.java b/src/main/java/com/jaquadro/minecraft/storagedrawers/api/registry/IRecipeHandler.java index 9cb3e8b9e..17cbf3afc 100755 --- a/src/main/java/com/jaquadro/minecraft/storagedrawers/api/registry/IRecipeHandler.java +++ b/src/main/java/com/jaquadro/minecraft/storagedrawers/api/registry/IRecipeHandler.java @@ -12,7 +12,7 @@ public interface IRecipeHandler { /** * Get the recipe ingredient list as an array of objects (usually used for shaped recipes). * If your array does not contain ItemStack objects, you will need to register an {@link IIngredientHandler} to - * get an ItemStack from them. + * getOrLoad an ItemStack from them. *

* If you would prefer to return a List, return null in this method and implement {@link #getInputAsList}. * @@ -24,7 +24,7 @@ public interface IRecipeHandler { /** * Get the recipe ingredient list as a list of objects (usually used for shapeless recipes). * If your list does not contain ItemStack objects, you will need to register an {@link IIngredientHandler} to - * get an ItemStack from them. + * getOrLoad an ItemStack from them. *

* If you would prefer to return an array, return null in this method and implement {@link #getInputAsArray}. * diff --git a/src/main/java/refinedstorage/api/network/INetworkSlave.java b/src/main/java/refinedstorage/api/network/INetworkSlave.java index f8bdd53a2..8a62e601b 100755 --- a/src/main/java/refinedstorage/api/network/INetworkSlave.java +++ b/src/main/java/refinedstorage/api/network/INetworkSlave.java @@ -6,7 +6,7 @@ import net.minecraft.world.World; /** * Represents a slave or machine in the storage network. * - * Make sure you implement {@link Object#hashCode()} or the slave will not get properly removed or added by the storage master. + * Make sure you implement {@link Object#hashCode()} or the slave will not getOrLoad properly removed or added by the storage master. * Typically the hash code from {@link INetworkSlave#getPosition()} is used. */ public interface INetworkSlave { @@ -65,7 +65,7 @@ public interface INetworkSlave { boolean isConnected(); /** - * @return If {@link INetworkSlave#canUpdate()} can get called. Typically checks for connection and redstone mode. + * @return If {@link INetworkSlave#canUpdate()} can getOrLoad called. Typically checks for connection and redstone mode. */ boolean canUpdate(); diff --git a/src/main/java/refinedstorage/api/network/NetworkMaster.java b/src/main/java/refinedstorage/api/network/NetworkMaster.java index 71b2e836f..654902840 100755 --- a/src/main/java/refinedstorage/api/network/NetworkMaster.java +++ b/src/main/java/refinedstorage/api/network/NetworkMaster.java @@ -40,6 +40,10 @@ public class NetworkMaster { public static final String NBT_CRAFTING_TASKS = "CraftingTasks"; public static final String NBT_ENERGY = "Energy"; + public static final String NBT_SLAVES = "Slaves"; + public static final String NBT_SLAVE_X = "X"; + public static final String NBT_SLAVE_Y = "Y"; + public static final String NBT_SLAVE_Z = "Z"; private StorageHandler storageHandler = new StorageHandler(this); private WirelessGridHandler wirelessGridHandler = new WirelessGridHandler(this); @@ -446,7 +450,7 @@ public class NetworkMaster { if (RefinedStorageUtils.compareStackNoQuantity(stack, otherStack)) { // We copy here so we don't modify the quantity of the ItemStack IStorage uses. - // We re-get the ItemStack because the stack may change from a previous iteration in this loop + // We re-getOrLoad the ItemStack because the stack may change from a previous iteration in this loop ItemStack newStack = items.get(i).copy(); newStack.stackSize += otherStack.stackSize; items.set(i, newStack); @@ -589,13 +593,13 @@ public class NetworkMaster { } } - if (tag.hasKey("Machines")) { - NBTTagList machinesTag = tag.getTagList("Machines", Constants.NBT.TAG_COMPOUND); + if (tag.hasKey(NBT_SLAVES)) { + NBTTagList slavesTag = tag.getTagList(NBT_SLAVES, Constants.NBT.TAG_COMPOUND); - for (int i = 0; i < machinesTag.tagCount(); ++i) { - NBTTagCompound coords = machinesTag.getCompoundTagAt(i); + for (int i = 0; i < slavesTag.tagCount(); ++i) { + NBTTagCompound slave = slavesTag.getCompoundTagAt(i); - slavesToLoad.add(new BlockPos(coords.getInteger("X"), coords.getInteger("Y"), coords.getInteger("Z"))); + slavesToLoad.add(new BlockPos(slave.getInteger(NBT_SLAVE_X), slave.getInteger(NBT_SLAVE_Y), slave.getInteger(NBT_SLAVE_Z))); } } } @@ -615,20 +619,24 @@ public class NetworkMaster { tag.setTag(NBT_CRAFTING_TASKS, list); - NBTTagList machinesTag = new NBTTagList(); + NBTTagList slavesTag = new NBTTagList(); + for (INetworkSlave slave : slaves) { - NBTTagCompound coords = new NBTTagCompound(); - coords.setInteger("X", slave.getPosition().getX()); - coords.setInteger("Y", slave.getPosition().getY()); - coords.setInteger("Z", slave.getPosition().getZ()); - machinesTag.appendTag(coords); + NBTTagCompound slaveTag = new NBTTagCompound(); + + slaveTag.setInteger(NBT_SLAVE_X, slave.getPosition().getX()); + slaveTag.setInteger(NBT_SLAVE_Y, slave.getPosition().getY()); + slaveTag.setInteger(NBT_SLAVE_Z, slave.getPosition().getZ()); + + slavesTag.appendTag(slaveTag); } - tag.setTag("Machines", machinesTag); + + tag.setTag(NBT_SLAVES, slavesTag); return tag; } public void markDirty() { - NetworkMasterSavedData.get(world).markDirty(); + NetworkMasterSavedData.getOrLoad(world).markDirty(); } } diff --git a/src/main/java/refinedstorage/api/network/NetworkMasterEventHandler.java b/src/main/java/refinedstorage/api/network/NetworkMasterEventHandler.java index 491315acf..5eb738074 100755 --- a/src/main/java/refinedstorage/api/network/NetworkMasterEventHandler.java +++ b/src/main/java/refinedstorage/api/network/NetworkMasterEventHandler.java @@ -25,6 +25,6 @@ public class NetworkMasterEventHandler { @SubscribeEvent public void onWorldLoad(WorldEvent.Load e) { - NetworkMasterSavedData.get(e.getWorld()); + NetworkMasterSavedData.getOrLoad(e.getWorld()); } } diff --git a/src/main/java/refinedstorage/api/network/NetworkMasterSavedData.java b/src/main/java/refinedstorage/api/network/NetworkMasterSavedData.java index d961324a9..99428375a 100755 --- a/src/main/java/refinedstorage/api/network/NetworkMasterSavedData.java +++ b/src/main/java/refinedstorage/api/network/NetworkMasterSavedData.java @@ -10,7 +10,13 @@ import net.minecraftforge.common.util.Constants; import java.util.Map; public class NetworkMasterSavedData extends WorldSavedData { - public static final String NBT_STORAGE_NETWORKS = "StorageNetworks"; + public static final String ID = "RSNetworks"; + public static final String NBT_NETWORKS = "Networks"; + public static final String NBT_NETWORK_X = "X"; + public static final String NBT_NETWORK_Y = "Y"; + public static final String NBT_NETWORK_Z = "Z"; + public static final String NBT_NETWORK_DIM = "Dim"; + public static final String NBT_NETWORK_DATA = "Data"; public NetworkMasterSavedData(String name) { super(name); @@ -18,17 +24,16 @@ public class NetworkMasterSavedData extends WorldSavedData { @Override public void readFromNBT(NBTTagCompound tag) { - NBTTagList networks = tag.getTagList(NBT_STORAGE_NETWORKS, Constants.NBT.TAG_COMPOUND); + NBTTagList networks = tag.getTagList(NBT_NETWORKS, Constants.NBT.TAG_COMPOUND); for (int i = 0; i < networks.tagCount(); ++i) { NBTTagCompound networkTag = networks.getCompoundTagAt(i); - BlockPos pos = new BlockPos(networkTag.getInteger("X"), networkTag.getInteger("Y"), networkTag.getInteger("Z")); + NetworkMaster network = new NetworkMaster(new BlockPos(networkTag.getInteger(NBT_NETWORK_X), networkTag.getInteger(NBT_NETWORK_Y), networkTag.getInteger(NBT_NETWORK_Z))); - NetworkMaster network = new NetworkMaster(pos); - network.readFromNBT(networkTag.getCompoundTag("Data")); + network.readFromNBT(networkTag.getCompoundTag(NBT_NETWORK_DATA)); - NetworkMasterRegistry.add(network, networkTag.getInteger("Dim")); + NetworkMasterRegistry.add(network, networkTag.getInteger(NBT_NETWORK_DIM)); } } @@ -39,26 +44,30 @@ public class NetworkMasterSavedData extends WorldSavedData { for (Map.Entry> entry : NetworkMasterRegistry.NETWORKS.entrySet()) { for (NetworkMaster network : entry.getValue().values()) { NBTTagCompound networkTag = new NBTTagCompound(); - networkTag.setInteger("X", network.getPos().getX()); - networkTag.setInteger("Y", network.getPos().getY()); - networkTag.setInteger("Z", network.getPos().getZ()); - networkTag.setInteger("Dim", entry.getKey()); - networkTag.setTag("Data", network.writeToNBT(new NBTTagCompound())); + + networkTag.setInteger(NBT_NETWORK_X, network.getPos().getX()); + networkTag.setInteger(NBT_NETWORK_Y, network.getPos().getY()); + networkTag.setInteger(NBT_NETWORK_Z, network.getPos().getZ()); + networkTag.setInteger(NBT_NETWORK_DIM, entry.getKey()); + + networkTag.setTag(NBT_NETWORK_DATA, network.writeToNBT(new NBTTagCompound())); + networks.appendTag(networkTag); } } - tag.setTag(NBT_STORAGE_NETWORKS, networks); + tag.setTag(NBT_NETWORKS, networks); return tag; } - public static NetworkMasterSavedData get(World world) { - NetworkMasterSavedData instance = (NetworkMasterSavedData) world.getMapStorage().getOrLoadData(NetworkMasterSavedData.class, "RSStorageNetworks"); + public static NetworkMasterSavedData getOrLoad(World world) { + NetworkMasterSavedData instance = (NetworkMasterSavedData) world.getMapStorage().getOrLoadData(NetworkMasterSavedData.class, ID); if (instance == null) { - instance = new NetworkMasterSavedData("RSStorageNetworks"); - world.getMapStorage().setData("RSStorageNetworks", instance); + instance = new NetworkMasterSavedData(ID); + + world.getMapStorage().setData(ID, instance); } return instance; diff --git a/src/main/java/refinedstorage/gui/GuiController.java b/src/main/java/refinedstorage/gui/GuiController.java index 29b96b147..ecaa845bb 100755 --- a/src/main/java/refinedstorage/gui/GuiController.java +++ b/src/main/java/refinedstorage/gui/GuiController.java @@ -6,7 +6,7 @@ import refinedstorage.RefinedStorageUtils; import refinedstorage.api.network.NetworkMaster; import refinedstorage.container.ContainerController; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; -import refinedstorage.tile.controller.ClientMachine; +import refinedstorage.tile.controller.ClientSlave; import refinedstorage.tile.controller.TileController; import java.util.List; @@ -63,28 +63,28 @@ public class GuiController extends GuiBase { RenderHelper.enableGUIStandardItemLighting(); - List machines = controller.getClientMachines(); + List slaves = controller.getClientSlaves(); - ClientMachine machineHovering = null; + ClientSlave slaveHovering = null; for (int i = 0; i < 4; ++i) { - if (slot < machines.size()) { - ClientMachine machine = machines.get(slot); + if (slot < slaves.size()) { + ClientSlave slave = slaves.get(slot); - drawItem(x, y + 5, machine.stack); + drawItem(x, y + 5, slave.stack); float scale = 0.5f; GlStateManager.pushMatrix(); GlStateManager.scale(scale, scale, 1); - drawString(RefinedStorageUtils.calculateOffsetOnScale(x + 1, scale), RefinedStorageUtils.calculateOffsetOnScale(y - 2, scale), machine.stack.getDisplayName()); - drawString(RefinedStorageUtils.calculateOffsetOnScale(x + 21, scale), RefinedStorageUtils.calculateOffsetOnScale(y + 10, scale), t("gui.refinedstorage:controller.machine_amount", machine.amount)); + drawString(RefinedStorageUtils.calculateOffsetOnScale(x + 1, scale), RefinedStorageUtils.calculateOffsetOnScale(y - 2, scale), slave.stack.getDisplayName()); + drawString(RefinedStorageUtils.calculateOffsetOnScale(x + 21, scale), RefinedStorageUtils.calculateOffsetOnScale(y + 10, scale), t("gui.refinedstorage:controller.machine_amount", slave.amount)); GlStateManager.popMatrix(); if (inBounds(x, y, 16, 16, mouseX, mouseY)) { - machineHovering = machine; + slaveHovering = slave; } } @@ -98,8 +98,8 @@ public class GuiController extends GuiBase { slot++; } - if (machineHovering != null) { - drawTooltip(mouseX, mouseY, t("misc.refinedstorage:energy_usage_minimal", machineHovering.energyUsage)); + if (slaveHovering != null) { + drawTooltip(mouseX, mouseY, t("misc.refinedstorage:energy_usage_minimal", slaveHovering.energyUsage)); } if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) { @@ -112,7 +112,7 @@ public class GuiController extends GuiBase { } private int getRows() { - int max = (int) Math.ceil((float) controller.getClientMachines().size() / (float) 2); + int max = (int) Math.ceil((float) controller.getClientSlaves().size() / (float) 2); return max < 0 ? 0 : max; } diff --git a/src/main/java/refinedstorage/tile/TileDestructor.java b/src/main/java/refinedstorage/tile/TileDestructor.java index 0a83765c8..f6c5ac3e5 100755 --- a/src/main/java/refinedstorage/tile/TileDestructor.java +++ b/src/main/java/refinedstorage/tile/TileDestructor.java @@ -62,7 +62,7 @@ public class TileDestructor extends TileSlave implements ICompareConfig, IModeCo worldObj.setBlockToAir(front); for (ItemStack drop : drops) { - // We check if the controller isn't null here because when a destructor faces a machine block and removes it + // We check if the controller isn't null here because when a destructor faces a slave block and removes it // it will essentially remove this block itself from the network without knowing if (network == null) { InventoryHelper.spawnItemStack(worldObj, front.getX(), front.getY(), front.getZ(), drop); diff --git a/src/main/java/refinedstorage/tile/controller/ClientMachine.java b/src/main/java/refinedstorage/tile/controller/ClientSlave.java similarity index 70% rename from src/main/java/refinedstorage/tile/controller/ClientMachine.java rename to src/main/java/refinedstorage/tile/controller/ClientSlave.java index b09b74176..3819d5270 100755 --- a/src/main/java/refinedstorage/tile/controller/ClientMachine.java +++ b/src/main/java/refinedstorage/tile/controller/ClientSlave.java @@ -3,7 +3,7 @@ package refinedstorage.tile.controller; import net.minecraft.item.ItemStack; import refinedstorage.RefinedStorageUtils; -public class ClientMachine { +public class ClientSlave { public ItemStack stack; public int amount; public int energyUsage; @@ -14,11 +14,11 @@ public class ClientMachine { return true; } - if (!(other instanceof ClientMachine)) { + if (!(other instanceof ClientSlave)) { return false; } - return energyUsage == ((ClientMachine) other).energyUsage && RefinedStorageUtils.compareStack(stack, ((ClientMachine) other).stack); + return energyUsage == ((ClientSlave) other).energyUsage && RefinedStorageUtils.compareStack(stack, ((ClientSlave) other).stack); } @Override diff --git a/src/main/java/refinedstorage/tile/controller/TileController.java b/src/main/java/refinedstorage/tile/controller/TileController.java index 9b125dcd3..f6331b95a 100755 --- a/src/main/java/refinedstorage/tile/controller/TileController.java +++ b/src/main/java/refinedstorage/tile/controller/TileController.java @@ -27,7 +27,7 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr private NetworkMaster network; // Only used client side - private List clientMachines = new ArrayList(); + private List clientSlaves = new ArrayList(); private int energy; private int energyUsage; private EnumControllerType type; @@ -94,8 +94,8 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr getNetwork().setRedstoneMode(mode); } - public List getClientMachines() { - return clientMachines; + public List getClientSlaves() { + return clientSlaves; } public int getEnergy() { @@ -120,20 +120,21 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr this.energyUsage = buf.readInt(); this.redstoneMode = RedstoneMode.getById(buf.readInt()); - List machines = new ArrayList(); + List slaves = new ArrayList(); int size = buf.readInt(); for (int i = 0; i < size; ++i) { - ClientMachine machine = new ClientMachine(); - machine.energyUsage = buf.readInt(); - machine.amount = buf.readInt(); - machine.stack = ByteBufUtils.readItemStack(buf); + ClientSlave slave = new ClientSlave(); - machines.add(machine); + slave.energyUsage = buf.readInt(); + slave.amount = buf.readInt(); + slave.stack = ByteBufUtils.readItemStack(buf); + + slaves.add(slave); } - this.clientMachines = machines; + this.clientSlaves = slaves; } @Override @@ -143,37 +144,37 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr buf.writeInt(getNetwork().getRedstoneMode().id); - List m = new ArrayList(); + List slaves = new ArrayList(); - for (INetworkSlave machine : getNetwork().getSlaves()) { - if (machine.canUpdate()) { - IBlockState state = worldObj.getBlockState(machine.getPosition()); + for (INetworkSlave slave : getNetwork().getSlaves()) { + if (slave.canUpdate()) { + IBlockState state = worldObj.getBlockState(slave.getPosition()); - ClientMachine clientMachine = new ClientMachine(); + ClientSlave clientSlave = new ClientSlave(); - clientMachine.energyUsage = machine.getEnergyUsage(); - clientMachine.amount = 1; - clientMachine.stack = new ItemStack(state.getBlock(), 1, state.getBlock().getMetaFromState(state)); + clientSlave.energyUsage = slave.getEnergyUsage(); + clientSlave.amount = 1; + clientSlave.stack = new ItemStack(state.getBlock(), 1, state.getBlock().getMetaFromState(state)); - if (m.contains(clientMachine)) { - for (ClientMachine other : m) { - if (other.equals(clientMachine)) { + if (slaves.contains(clientSlave)) { + for (ClientSlave other : slaves) { + if (other.equals(clientSlave)) { other.amount++; break; } } } else { - m.add(clientMachine); + slaves.add(clientSlave); } } } - buf.writeInt(m.size()); + buf.writeInt(slaves.size()); - for (ClientMachine machine : m) { - buf.writeInt(machine.energyUsage); - buf.writeInt(machine.amount); - ByteBufUtils.writeItemStack(buf, machine.stack); + for (ClientSlave slave : slaves) { + buf.writeInt(slave.energyUsage); + buf.writeInt(slave.amount); + ByteBufUtils.writeItemStack(buf, slave.stack); } }