From 2d3de9991c8dc18009da3f9c5da4658b31ab9b0b Mon Sep 17 00:00:00 2001 From: Henry Mao Date: Sat, 5 Jan 2013 00:08:16 +0800 Subject: [PATCH] Added command subtraction --- .../assemblyline/client/gui/GuiEncoder.java | 21 ++++++++++++++++++- .../machine/encoder/ContainerEncoder.java | 2 +- .../machine/encoder/TileEntityEncoder.java | 11 +++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/minecraft/assemblyline/client/gui/GuiEncoder.java b/src/minecraft/assemblyline/client/gui/GuiEncoder.java index 39d32e41..38bf667d 100644 --- a/src/minecraft/assemblyline/client/gui/GuiEncoder.java +++ b/src/minecraft/assemblyline/client/gui/GuiEncoder.java @@ -100,16 +100,35 @@ public class GuiEncoder extends GuiContainer implements IInventoryWatcher tempCmds.add(commandField.getText()); ItemDisk.setCommands(disk, tempCmds); this.tileEntity.setInventorySlotContents(0, disk); - PacketDispatcher.sendPacketToServer(PacketManager.getPacket(AssemblyLine.CHANNEL, this.tileEntity, (String) this.commandField.getText())); + PacketDispatcher.sendPacketToServer(PacketManager.getPacket(AssemblyLine.CHANNEL, this.tileEntity, (String) this.commandField.getText(), true)); } } this.commandField.setText(""); } + break; } case 1: // subtract { + if (!this.commandField.getText().equals("")) + { + if (this.tileEntity != null) + { + ItemStack disk = this.tileEntity.getStackInSlot(0); + + if (disk != null && Command.getCommand(this.commandField.getText()) != null) + { + ArrayList tempCmds = ItemDisk.getCommands(disk); + tempCmds.remove(commandField.getText()); + ItemDisk.setCommands(disk, tempCmds); + this.tileEntity.setInventorySlotContents(0, disk); + PacketDispatcher.sendPacketToServer(PacketManager.getPacket(AssemblyLine.CHANNEL, this.tileEntity, (String) this.commandField.getText(), false)); + } + } + + this.commandField.setText(""); + } break; } diff --git a/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java b/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java index ff15abb8..6edbe3e9 100644 --- a/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java +++ b/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java @@ -60,7 +60,7 @@ public class ContainerEncoder extends Container ItemStack slotStack = slotObj.getStack(); copyStack = slotStack.copy(); - if (slot > 1) + if (slot >= 1) { if (this.getSlot(0).isItemValid(slotStack)) { diff --git a/src/minecraft/assemblyline/common/machine/encoder/TileEntityEncoder.java b/src/minecraft/assemblyline/common/machine/encoder/TileEntityEncoder.java index 9387800e..eebd932b 100644 --- a/src/minecraft/assemblyline/common/machine/encoder/TileEntityEncoder.java +++ b/src/minecraft/assemblyline/common/machine/encoder/TileEntityEncoder.java @@ -168,7 +168,16 @@ public class TileEntityEncoder extends TileEntityAdvanced implements IPacketRece if (Command.getCommand(newCommand) != null && this.disk != null) { ArrayList tempCmds = ItemDisk.getCommands(this.disk); - tempCmds.add(newCommand); + + if (dataStream.readBoolean()) + { + tempCmds.add(newCommand); + } + else + { + tempCmds.remove(newCommand); + } + ItemDisk.setCommands(this.disk, tempCmds); } }