aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/implementations
diff options
context:
space:
mode:
authorMaxim <maxim235@gmx.de>2023-07-20 17:30:30 +0200
committerGitHub <noreply@github.com>2023-07-20 17:30:30 +0200
commit637ed99e69adc95d6f830647cc0aaeaadbcd3a15 (patch)
treeabef4ea293fdc2714f57ec1b8ffb6510122dd55e /src/main/java/gregtech/api/metatileentity/implementations
parente782c8f767a025db362f16646b3b40d3bcfa3858 (diff)
downloadGT5-Unofficial-637ed99e69adc95d6f830647cc0aaeaadbcd3a15.tar.gz
GT5-Unofficial-637ed99e69adc95d6f830647cc0aaeaadbcd3a15.tar.bz2
GT5-Unofficial-637ed99e69adc95d6f830647cc0aaeaadbcd3a15.zip
Generic processing logic GTPP API (#2155)
* Added getter for speed bonus and eut discount, making the migration of gtpp machines easier * Added getter for current parallel * Added method that exposes recipe finding * Extract setup of processing logic like in super * Added controller slot to input list of processing logic * Adressed review
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java19
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java9
2 files changed, 18 insertions, 10 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 ef3f587c01..c5c07e5710 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
@@ -142,14 +142,8 @@ public abstract class GT_MetaTileEntity_ExtendedPowerMultiBlockBase<T extends GT
CheckRecipeResult result = CheckRecipeResultRegistry.NO_RECIPE;
- processingLogic.clear();
- processingLogic.setMachine(this);
- processingLogic.setRecipeMapSupplier(this::getRecipeMap);
- processingLogic.setVoidProtection(protectsExcessItem(), protectsExcessFluid());
- processingLogic.setBatchSize(isBatchModeEnabled() ? getMaxBatchSize() : 1);
- processingLogic.setRecipeLocking(this, isRecipeLockingEnabled());
- processingLogic.setInputFluids(getStoredFluids());
- setProcessingLogicPower(processingLogic);
+ setupProcessingLogic(processingLogic);
+
if (isInputSeparationEnabled()) {
for (GT_MetaTileEntity_Hatch_InputBus bus : mInputBusses) {
List<ItemStack> inputItems = new ArrayList<>();
@@ -159,12 +153,19 @@ public abstract class GT_MetaTileEntity_ExtendedPowerMultiBlockBase<T extends GT
inputItems.add(stored);
}
}
+ if (getControllerSlot() != null) {
+ inputItems.add(getControllerSlot());
+ }
processingLogic.setInputItems(inputItems.toArray(new ItemStack[0]));
result = processingLogic.process();
if (result.wasSuccessful()) break;
}
} else {
- processingLogic.setInputItems(getStoredInputs());
+ List<ItemStack> inputItems = getStoredInputs();
+ if (getControllerSlot() != null) {
+ inputItems.add(getControllerSlot());
+ }
+ processingLogic.setInputItems(inputItems);
result = processingLogic.process();
}
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 36266d6329..d0cc1d3d94 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,12 +703,19 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
inputItems.add(stored);
}
}
+ if (getControllerSlot() != null) {
+ inputItems.add(getControllerSlot());
+ }
processingLogic.setInputItems(inputItems.toArray(new ItemStack[0]));
result = processingLogic.process();
if (result.wasSuccessful()) break;
}
} else {
- processingLogic.setInputItems(getStoredInputs());
+ List<ItemStack> inputItems = getStoredInputs();
+ if (getControllerSlot() != null) {
+ inputItems.add(getControllerSlot());
+ }
+ processingLogic.setInputItems(inputItems);
result = processingLogic.process();
}