From ca6049a8596632942e3a01b7744d5e91fbcca9d5 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Thu, 28 Apr 2016 21:39:55 +0200 Subject: [PATCH] speed upgrades on exporter --- .../container/ContainerExporter.java | 14 ++++++++++++++ .../java/refinedstorage/gui/GuiExporter.java | 2 +- .../refinedstorage/tile/TileExporter.java | 16 +++++++++++++--- .../refinedstorage/tile/TileImporter.java | 16 ++-------------- .../refinedstorage/tile/TileInterface.java | 4 ++-- .../refinedstorage/textures/gui/exporter.png | Bin 1794 -> 1989 bytes 6 files changed, 32 insertions(+), 20 deletions(-) diff --git a/src/main/java/refinedstorage/container/ContainerExporter.java b/src/main/java/refinedstorage/container/ContainerExporter.java index 7135754cf..050d0dc31 100755 --- a/src/main/java/refinedstorage/container/ContainerExporter.java +++ b/src/main/java/refinedstorage/container/ContainerExporter.java @@ -1,7 +1,12 @@ package refinedstorage.container; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import refinedstorage.RefinedStorageItems; +import refinedstorage.container.slot.IItemValidator; +import refinedstorage.container.slot.SlotFiltered; import refinedstorage.container.slot.SlotSpecimen; +import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.TileExporter; public class ContainerExporter extends ContainerBase { @@ -12,6 +17,15 @@ public class ContainerExporter extends ContainerBase { addSlotToContainer(new SlotSpecimen(exporter.getInventory(), i, 8 + (18 * i), 20, false)); } + for (int i = 0; i < 4; ++i) { + addSlotToContainer(new SlotFiltered(exporter.getUpgradesInventory(), i, 187, 6 + (i * 18), new IItemValidator() { + @Override + public boolean isValid(ItemStack stack) { + return stack.getItem() == RefinedStorageItems.UPGRADE && stack.getMetadata() == ItemUpgrade.TYPE_SPEED; + } + })); + } + addPlayerInventory(8, 55); } } diff --git a/src/main/java/refinedstorage/gui/GuiExporter.java b/src/main/java/refinedstorage/gui/GuiExporter.java index 42287109e..0b0d6424d 100755 --- a/src/main/java/refinedstorage/gui/GuiExporter.java +++ b/src/main/java/refinedstorage/gui/GuiExporter.java @@ -10,7 +10,7 @@ public class GuiExporter extends GuiBase { private TileExporter exporter; public GuiExporter(ContainerExporter container, TileExporter exporter) { - super(container, 176, 137); + super(container, 211, 137); this.exporter = exporter; } diff --git a/src/main/java/refinedstorage/tile/TileExporter.java b/src/main/java/refinedstorage/tile/TileExporter.java index 41d01d349..6ff75b3a6 100755 --- a/src/main/java/refinedstorage/tile/TileExporter.java +++ b/src/main/java/refinedstorage/tile/TileExporter.java @@ -15,9 +15,8 @@ import refinedstorage.util.InventoryUtils; public class TileExporter extends TileMachine implements ICompareConfig { public static final String NBT_COMPARE = "Compare"; - public static final int SPEED = 3; - private InventorySimple inventory = new InventorySimple("exporter", 9, this); + private InventorySimple upgradesInventory = new InventorySimple("upgrades", 4, this); private int compare = 0; @@ -33,7 +32,7 @@ public class TileExporter extends TileMachine implements ICompareConfig { if (connectedTile instanceof IInventory) { IInventory connectedInventory = (IInventory) connectedTile; - if (ticks % SPEED == 0) { + if (ticks % TileInterface.getSpeed(upgradesInventory) == 0) { for (int i = 0; i < inventory.getSizeInventory(); ++i) { ItemStack slot = inventory.getStackInSlot(i); @@ -77,6 +76,7 @@ public class TileExporter extends TileMachine implements ICompareConfig { } InventoryUtils.restoreInventory(inventory, 0, nbt); + InventoryUtils.restoreInventory(upgradesInventory, 1, nbt); } @Override @@ -86,6 +86,7 @@ public class TileExporter extends TileMachine implements ICompareConfig { nbt.setInteger(NBT_COMPARE, compare); InventoryUtils.saveInventory(inventory, 0, nbt); + InventoryUtils.saveInventory(upgradesInventory, 1, nbt); } @Override @@ -107,6 +108,15 @@ public class TileExporter extends TileMachine implements ICompareConfig { return ContainerExporter.class; } + @Override + public IInventory getDroppedInventory() { + return upgradesInventory; + } + + public InventorySimple getUpgradesInventory() { + return upgradesInventory; + } + public IInventory getInventory() { return inventory; } diff --git a/src/main/java/refinedstorage/tile/TileImporter.java b/src/main/java/refinedstorage/tile/TileImporter.java index 79a699e14..f82a4b70e 100755 --- a/src/main/java/refinedstorage/tile/TileImporter.java +++ b/src/main/java/refinedstorage/tile/TileImporter.java @@ -25,18 +25,6 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo private int currentSlot; - public int getSpeed() { - int upgrades = 0; - - for (int i = 0; i < upgradesInventory.getSizeInventory(); ++i) { - if (upgradesInventory.getStackInSlot(i) != null) { - upgrades++; - } - } - - return 9 - (upgrades * 2); - } - @Override public int getEnergyUsage() { return 2; @@ -63,7 +51,7 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo if (stack == null) { currentSlot++; } else { - if (ticks % getSpeed() == 0) { + if (ticks % TileInterface.getSpeed(upgradesInventory) == 0) { ItemStack toTake = stack.copy(); toTake.stackSize = 1; @@ -89,7 +77,7 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo ItemStack stack = inventory.getStackInSlot(currentSlot); if (stack != null) { - if (ticks % getSpeed() == 0) { + if (ticks % TileInterface.getSpeed(upgradesInventory) == 0) { ItemStack toTake = stack.copy(); toTake.stackSize = 1; diff --git a/src/main/java/refinedstorage/tile/TileInterface.java b/src/main/java/refinedstorage/tile/TileInterface.java index dd1f1eb66..495750017 100755 --- a/src/main/java/refinedstorage/tile/TileInterface.java +++ b/src/main/java/refinedstorage/tile/TileInterface.java @@ -36,7 +36,7 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided return 4; } - public int getSpeed() { + public static int getSpeed(InventorySimple upgradesInventory) { int upgrades = 0; for (int i = 0; i < upgradesInventory.getSizeInventory(); ++i) { @@ -59,7 +59,7 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided if (slot == null) { currentSlot++; } else { - if (ticks % getSpeed() == 0) { + if (ticks % getSpeed(upgradesInventory) == 0) { ItemStack toPush = slot.copy(); toPush.stackSize = 1; diff --git a/src/main/resources/assets/refinedstorage/textures/gui/exporter.png b/src/main/resources/assets/refinedstorage/textures/gui/exporter.png index bb750c91ee43fe459de3d593414ac83a55228cbe..90b21b702c6408995373dff4031413cf97ed3161 100644 GIT binary patch literal 1989 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP~62^QA&dRf`N&DBm;)v@9e6; zXy+{Oh%9Dc;M)hnjIW$F9smkTl(rIsj|=o#o)<`~!c z0SgpuPZ!6KinzCPy7LYh2(Sdp{r`VbGku!Gp~Y%nw?DPH21X8zrGgjY8}0>!emix_-hWZ* zG6vmE1%I}9ZgF8?TF3I{wBiHPuU%zs`1VZzLSV~!8CY!A#H`PFu9R^5c-X%pph@o= zOgq!9PkCKdiAv+Tpv2v2{&^eNivj^&)6en8tIuVzITCx|oXY_b>)NK~hTz<{-{zJ7 zU;1DHli%L?3!cxG40SLUXaKqb=pTtUE-Tbe%WhEnnByLqIV*+x!rW~WDva}IgCs#d zYhd{LjtxYCl{+}x^YmNqxv9YrB)8z+-5nekZf2`~tO|-Oiq*lfVNsFQ4(_T#c{qj(z#0oiX3No^iSST3e>~_1bULlMa6VezxsF s%r13K?><(hDcckrGP#Ebwd~AibGP@Rc2Z&+c|gUir>mdKI;Vst0KWlcy#N3J literal 1794 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP~62^QA&dRf`N&DBm;)v@9e6; zXy+{Oh%9Dc;M)(vj25iHzyM;9C~=J_3C>R|DNig)Whh9@%q!8$OD$0_(KFC9`_q$r zpMilX!_&nvq$2L^t&3T=9VA);ulC*lKk=^B%qZ3HV{iO7pZTf5^QJX`zv;lE$94AK zUhdoXxbDukOos8Fbt*&XKX0~S;aC#v6;Jk z`h9z|baG}xP3Czv`)A+%V2Uc=r-DjeFgSDf2|4O-C