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 MessageHandlerPlayerToServer