From d8ea51ceec82494e164a2906b6c91fbb8695fac4 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sun, 10 Apr 2016 15:05:20 +0200 Subject: [PATCH] Patterns in interface --- .../container/ContainerInterface.java | 15 ++++++++++++++- .../java/refinedstorage/gui/GuiInterface.java | 5 +++-- .../java/refinedstorage/item/ItemPattern.java | 10 +++++++++- .../refinedstorage/tile/TileInterface.java | 2 +- .../assets/refinedstorage/lang/en_US.lang | 1 + .../assets/refinedstorage/lang/nl_NL.lang | 1 + .../refinedstorage/textures/gui/interface.png | Bin 1891 -> 1901 bytes 7 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/main/java/refinedstorage/container/ContainerInterface.java b/src/main/java/refinedstorage/container/ContainerInterface.java index 6defd3f33..52ea4830c 100755 --- a/src/main/java/refinedstorage/container/ContainerInterface.java +++ b/src/main/java/refinedstorage/container/ContainerInterface.java @@ -3,8 +3,12 @@ package refinedstorage.container; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import refinedstorage.RefinedStorageItems; +import refinedstorage.container.slot.IItemValidator; +import refinedstorage.container.slot.SlotFiltered; import refinedstorage.container.slot.SlotOutput; import refinedstorage.container.slot.SlotSpecimen; +import refinedstorage.item.ItemPattern; import refinedstorage.tile.TileInterface; public class ContainerInterface extends ContainerBase { @@ -23,7 +27,16 @@ public class ContainerInterface extends ContainerBase { addSlotToContainer(new SlotOutput(tile, i, 8 + (18 * (i - 18)), 100)); } - addPlayerInventory(8, 136); + for (int i = 27; i < 27 + 9; ++i) { + addSlotToContainer(new SlotFiltered(tile, i, 8 + (18 * (i - 27)), 134, new IItemValidator() { + @Override + public boolean isValid(ItemStack stack) { + return stack.getItem() == RefinedStorageItems.PATTERN && ItemPattern.hasResult(stack); + } + })); + } + + addPlayerInventory(8, 168); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiInterface.java b/src/main/java/refinedstorage/gui/GuiInterface.java index 6242b976d..509babfc6 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, 218); + super(container, 176, 250); this.tile = tile; } @@ -38,6 +38,7 @@ 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, 123, t("container.inventory")); + drawString(7, 122, t("gui.refinedstorage:interface.patterns")); + drawString(7, 156, t("container.inventory")); } } diff --git a/src/main/java/refinedstorage/item/ItemPattern.java b/src/main/java/refinedstorage/item/ItemPattern.java index 2f71f665c..c92bce782 100755 --- a/src/main/java/refinedstorage/item/ItemPattern.java +++ b/src/main/java/refinedstorage/item/ItemPattern.java @@ -43,8 +43,16 @@ public class ItemPattern extends ItemBase { pattern.getTagCompound().setTag(NBT_RESULT, stackTag); } + public static boolean hasResult(ItemStack pattern) { + if (pattern.getTagCompound() == null) { + return false; + } + + return pattern.getTagCompound().hasKey(NBT_RESULT); + } + public static ItemStack getResult(ItemStack pattern) { - if (pattern.getTagCompound() == null || !pattern.getTagCompound().hasKey(NBT_RESULT)) { + if (!hasResult(pattern)) { return null; } diff --git a/src/main/java/refinedstorage/tile/TileInterface.java b/src/main/java/refinedstorage/tile/TileInterface.java index 41e88d9f7..982c2474b 100755 --- a/src/main/java/refinedstorage/tile/TileInterface.java +++ b/src/main/java/refinedstorage/tile/TileInterface.java @@ -26,7 +26,7 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided 18, 19, 20, 21, 22, 23, 24, 25, 26 }; - private InventorySimple inventory = new InventorySimple("interface", 9 * 3, this); + private InventorySimple inventory = new InventorySimple("interface", 9 * 4, this); private int compare = 0; diff --git a/src/main/resources/assets/refinedstorage/lang/en_US.lang b/src/main/resources/assets/refinedstorage/lang/en_US.lang index 7459a071e..797ecf483 100755 --- a/src/main/resources/assets/refinedstorage/lang/en_US.lang +++ b/src/main/resources/assets/refinedstorage/lang/en_US.lang @@ -19,6 +19,7 @@ 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 misc.refinedstorage:energy_stored=%d / %d RF misc.refinedstorage:energy_usage=Usage: %d RF/t diff --git a/src/main/resources/assets/refinedstorage/lang/nl_NL.lang b/src/main/resources/assets/refinedstorage/lang/nl_NL.lang index 0c22b0ef7..a5cf3706d 100755 --- a/src/main/resources/assets/refinedstorage/lang/nl_NL.lang +++ b/src/main/resources/assets/refinedstorage/lang/nl_NL.lang @@ -19,6 +19,7 @@ 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 misc.refinedstorage:energy_stored=%d / %d RF misc.refinedstorage:energy_usage=Vebruik: %d RF/t diff --git a/src/main/resources/assets/refinedstorage/textures/gui/interface.png b/src/main/resources/assets/refinedstorage/textures/gui/interface.png index 04066740e541448a5fdc2027b29d801d504378d1..ed6ba581bf2dabb5b21d7e995277bb8de845fdb1 100755 GIT binary patch literal 1901 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;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+& literal 1891 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;5!Jyj5{V~zXb|Pl(rIsj|=o#o)<`~!c zF)%Ql^mK6ysfc@f>tfbz2Z6T0tDX1%PrPgK@3rYpp|rNN8=nIuHj5{f2ISm$wc~D| z<=t1-dB;orc$tnb`MtmH8g~tIjo-^6P4OMfPhK%IF)%oMixmTMX7 zAHIvxuCC;7t~N*s5H!5mtpi~J+5N}0CG`Jpo0`@j2`mQ{e(Q0Aq>8>WBJti$KUXcW z`dGQGQTXz(U5rJazO4CJ@OrN()DW2MAg;sx*|MS9XBmu{7!r66T)!S>7s`gP@x)bc zU@7YW5<9@qus*t8ceUx+3Z|mx{hPwBOt5df^Ly`_5YwmD3gz+tO%0xTZ+Q9dIfD($ zr=1%t8Oj@LR^g zsGSaDGFe7HfQ%5sq=QO$4}JVI@7b#>Ugi#Ux${i_ zE!evq81Y~LQ~_f$ys$pIHY$^Ch9Cn&HFHc9L*MVx<01SXzUp6}ci|#qK|R;9FE>h3 zd8f}2Z8($5JYi=pgVA