From 420fc9fbd2b144496dff98945a77b6d086db815b Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sun, 10 Apr 2016 21:08:31 +0200 Subject: [PATCH] Fixes --- .../network/MessageGridCraftingStart.java | 2 +- .../network/MessageGridStoragePull.java | 6 +----- .../network/MessageWirelessGridCraftingStart.java | 2 +- .../network/MessageWirelessGridStoragePull.java | 6 +----- .../java/refinedstorage/tile/TileController.java | 12 +++++++++++- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main/java/refinedstorage/network/MessageGridCraftingStart.java b/src/main/java/refinedstorage/network/MessageGridCraftingStart.java index 67fc26e8a..798b7de4e 100755 --- a/src/main/java/refinedstorage/network/MessageGridCraftingStart.java +++ b/src/main/java/refinedstorage/network/MessageGridCraftingStart.java @@ -47,7 +47,7 @@ public class MessageGridCraftingStart extends MessageHandlerPlayerToServer 0 && message.id >= 0) { + if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) { ((TileGrid) tile).getController().onCraftingRequested(message.id, message.quantity); } } diff --git a/src/main/java/refinedstorage/network/MessageGridStoragePull.java b/src/main/java/refinedstorage/network/MessageGridStoragePull.java index dfd949b6a..7a0f6dd69 100755 --- a/src/main/java/refinedstorage/network/MessageGridStoragePull.java +++ b/src/main/java/refinedstorage/network/MessageGridStoragePull.java @@ -49,11 +49,7 @@ public class MessageGridStoragePull extends MessageHandlerPlayerToServer= 0 && message.id < controller.getItemGroups().size()) { - controller.handleStoragePull(message.id, message.flags, player); - } + ((TileController) tile).handleStoragePull(message.id, message.flags, player); } } } diff --git a/src/main/java/refinedstorage/network/MessageWirelessGridCraftingStart.java b/src/main/java/refinedstorage/network/MessageWirelessGridCraftingStart.java index 9dd9cfdef..49c44959b 100755 --- a/src/main/java/refinedstorage/network/MessageWirelessGridCraftingStart.java +++ b/src/main/java/refinedstorage/network/MessageWirelessGridCraftingStart.java @@ -47,7 +47,7 @@ public class MessageWirelessGridCraftingStart extends MessageHandlerPlayerToServ public void handle(MessageWirelessGridCraftingStart message, EntityPlayerMP player) { TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.controllerX, message.controllerY, message.controllerZ)); - if (tile instanceof TileController && ((TileController) tile).isActive() && message.quantity > 0 && message.id >= 0) { + if (tile instanceof TileController && ((TileController) tile).isActive()) { ((TileController) tile).onCraftingRequested(message.id, message.quantity); } } diff --git a/src/main/java/refinedstorage/network/MessageWirelessGridStoragePull.java b/src/main/java/refinedstorage/network/MessageWirelessGridStoragePull.java index e351cef4c..83f443bbd 100755 --- a/src/main/java/refinedstorage/network/MessageWirelessGridStoragePull.java +++ b/src/main/java/refinedstorage/network/MessageWirelessGridStoragePull.java @@ -48,11 +48,7 @@ public class MessageWirelessGridStoragePull extends MessageHandlerPlayerToServer TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.controllerX, message.controllerY, message.controllerZ)); if (tile instanceof TileController && ((TileController) tile).isActive()) { - TileController controller = (TileController) tile; - - if (message.id >= 0 && message.id < controller.getItemGroups().size()) { - controller.handleStoragePull(message.id, message.flags, player); - } + ((TileController) tile).handleStoragePull(message.id, message.flags, player); } } } diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index a06bea1b8..960db5f97 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -525,6 +525,10 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor } public void handleStoragePull(int id, int flags, EntityPlayerMP player) { + if (id < 0 || id >= itemGroups.size() - 1) { + return; + } + ItemGroup group = itemGroups.get(id); int quantity = 64; @@ -608,6 +612,12 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor } public void onCraftingRequested(int id, int quantity) { - System.out.println("Requested crafting for item " + id + " with quantity of " + quantity); + if (id >= 0 && id < itemGroups.size() && quantity > 0) { + for (int i = 0; i < quantity; ++i) { + ItemStack toCraft = itemGroups.get(id).toItemStack(); + toCraft.stackSize = 1; + craftingTasks.add(CraftingTask.create(toCraft)); + } + } } }