From b2eb57f4794e45f513eedd54e04cef9183b38144 Mon Sep 17 00:00:00 2001 From: Maxim Date: Thu, 20 Jul 2023 23:42:39 +0200 Subject: Fix PA destroying itself (#2159) --- .../GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java | 4 ++-- .../implementations/GT_MetaTileEntity_MultiBlockBase.java | 8 ++++++-- .../machines/multi/GT_MetaTileEntity_ProcessingArray.java | 5 +++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java index c5c07e5710..01494828b9 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java @@ -153,7 +153,7 @@ public abstract class GT_MetaTileEntity_ExtendedPowerMultiBlockBase inputItems = getStoredInputs(); - if (getControllerSlot() != null) { + if (getControllerSlot() != null && canUseControllerSlotForRecipe()) { inputItems.add(getControllerSlot()); } processingLogic.setInputItems(inputItems); diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index d0cc1d3d94..6578c82c30 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -703,7 +703,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity inputItems.add(stored); } } - if (getControllerSlot() != null) { + if (getControllerSlot() != null && canUseControllerSlotForRecipe()) { inputItems.add(getControllerSlot()); } processingLogic.setInputItems(inputItems.toArray(new ItemStack[0])); @@ -712,7 +712,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity } } else { List inputItems = getStoredInputs(); - if (getControllerSlot() != null) { + if (getControllerSlot() != null && canUseControllerSlotForRecipe()) { inputItems.add(getControllerSlot()); } processingLogic.setInputItems(inputItems); @@ -743,6 +743,10 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity return result; } + protected boolean canUseControllerSlotForRecipe() { + return true; + } + protected void setupProcessingLogic(ProcessingLogic logic) { logic.clear(); logic.setMachine(this); diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java index d063a57aec..8d3504a1d7 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java @@ -268,6 +268,11 @@ public class GT_MetaTileEntity_ProcessingArray extends }.setMaxParallelSupplier(this::getMaxParallel); } + @Override + protected boolean canUseControllerSlotForRecipe() { + return false; + } + @Override protected void setProcessingLogicPower(ProcessingLogic logic) { GT_Recipe_Map recipeMap = getRecipeMap(); -- cgit