From d181d6f75eae95b0154195f558a62b6fb082d25d Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Wed, 4 May 2016 19:32:38 +0200 Subject: [PATCH] Processing fixes --- .../gui/GuiCraftingSettings.java | 2 +- .../refinedstorage/tile/TileController.java | 11 +++++++---- .../task/ProcessingCraftingTask.java | 18 +++++++++--------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/main/java/refinedstorage/gui/GuiCraftingSettings.java b/src/main/java/refinedstorage/gui/GuiCraftingSettings.java index e721e19ba..b55d30468 100755 --- a/src/main/java/refinedstorage/gui/GuiCraftingSettings.java +++ b/src/main/java/refinedstorage/gui/GuiCraftingSettings.java @@ -50,7 +50,7 @@ public class GuiCraftingSettings extends GuiBase { @Override public void drawForeground(int mouseX, int mouseY) { - drawString(53, 7, t("container.crafting")); + drawString((width - fontRendererObj.getStringWidth(t("container.crafting"))) / 2, 8, t("container.crafting")); } @Override diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index 7f6511524..bcb7111ea 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -348,10 +348,13 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor syncItems(); - for (ICraftingTask task : craftingTasks) { - if (task instanceof ProcessingCraftingTask) { - if (((ProcessingCraftingTask) task).onInserted(stack)) { - break; + // processing tasks accept 1-per + for (int i = 0; i < stack.stackSize; ++i) { + for (ICraftingTask task : craftingTasks) { + if (task instanceof ProcessingCraftingTask) { + if (((ProcessingCraftingTask) task).onInserted(stack)) { + break; + } } } } diff --git a/src/main/java/refinedstorage/tile/autocrafting/task/ProcessingCraftingTask.java b/src/main/java/refinedstorage/tile/autocrafting/task/ProcessingCraftingTask.java index c216f1497..b3053f0d5 100755 --- a/src/main/java/refinedstorage/tile/autocrafting/task/ProcessingCraftingTask.java +++ b/src/main/java/refinedstorage/tile/autocrafting/task/ProcessingCraftingTask.java @@ -27,16 +27,16 @@ public class ProcessingCraftingTask implements ICraftingTask { @Override public boolean update(TileController controller) { - for (int i = 0; i < inserted.length; ++i) { - if (!inserted[i]) { - ItemStack input = pattern.getInputs()[i]; - ItemStack took = controller.take(input); + TileCrafter crafter = pattern.getCrafter(); + TileEntity crafterFacing = crafter.getWorld().getTileEntity(crafter.getPos().offset(crafter.getDirection())); - if (took != null) { - TileCrafter crafter = pattern.getCrafter(); - TileEntity crafterFacing = crafter.getWorld().getTileEntity(crafter.getPos().offset(crafter.getDirection())); + if (crafterFacing instanceof IInventory) { + for (int i = 0; i < inserted.length; ++i) { + if (!inserted[i]) { + ItemStack input = pattern.getInputs()[i]; + ItemStack took = controller.take(input); - if (crafterFacing instanceof IInventory) { + if (took != null) { ItemStack remaining = TileEntityHopper.putStackInInventoryAllSlots((IInventory) crafterFacing, took, crafter.getDirection().getOpposite()); if (remaining == null) { @@ -60,7 +60,7 @@ public class ProcessingCraftingTask implements ICraftingTask { public boolean onInserted(ItemStack inserted) { for (int i = 0; i < pattern.getOutputs().length; ++i) { - if (!satisfied[i] && InventoryUtils.compareStack(inserted, pattern.getOutputs()[i])) { + if (!satisfied[i] && InventoryUtils.compareStackNoQuantity(inserted, pattern.getOutputs()[i])) { satisfied[i] = true; return true;