From b2296e8cf6967c1de82b46c820e6a3f48b4f9e4f Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sun, 31 Jan 2016 19:43:30 +0100 Subject: [PATCH] priority on drives --- .../container/ContainerDrive.java | 4 +- src/main/java/storagecraft/gui/GuiDrive.java | 36 +++++++++++++++ ...Update.java => MessagePriorityUpdate.java} | 13 ++++-- .../java/storagecraft/proxy/CommonProxy.java | 2 +- .../storagecraft/storage/CellStorage.java | 4 +- .../java/storagecraft/tile/TileDrive.java | 43 ++++++++++++++++-- .../tile/TileExternalStorage.java | 4 +- .../java/storagecraft/tile/TileStorage.java | 4 +- .../storagecraft/textures/gui/drive.png | Bin 1884 -> 1898 bytes 9 files changed, 94 insertions(+), 16 deletions(-) rename src/main/java/storagecraft/network/{MessageStoragePriorityUpdate.java => MessagePriorityUpdate.java} (73%) diff --git a/src/main/java/storagecraft/container/ContainerDrive.java b/src/main/java/storagecraft/container/ContainerDrive.java index a5dc8870b..ecc05516e 100644 --- a/src/main/java/storagecraft/container/ContainerDrive.java +++ b/src/main/java/storagecraft/container/ContainerDrive.java @@ -13,7 +13,7 @@ public class ContainerDrive extends ContainerBase { super(player); - int x = 71; + int x = 8; int y = 20; for (int i = 0; i < 8; ++i) @@ -22,7 +22,7 @@ public class ContainerDrive extends ContainerBase if ((i + 1) % 2 == 0) { - x = 71; + x = 8; y += 18; } else diff --git a/src/main/java/storagecraft/gui/GuiDrive.java b/src/main/java/storagecraft/gui/GuiDrive.java index 15baca0b8..e1f729012 100644 --- a/src/main/java/storagecraft/gui/GuiDrive.java +++ b/src/main/java/storagecraft/gui/GuiDrive.java @@ -1,13 +1,20 @@ package storagecraft.gui; +import com.google.common.primitives.Ints; +import java.io.IOException; +import net.minecraft.client.gui.GuiTextField; +import storagecraft.StorageCraft; import storagecraft.container.ContainerDrive; import storagecraft.gui.sidebutton.SideButtonRedstoneMode; +import storagecraft.network.MessagePriorityUpdate; import storagecraft.tile.TileDrive; public class GuiDrive extends GuiBase { private TileDrive drive; + private GuiTextField priorityField; + public GuiDrive(ContainerDrive container, TileDrive drive) { super(container, 176, 190); @@ -19,6 +26,14 @@ public class GuiDrive extends GuiBase public void init(int x, int y) { addSideButton(new SideButtonRedstoneMode(drive)); + + priorityField = new GuiTextField(0, fontRendererObj, x + 52 + 1, y + 32 + 1, 25, fontRendererObj.FONT_HEIGHT); + priorityField.setText(String.valueOf(drive.getPriority())); + priorityField.setEnableBackgroundDrawing(false); + priorityField.setVisible(true); + priorityField.setTextColor(16777215); + priorityField.setCanLoseFocus(false); + priorityField.setFocused(true); } @Override @@ -32,12 +47,33 @@ public class GuiDrive extends GuiBase bindTexture("gui/drive.png"); drawTexture(x, y, 0, 0, width, height); + + priorityField.drawTextBox(); } @Override public void drawForeground(int mouseX, int mouseY) { drawString(7, 7, t("gui.storagecraft:drive")); + drawString(51, 20, t("misc.storagecraft:priority")); drawString(7, 96, t("container.inventory")); } + + @Override + protected void keyTyped(char character, int keyCode) throws IOException + { + if (!checkHotbarKeys(keyCode) && priorityField.textboxKeyTyped(character, keyCode)) + { + Integer result = Ints.tryParse(priorityField.getText()); + + if (result != null) + { + StorageCraft.NETWORK.sendToServer(new MessagePriorityUpdate(drive.getPos(), result)); + } + } + else + { + super.keyTyped(character, keyCode); + } + } } diff --git a/src/main/java/storagecraft/network/MessageStoragePriorityUpdate.java b/src/main/java/storagecraft/network/MessagePriorityUpdate.java similarity index 73% rename from src/main/java/storagecraft/network/MessageStoragePriorityUpdate.java rename to src/main/java/storagecraft/network/MessagePriorityUpdate.java index f16faa2c3..975eefc6e 100644 --- a/src/main/java/storagecraft/network/MessageStoragePriorityUpdate.java +++ b/src/main/java/storagecraft/network/MessagePriorityUpdate.java @@ -5,21 +5,22 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.BlockPos; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; +import storagecraft.tile.TileDrive; import storagecraft.tile.TileExternalStorage; import storagecraft.tile.TileStorage; -public class MessageStoragePriorityUpdate extends MessageHandlerPlayerToServer implements IMessage +public class MessagePriorityUpdate extends MessageHandlerPlayerToServer implements IMessage { private int x; private int y; private int z; private int priority; - public MessageStoragePriorityUpdate() + public MessagePriorityUpdate() { } - public MessageStoragePriorityUpdate(BlockPos pos, int priority) + public MessagePriorityUpdate(BlockPos pos, int priority) { this.x = pos.getX(); this.y = pos.getY(); @@ -46,7 +47,7 @@ public class MessageStoragePriorityUpdate extends MessageHandlerPlayerToServer2^QA&dRf`N&DBm;)v@9e6; zXy+{Oh%9Dc;5!7ujG`J|4M0JO64!{5;QX|b^2DN4hJwV*yb`^<)Di^~Jp(<<9OF7a z1_q`Jo-U3d6>)EGHD=v55NQk4&%FPC;^td_)%%x}L|&Zx`tIkz9gZRkW%jgn>TJJV zG%xRSbl&OLm0AK3=f3=lkAKFU!=Ru3vS_B>2Bwtn!Ym974RflaKuU_3^xPR{G5$H*d!aDYj`91?z6tvoD-D@8 z0G$I=FrnC=8>H~sTE-`_eL#)ff(>tZ+SwNH9q7GKo7eJ(7bb%6-iAD0h4)1)3=VNU z3}CO6GQ7=iIVT7-2I6G~hcbI$$&KWSpJFHOvELUsdFS_X?W+tszf08?sFu9}75^Xr z^rIMr#lUdD_`ZN;*-{CG?|Rj(<<>K+{nv&tKk<|nwL23Z4XPwS02*>&_KMvnXKoGR znNU4_@1fmu&+J_uwueoXT|!Dcg7*(r(j@n#Fu4&z{kF+nyiS%G*I{i^0>?&t;ucLK6U~ CyG2F- literal 1884 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5D>38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&di49pAxJ|V6^adUI?(9qEC?(Sp9j{X1tA1E>kMnhnPgh10{aTQRmDGBlm z1}6TI3>bpHv#SE5owL9rvY3H^?=T269?xHq0u+=eag8Vm&QB{TPb^AhC`ioAE78kK zEm1JhGte{p)02Fkfq`kOr;B4qMcmt453{5V1zIoW&e`){d3R~?YF)p&85vU|&iv#! zqcqLcPKS>}{`%{U{?~u?z5ck(pPQv`uHFCJ*?SMfH(Zacs?-$U!T98*Gz$Ym!<*eY zpmccRvN;Ekx>+6xBv&x}D7~-x`OT#0^s1zW)3N#T;YF`~K&tkgW&%Bg2Gl!G=3l!VSw=3zSOc3oG7d z+$q6$Vy!W-JXZLv#|={Z>B~%pC&7I{M;_&H$eYV~;4;$|d%<7JfKn4`rvpo428POC zY)BgN`p=!WIA`~>)BV}a?d#UCoj7>)#bo2P^J77UJP4%RPlYiVY(5G1&yS7dnNU1^ zb8EWw%yj;>KpnHqqJ9|F=YkCfYJk}T(!AlF%JQsKLx*#*=fvi{O_^uAWs{Ub{;iCM zr~hmf1t|amV4#7$31T1EHF?gesYe;AAwjjKp24!(Ho9Wp?85dII(_0Qj1n9O?Mt?rGb-+jZkJ(yU{s<1hi!RR&{y{Kz4 c532t1UYND7n(@^(caT3lUHx3vIVCg!0P*29xBvhE