From 9c31befff492d33714bc43f5499f18f503ceba45 Mon Sep 17 00:00:00 2001 From: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Date: Sat, 10 Feb 2024 18:14:44 +0100 Subject: fix OC behaviour (#391) Former-commit-id: ada48df6ee07c5d1216b9a4f934fc351c818ae4a --- .../GT_TileEntity_ElectricImplosionCompressor.java | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java index 25b11ea75d..9a424b1cde 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java @@ -24,6 +24,8 @@ import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import java.util.ArrayList; import java.util.List; +import javax.annotation.Nonnull; + import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; @@ -68,6 +70,8 @@ import gregtech.api.logic.ProcessingLogic; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPowerMultiBlockBase; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.check.CheckRecipeResult; +import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OverclockCalculator; @@ -265,6 +269,17 @@ public class GT_TileEntity_ElectricImplosionCompressor protected ProcessingLogic createProcessingLogic() { return new ProcessingLogic() { + @NotNull + @Override + protected CheckRecipeResult validateRecipe(@Nonnull GT_Recipe recipe) { + long voltage = GT_TileEntity_ElectricImplosionCompressor.this.getAverageInputVoltage(); + // Only allow a minimum of T-1 energy hatch + if (recipe.mEUt > voltage * 4) { + return CheckRecipeResultRegistry.insufficientPower(recipe.mEUt); + } + return CheckRecipeResultRegistry.SUCCESSFUL; + } + @NotNull @Override protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { @@ -275,15 +290,6 @@ public class GT_TileEntity_ElectricImplosionCompressor }.setMaxParallelSupplier(() -> (int) Math.pow(4, Math.max(this.mBlockTier - 1, 0))); } - @Override - protected void setProcessingLogicPower(ProcessingLogic logic) { - long amperage = this.getMaxInputAmps(); - long voltage = this.getAverageInputVoltage(); - // We allow one OC, if there is enough amperage, no matter which type of hatch is used - logic.setAvailableVoltage(amperage >= 4 ? voltage * 4 : voltage); - logic.setAvailableAmperage(amperage >= 4 ? amperage / 4 : amperage); - } - private void updateChunkCoordinates() { this.chunkCoordinates.clear(); -- cgit