diff options
author | Maxim <maxim235@gmx.de> | 2023-07-20 17:30:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-20 17:30:30 +0200 |
commit | 637ed99e69adc95d6f830647cc0aaeaadbcd3a15 (patch) | |
tree | abef4ea293fdc2714f57ec1b8ffb6510122dd55e /src/main/java/gregtech/api/metatileentity/implementations | |
parent | e782c8f767a025db362f16646b3b40d3bcfa3858 (diff) | |
download | GT5-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')
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(); } |