From 6fdb895b1d72f3fda339845a606a84e2cbcd0dbc Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Thu, 28 Apr 2016 21:24:16 +0200 Subject: [PATCH] speed upgrades on interface --- .../container/ContainerInterface.java | 9 +++-- .../java/refinedstorage/gui/GuiInterface.java | 5 +-- .../refinedstorage/tile/TileController.java | 14 ------- .../refinedstorage/tile/TileInterface.java | 36 ++++++++++-------- .../assets/refinedstorage/lang/en_US.lang | 1 - .../assets/refinedstorage/lang/nl_NL.lang | 1 - .../refinedstorage/textures/gui/interface.png | Bin 1901 -> 2060 bytes 7 files changed, 28 insertions(+), 38 deletions(-) diff --git a/src/main/java/refinedstorage/container/ContainerInterface.java b/src/main/java/refinedstorage/container/ContainerInterface.java index 52ea4830c..cb80fc5a6 100755 --- a/src/main/java/refinedstorage/container/ContainerInterface.java +++ b/src/main/java/refinedstorage/container/ContainerInterface.java @@ -9,6 +9,7 @@ import refinedstorage.container.slot.SlotFiltered; import refinedstorage.container.slot.SlotOutput; import refinedstorage.container.slot.SlotSpecimen; import refinedstorage.item.ItemPattern; +import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.TileInterface; public class ContainerInterface extends ContainerBase { @@ -27,16 +28,16 @@ public class ContainerInterface extends ContainerBase { addSlotToContainer(new SlotOutput(tile, i, 8 + (18 * (i - 18)), 100)); } - for (int i = 27; i < 27 + 9; ++i) { - addSlotToContainer(new SlotFiltered(tile, i, 8 + (18 * (i - 27)), 134, new IItemValidator() { + for (int i = 0; i < 4; ++i) { + addSlotToContainer(new SlotFiltered(tile.getUpgradesInventory(), i, 187, 6 + (i * 18), new IItemValidator() { @Override public boolean isValid(ItemStack stack) { - return stack.getItem() == RefinedStorageItems.PATTERN && ItemPattern.hasResult(stack); + return stack.getItem() == RefinedStorageItems.UPGRADE && stack.getMetadata() == ItemUpgrade.TYPE_SPEED; } })); } - addPlayerInventory(8, 168); + addPlayerInventory(8, 134); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiInterface.java b/src/main/java/refinedstorage/gui/GuiInterface.java index 509babfc6..63ec0636c 100755 --- a/src/main/java/refinedstorage/gui/GuiInterface.java +++ b/src/main/java/refinedstorage/gui/GuiInterface.java @@ -10,7 +10,7 @@ public class GuiInterface extends GuiBase { private TileInterface tile; public GuiInterface(ContainerInterface container, TileInterface tile) { - super(container, 176, 250); + super(container, 211, 217); this.tile = tile; } @@ -38,7 +38,6 @@ public class GuiInterface extends GuiBase { public void drawForeground(int mouseX, int mouseY) { drawString(7, 7, t("gui.refinedstorage:interface.import")); drawString(7, 42, t("gui.refinedstorage:interface.export")); - drawString(7, 122, t("gui.refinedstorage:interface.patterns")); - drawString(7, 156, t("container.inventory")); + drawString(7, 122, t("container.inventory")); } } diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index f3a1f5bea..74130dd81 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -243,20 +243,6 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor public List getPatterns() { List patterns = new ArrayList(); - for (TileMachine machine : machines) { - if (machine instanceof TileInterface) { - TileInterface tile = (TileInterface) machine; - - for (int i = 27; i < 27 + 9; ++i) { - ItemStack pattern = tile.getStackInSlot(i); - - if (pattern != null) { - patterns.add(pattern); - } - } - } - } - return patterns; } diff --git a/src/main/java/refinedstorage/tile/TileInterface.java b/src/main/java/refinedstorage/tile/TileInterface.java index 982c2474b..122912c0c 100755 --- a/src/main/java/refinedstorage/tile/TileInterface.java +++ b/src/main/java/refinedstorage/tile/TileInterface.java @@ -17,8 +17,6 @@ import refinedstorage.util.InventoryUtils; public class TileInterface extends TileMachine implements ICompareConfig, ISidedInventory { public static final String NBT_COMPARE = "Compare"; - public static final int SPEED = 3; - public static final int[] FACES = new int[]{ 0, 1, 2, 3, 4, 5, 6, 7, 8 }; @@ -26,7 +24,8 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided 18, 19, 20, 21, 22, 23, 24, 25, 26 }; - private InventorySimple inventory = new InventorySimple("interface", 9 * 4, this); + private InventorySimple inventory = new InventorySimple("interface", 9 * 3, this); + private InventorySimple upgradesInventory = new InventorySimple("upgrades", 4, this); private int compare = 0; @@ -37,6 +36,18 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided return 4; } + 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 void updateMachine() { if (currentSlot > 8) { @@ -48,7 +59,7 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided if (slot == null) { currentSlot++; } else { - if (ticks % SPEED == 0) { + if (ticks % getSpeed() == 0) { ItemStack toPush = slot.copy(); toPush.stackSize = 1; @@ -108,6 +119,7 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided super.readFromNBT(nbt); InventoryUtils.restoreInventory(this, 0, nbt); + InventoryUtils.restoreInventory(upgradesInventory, 1, nbt); if (nbt.hasKey(NBT_COMPARE)) { compare = nbt.getInteger(NBT_COMPARE); @@ -119,10 +131,15 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided super.writeToNBT(nbt); InventoryUtils.saveInventory(this, 0, nbt); + InventoryUtils.saveInventory(upgradesInventory, 1, nbt); nbt.setInteger(NBT_COMPARE, compare); } + public InventorySimple getUpgradesInventory() { + return upgradesInventory; + } + @Override public void receiveContainerData(ByteBuf buf) { super.receiveContainerData(buf); @@ -227,17 +244,6 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided return inventory.getDisplayName(); } - @Override - public IInventory getDroppedInventory() { - InventorySimple dummy = new InventorySimple("dummy", 9); - - for (int i = 0; i < 9; ++i) { - dummy.setInventorySlotContents(i, inventory.getStackInSlot(18 + i)); - } - - return dummy; - } - @Override public int[] getSlotsForFace(EnumFacing side) { return side == EnumFacing.DOWN ? FACES_DOWN : FACES; diff --git a/src/main/resources/assets/refinedstorage/lang/en_US.lang b/src/main/resources/assets/refinedstorage/lang/en_US.lang index ac0c18e43..cf68b2c50 100755 --- a/src/main/resources/assets/refinedstorage/lang/en_US.lang +++ b/src/main/resources/assets/refinedstorage/lang/en_US.lang @@ -20,7 +20,6 @@ gui.refinedstorage:constructor=Constructor gui.refinedstorage:relay=Relay gui.refinedstorage:interface.import=Interface Import gui.refinedstorage:interface.export=Interface Export -gui.refinedstorage:interface.patterns=Patterns gui.refinedstorage:crafting_monitor=Crafting Monitor gui.refinedstorage:wireless_transmitter=Wireless Transmitter gui.refinedstorage:wireless_transmitter.distance=%d blocks diff --git a/src/main/resources/assets/refinedstorage/lang/nl_NL.lang b/src/main/resources/assets/refinedstorage/lang/nl_NL.lang index e19a102fa..de1952cb4 100755 --- a/src/main/resources/assets/refinedstorage/lang/nl_NL.lang +++ b/src/main/resources/assets/refinedstorage/lang/nl_NL.lang @@ -20,7 +20,6 @@ gui.refinedstorage:constructor=Constructor gui.refinedstorage:relay=Relais gui.refinedstorage:interface.import=Interface Import gui.refinedstorage:interface.export=Interface Export -gui.refinedstorage:interface.patterns=Patronen gui.refinedstorage:crafting_monitor=Crafting Monitor gui.refinedstorage:wireless_transmitter=Draadloze Zender gui.refinedstorage:wireless_transmitter.distance=%d blokken diff --git a/src/main/resources/assets/refinedstorage/textures/gui/interface.png b/src/main/resources/assets/refinedstorage/textures/gui/interface.png index ed6ba581bf2dabb5b21d7e995277bb8de845fdb1..03fb1982795d76eda257c7fa4d748dca54e279c5 100755 GIT binary patch literal 2060 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_(KFDq%rUO> z0~RPno-U3d6>)Fxbm!eR;Au_NpZ>i*<$93cT9fHcUn{l={o!XbNHl8v^+0uXT2AD3 zRsU<}U;Hfo@~dWA>CR^-pZ~je{!enF>g9jyr{Dg!Z)W8C8UE}$Qck|S^8NeSGgZfH zq#Ek-n|K&Z=LK;-IG=p(vFzuQJOy^Wa?yv8V=vH$04Va59o0_U1N4QJT9X}KxT zn1+4pUxEx{*s^r-u`i{!rU01^^0yd1{8@Z8|MeElUIt5$onIFIKBI51<`v7>|4?q> z$G)E+Eev0_2D1RE7tYKK2fnF@In>XUGraeDp_S3q%wQ|VEhpq2KfJclZ?+Ib&4qbK z=W+aG>wmRHbAKF)IVg5ZHB>Ytm*@UD?Kk@p#{^{th6!v5v)%iZfTepmgZ_REEyg`Q zr47M?4NKpC@zr9;NzUGW{^!ej%^4yIvw!=3`Bk!ssRdZ%1HG}jeVM_5ZC`({ke)0P z-cVN8UFGQc$=#tkKTusO(vEq{?;rh*Ch|?o{yt~i!TF*v;S+-iqivUuQbTw0|CJ0n zz|fIy$lEGyc<=jKpqC1nzv!>qE%ATh?+A8~@gQ*FP9iuez?_a<%Wq#dWPSpQlm$Bv zgMy7=!Bt^U2*K24c)zym5q!K?Zk2Mdta*dqyl)cx+xtpED#75atQd^Rz;J)AY@n=h z!?{?uo^)%7hILzPk9GgVVgHA@Ph3jRFj$pK8qRyWqR*%F4#TcX-z4;(CCkDLbtrBJ z2Mw5ipnQ_>RfKy#aW2?=UGVYGb+1l@9Oqq-Kil@0{uZ2CXGue~USYF{WSF)sZ`Kj! zoc&wM+I09D%0yF6=Ds)~G3|^fL&#}1hO3(x9k%8$1n5eW%k5%b^O}8a%k~&w`5jUq O$9uZ^xvX2^QA&dRf`N&DBm;)v@9e6; zXy+{Oh%9Dc;5z`qj9J$@Ie~%_C9V-A!TD(=<%vb93~dIoxyImUH< z3=B+{JzX3_D&pSWx|ns_L7*+r)bHN^iJ{v6UYqU|N@`2{@KfW&nbrtd5$SEa-~KjR zzIR{l{e91_C~WYp`nUdkRbzg`dCl6IDcmv)JAXF-t(;Ig9au~;pzs><8|>|OKi&1~ z{N%ib+x`3MZnJ=t00B%jh+R-EbFkv&cHdcyX+Y_QHM?~{q9^XMBk?Tq<`zq=KDJqI z=Q=;%U5uMPe_2yl{Q4F)<1UnMTAX!>$3U5Z;TXf6{o6jRGy)ozayJ!J#yY%B=;9KHjJ z6a1(0GW~c{@h^};myzKD+XUmAtB)1mhd60p{f@Y-KmG5rg@NXSfWx&|F$fFDzOVUy zm8bE69-sis>!`tYd~Gpb^3{rK%Ga;1^fY%Un>WuiFE4gB%z#brHo=$-zx>KVs2o@m zYNv-jzUQ}YbuciZ_GF%yihqW~AAWvUmq;r7)?0mS@7$R1>J6~jMk RW*-Ha=;`X`vd$@?2>^?mJz4+&