From b8935f8f7a8b5b270b0411544c0d8044831d418b Mon Sep 17 00:00:00 2001 From: "Aidan C. Brady" Date: Fri, 25 Oct 2013 18:08:13 -0400 Subject: [PATCH] Started on sorter GUI! --- .../client/gui/GuiLogisticalSorter.java | 4 +- common/mekanism/common/CommonProxy.java | 4 +- ...ter.java => ContainerItemStackFilter.java} | 7 +- .../network/PacketLogisticalSorterGui.java | 78 ++++++++++++++++++ .../mekanism/gui/GuiItemStackFilter.png | Bin 0 -> 2893 bytes .../mekanism/gui/GuiLogisticalSorter.png | Bin 0 -> 2893 bytes .../assets/mekanism/gui/GuiOreDictFilter.png | Bin 0 -> 3358 bytes 7 files changed, 85 insertions(+), 8 deletions(-) rename common/mekanism/common/inventory/container/{ContainerLogisticalSorter.java => ContainerItemStackFilter.java} (87%) create mode 100644 common/mekanism/common/network/PacketLogisticalSorterGui.java create mode 100644 resources/assets/mekanism/gui/GuiItemStackFilter.png create mode 100644 resources/assets/mekanism/gui/GuiLogisticalSorter.png create mode 100644 resources/assets/mekanism/gui/GuiOreDictFilter.png diff --git a/common/mekanism/client/gui/GuiLogisticalSorter.java b/common/mekanism/client/gui/GuiLogisticalSorter.java index 624756c1b..6134f9e41 100644 --- a/common/mekanism/client/gui/GuiLogisticalSorter.java +++ b/common/mekanism/client/gui/GuiLogisticalSorter.java @@ -1,6 +1,6 @@ package mekanism.client.gui; -import mekanism.common.inventory.container.ContainerLogisticalSorter; +import mekanism.common.inventory.container.ContainerItemStackFilter; import mekanism.common.tileentity.TileEntityLogisticalSorter; import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; @@ -19,7 +19,7 @@ public class GuiLogisticalSorter extends GuiMekanism public GuiLogisticalSorter(InventoryPlayer inventory, TileEntityLogisticalSorter tentity) { - super(new ContainerLogisticalSorter(inventory, tentity)); + super(new ContainerItemStackFilter(inventory, tentity)); tileEntity = tentity; guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiLogisticalSorter.png"))); diff --git a/common/mekanism/common/CommonProxy.java b/common/mekanism/common/CommonProxy.java index 703155bda..be4f08a2e 100644 --- a/common/mekanism/common/CommonProxy.java +++ b/common/mekanism/common/CommonProxy.java @@ -9,7 +9,7 @@ import mekanism.common.inventory.container.ContainerElectricPump; import mekanism.common.inventory.container.ContainerEnergyCube; import mekanism.common.inventory.container.ContainerFactory; import mekanism.common.inventory.container.ContainerGasTank; -import mekanism.common.inventory.container.ContainerLogisticalSorter; +import mekanism.common.inventory.container.ContainerItemStackFilter; import mekanism.common.inventory.container.ContainerMetallurgicInfuser; import mekanism.common.inventory.container.ContainerRobitCrafting; import mekanism.common.inventory.container.ContainerRobitInventory; @@ -283,7 +283,7 @@ public class CommonProxy case 25: return new ContainerRobitRepair(player.inventory, world); case 26: - return new ContainerLogisticalSorter(player.inventory, (TileEntityLogisticalSorter)tileEntity); + return new ContainerItemStackFilter(player.inventory, (TileEntityLogisticalSorter)tileEntity); } return null; diff --git a/common/mekanism/common/inventory/container/ContainerLogisticalSorter.java b/common/mekanism/common/inventory/container/ContainerItemStackFilter.java similarity index 87% rename from common/mekanism/common/inventory/container/ContainerLogisticalSorter.java rename to common/mekanism/common/inventory/container/ContainerItemStackFilter.java index 10a06264a..1b7812c89 100644 --- a/common/mekanism/common/inventory/container/ContainerLogisticalSorter.java +++ b/common/mekanism/common/inventory/container/ContainerItemStackFilter.java @@ -9,15 +9,14 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class ContainerLogisticalSorter extends Container +public class ContainerItemStackFilter extends Container { private TileEntityLogisticalSorter tileEntity; - public ContainerLogisticalSorter(InventoryPlayer inventory, TileEntityLogisticalSorter tentity) + public ContainerItemStackFilter(InventoryPlayer inventory, TileEntityLogisticalSorter tentity) { tileEntity = tentity; - addSlotToContainer(new SlotStorageTank(tentity, EnumGas.NONE, true, 0, 8, 8)); - addSlotToContainer(new SlotStorageTank(tentity, EnumGas.NONE, true, 1, 8, 40)); + addSlotToContainer(new Slot(tentity, 0, 8, 8)); int slotX; diff --git a/common/mekanism/common/network/PacketLogisticalSorterGui.java b/common/mekanism/common/network/PacketLogisticalSorterGui.java new file mode 100644 index 000000000..1a1f5b15b --- /dev/null +++ b/common/mekanism/common/network/PacketLogisticalSorterGui.java @@ -0,0 +1,78 @@ +package mekanism.common.network; + +import java.io.DataOutputStream; +import java.util.ArrayList; + +import mekanism.api.Object3D; +import mekanism.common.ITileNetwork; +import mekanism.common.PacketHandler; +import mekanism.common.PacketHandler.Transmission; +import mekanism.common.tileentity.TileEntityDynamicTank; +import mekanism.common.tileentity.TileEntityLogisticalSorter; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +import com.google.common.io.ByteArrayDataInput; + +import cpw.mods.fml.common.FMLCommonHandler; + +public class PacketLogisticalSorterGui implements IMekanismPacket +{ + public Object3D object3D; + + public int filterIndex; + + @Override + public String getName() + { + return "LogisticalSorterGui"; + } + + @Override + public IMekanismPacket setParams(Object... data) + { + object3D = (Object3D)data[0]; + filterIndex = (Integer)data[1]; + + return this; + } + + @Override + public void read(ByteArrayDataInput dataStream, EntityPlayer player, World world) throws Exception + { + int x = dataStream.readInt(); + int y = dataStream.readInt(); + int z = dataStream.readInt(); + + int id = dataStream.readInt(); + + int index = dataStream.readInt(); + + World worldServer = FMLCommonHandler.instance().getMinecraftServerInstance().worldServerForDimension(id); + + if(worldServer != null && worldServer.getBlockTileEntity(x, y, z) instanceof ITileNetwork) + { + TileEntity tileEntity = worldServer.getBlockTileEntity(x, y, z); + + if(tileEntity instanceof TileEntityLogisticalSorter) + { + ((TileEntityDynamicTank)tileEntity).sendStructure = true; + } + + PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTileEntity().setParams(Object3D.get(worldServer.getBlockTileEntity(x, y, z)), ((ITileNetwork)worldServer.getBlockTileEntity(x, y, z)).getNetworkedData(new ArrayList()))); + } + } + + @Override + public void write(DataOutputStream dataStream) throws Exception + { + dataStream.writeInt(object3D.xCoord); + dataStream.writeInt(object3D.yCoord); + dataStream.writeInt(object3D.zCoord); + + dataStream.writeInt(object3D.dimensionId); + + dataStream.writeInt(filterIndex); + } +} diff --git a/resources/assets/mekanism/gui/GuiItemStackFilter.png b/resources/assets/mekanism/gui/GuiItemStackFilter.png new file mode 100644 index 0000000000000000000000000000000000000000..68289861b14dd8850f01ae59b31be073f4e16c34 GIT binary patch literal 2893 zcmeH}`#aMM9LK+#`5GxQMlQLVIFgiQ!^p%^bFZ9e=tL6Ypw+DAq-0J>QXxFKPw=0-_CgKH4`K`8|n8{O?-5M@xr zdO`3?GASdtP^R80=o-yQ`;0ck1);p&`mOxzv=&-VVkgfG<84WywOPA-Za*xq%;_@7 zNH0b{$URQ)t?74_>Mx%rnx%Del=il$tbUjo)uO{Y=hEgkh$8*wt0|v)lJ(qJ5h_~L zU1E8U_x)inU6q?z1ye=(H{n;B2C2M;um)@tw2qv9LqzYvLD3GS~Tq@pnTyi1Sf}*Kb z-Lqmi^SE9A5H~hNsishsws1oHf_HW*t)$&6bR=-3S@V15d#HZu zAI-&_ahePb_oAY)M4Ho!L0je{zq_6ci>NGh7^=+j_1Lz)KNEW_JHnKrs!5qvdd=MYc2Ay;+iULL=9HU?C?!oxLU%qKw2VgG*5pqB+K=P5j1 zpNKRI8Yn%AEp*S_|KKh2h?R}u{`SP1Z#n}l^xS%tF7mHfr+#K9{{38)X_oI%gk@J< zYW}DC6wYf9vZftWGrLbC1X0L9^Rj2*t}U3B9nx~q;TRQ@KC1D`Qlnd}Hxfg1|Gs8V zHNNffVQ@kHCnt5|Ru;q6bXni6+v33KIfRZ3;(RQ+*RD7$3^%*OrUPscf0%0u3yWEc zTDrqe31?d|BHCWIig{JlW^3V|P;9_e`opIki*c>8WPL4LKS-b9_L;~L-|ivLq3VL7 zuRjvH^^IC^?RM{b>qooGHu5)0BT7gms{KOjg~VOhX9iRgs_D8h6-6~)KSq!7eXX}{ z;GfZywpZG^VS$-v$fHz|0ug+=|M`Kiyn`q&Vh3eh^~-~`#63b(dzQcLx&pfT#+jz_R#c_U5zC5Ip zF}ZYQFg3SXEZFM>f9W)qej0=Oh)*0hO*V##WbKFZ= z>UzkuRi7>t9;=O3->gKdV@Z0O$ewdcIA0)&d{M&`0RZ4Q0q@{VhRl8Ri137{CH4e; z@>Lx|Svj;0DQ1Z?M70C<6N_VN=`%S?pLuUO*^}RQ8bTG!E|I6|DEW^h+pg4K%blua zetpgwUEHW$m+<|ciQ`sDT$Gr-8Gb}ToChuLn-+0@XwS%WN1FZ&1q1@YwUO%G4kJQY z%~bYkQeM~OaMd*>F}N~^qStQyT2 z2Bkp3fQ1QlgbNG6>nidP`v3}>``8`|>c}Oqa%m7=Lwy@eX&>MLhlybFECJ`B(LEaE z_F)|cDgY2gR9Ym!`*s)(De}VnAKL4vDX|;rJ zy`m5@r}zq6$VJ=w;U4u(FGE*D=O>(G*KV^$=l49~a=8scI&AmJk$5}dnfVQg literal 0 HcmV?d00001 diff --git a/resources/assets/mekanism/gui/GuiLogisticalSorter.png b/resources/assets/mekanism/gui/GuiLogisticalSorter.png new file mode 100644 index 0000000000000000000000000000000000000000..68289861b14dd8850f01ae59b31be073f4e16c34 GIT binary patch literal 2893 zcmeH}`#aMM9LK+#`5GxQMlQLVIFgiQ!^p%^bFZ9e=tL6Ypw+DAq-0J>QXxFKPw=0-_CgKH4`K`8|n8{O?-5M@xr zdO`3?GASdtP^R80=o-yQ`;0ck1);p&`mOxzv=&-VVkgfG<84WywOPA-Za*xq%;_@7 zNH0b{$URQ)t?74_>Mx%rnx%Del=il$tbUjo)uO{Y=hEgkh$8*wt0|v)lJ(qJ5h_~L zU1E8U_x)inU6q?z1ye=(H{n;B2C2M;um)@tw2qv9LqzYvLD3GS~Tq@pnTyi1Sf}*Kb z-Lqmi^SE9A5H~hNsishsws1oHf_HW*t)$&6bR=-3S@V15d#HZu zAI-&_ahePb_oAY)M4Ho!L0je{zq_6ci>NGh7^=+j_1Lz)KNEW_JHnKrs!5qvdd=MYc2Ay;+iULL=9HU?C?!oxLU%qKw2VgG*5pqB+K=P5j1 zpNKRI8Yn%AEp*S_|KKh2h?R}u{`SP1Z#n}l^xS%tF7mHfr+#K9{{38)X_oI%gk@J< zYW}DC6wYf9vZftWGrLbC1X0L9^Rj2*t}U3B9nx~q;TRQ@KC1D`Qlnd}Hxfg1|Gs8V zHNNffVQ@kHCnt5|Ru;q6bXni6+v33KIfRZ3;(RQ+*RD7$3^%*OrUPscf0%0u3yWEc zTDrqe31?d|BHCWIig{JlW^3V|P;9_e`opIki*c>8WPL4LKS-b9_L;~L-|ivLq3VL7 zuRjvH^^IC^?RM{b>qooGHu5)0BT7gms{KOjg~VOhX9iRgs_D8h6-6~)KSq!7eXX}{ z;GfZywpZG^VS$-v$fHz|0ug+=|M`Kiyn`q&Vh3eh^~-~`#63b(dzQcLx&pfT#+jz_R#c_U5zC5Ip zF}ZYQFg3SXEZFM>f9W)qej0=Oh)*0hO*V##WbKFZ= z>UzkuRi7>t9;=O3->gKdV@Z0O$ewdcIA0)&d{M&`0RZ4Q0q@{VhRl8Ri137{CH4e; z@>Lx|Svj;0DQ1Z?M70C<6N_VN=`%S?pLuUO*^}RQ8bTG!E|I6|DEW^h+pg4K%blua zetpgwUEHW$m+<|ciQ`sDT$Gr-8Gb}ToChuLn-+0@XwS%WN1FZ&1q1@YwUO%G4kJQY z%~bYkQeM~OaMd*>F}N~^qStQyT2 z2Bkp3fQ1QlgbNG6>nidP`v3}>``8`|>c}Oqa%m7=Lwy@eX&>MLhlybFECJ`B(LEaE z_F)|cDgY2gR9Ym!`*s)(De}VnAKL4vDX|;rJ zy`m5@r}zq6$VJ=w;U4u(FGE*D=O>(G*KV^$=l49~a=8scI&AmJk$5}dnfVQg literal 0 HcmV?d00001 diff --git a/resources/assets/mekanism/gui/GuiOreDictFilter.png b/resources/assets/mekanism/gui/GuiOreDictFilter.png new file mode 100644 index 0000000000000000000000000000000000000000..0e114556792e7d9605730e9ba626d40f2239fa76 GIT binary patch literal 3358 zcmeHKSu~rA8vPRyi5k)%)X=KARJGb8gf{6#2^Diy(cqjKswl#d`dV<-+) z(;}4COsMG~HI!>Q1Xbz~Q$nMDT(9@_uKREwJbmB8-fMkpuf6wLU%U;;OjKA_7ytlK zqPdA306>mb2!Mbe4cFjeF93k4_!=AA5RHu$ZGr>6d>`Bc0R5BEj_klG2gz&kfp%{& zc*Wahu?d|FM|+ogIoa|qI5DM=V}U7L9@kV^z+vM{b1LPW%yppTSUwQ-&%;_Wr)m}OjzmOHmTXlPOdoR1N{^vUJ z_!+Gohn9H!*n6J*hGiw0QBU-U6yzuU7>!=e*b zd-p>xQRHQ+hPG8#e(O=z9}D$HSHF>_t>5C;jQ{*CxwyyPch+OJ&4OB*LCy@iwHP(s zSA8d=AF7=6OKTBpfhI)5*OWIE3$liB*vt8tElVfAfQpjqlNFiHwkP&=GYs!0^_=r> zeAS+MrcbOP?DtcB7>ll+J~bQaiIkA zX6=02Lc?yx!`45lZsYAIAmAC#>eY*K-V$#rvEx~*2+KBHo0y<*us=>p^D|Xro7-d^ z>VUzKY_>oGRU^*!)5N;$4_4AaOlGB}7EjrF@X{3*j)bC+gik1T_*#*lAAVKLs2ASI z|HNtW^9uokxc{6^^zYWI4CwmM&L3w~X@mZDP($}832DFgZiKZX!<7}Tx(L(daDsqP2-0f^nY8O?hjl*V8r5 zQ!WZ~&HkE}5RS`9P&bcXPqgmnp1%yO&1vG_<*QY`71%yVk+_J%&HA6esoHaS{xvS> zmMKp-Bx{i6_7u(*%O{qF{Y$S`%4vd8$~cFN=&jRr8#RlSVqK9M_^P4z_qyix!~&I; zXG$-=U7y)&F%6p*@n3T>i9KvLT)E}rQY=B`ptf6OCu2595sR1e6NR=Ln&+1a%opIv z_P9#+p2D)_{B%g|P&nCI|D)C59G8Y008lxXmZ^l z9KxA$Be^=Gqiu&hb)P>A3P0T+Bh;aS66yZZqg0|9^0+1}rZeok<#fIamDK4Rv_G0O zQpDYjc(faedwsA!_XWR;g|eMy_p`22*~<-Tjm^&~yR5@VL_-&rbAx`^;&igEeJhgB ziWD?;0&VH(>C%y%PgFN8OO%kAzA3=B+98Y3fN{rDH&`-}Md z{0t^rXG0Z;JbcvrD?l%x0rEeAH{CO6zr1L?`@YikGK!a>|Nl)+$Z2l_G0Fzjsr%*Z#fQ7$6`$(f`JEEDn1Vu#vl2ZVi6olnbpDn7R5C{ToNrN5+ zfgID1rTc%i%|p5Def=LRV~ni6R#1tMXRRp4{P@wBU1oKY#*97k{>E9?!*0Mx>kxh&A5Gue+e^mBSt4CsW;q= z830^QKaFSV0qY#ejjTf)We-hTab3nhVRvAlF*D67BZWz$0U~(~FA0e>pyokuHVh7f zxdWrGju5cCd-jVe7mo@`ptwS1P)QNc&eBz*=00o5OY@=D$DDKhU0}xF~CKZ2k|Hr=p1Xx+u literal 0 HcmV?d00001