From aa8283bb9482d02b954eb0c7c0f8756173a55c79 Mon Sep 17 00:00:00 2001 From: ko_no <90126004+MrKono@users.noreply.github.com> Date: Sun, 19 Jan 2025 22:27:57 +0900 Subject: [PATCH 1/2] Allow Advanced Chemical Plant to run Perfect OC --- .../MetaTileEntityAdvancedChemicalPlant.java | 49 +++++++++++++++---- .../MetaTileEntityLargeCrackingUnit.java | 10 ---- 2 files changed, 39 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityAdvancedChemicalPlant.java b/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityAdvancedChemicalPlant.java index 85d8f85f..4d12b35c 100644 --- a/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityAdvancedChemicalPlant.java +++ b/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityAdvancedChemicalPlant.java @@ -2,6 +2,14 @@ import java.util.List; +import gregicality.multiblocks.api.capability.impl.GCYMMultiblockRecipeLogic; + +import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController; + +import gregtech.api.recipes.recipeproperties.IRecipePropertyStorage; + +import gregtech.client.utils.TooltipHelper; + import net.minecraft.block.state.IBlockState; import net.minecraft.client.resources.I18n; import net.minecraft.item.ItemStack; @@ -33,10 +41,13 @@ import com.github.gtexpert.core.api.gui.GTEGuiTextures; +import static gregtech.api.recipes.logic.OverclockingLogic.*; + public class MetaTileEntityAdvancedChemicalPlant extends GCYMRecipeMapMultiblockController { public MetaTileEntityAdvancedChemicalPlant(ResourceLocation metaTileEntityId) { super(metaTileEntityId, RecipeMaps.LARGE_CHEMICAL_RECIPES); + this.recipeMapWorkable = new AdvancedChemicalPlantWorkableHandler(this); } @Override @@ -64,16 +75,6 @@ protected BlockPattern createStructurePattern() { .build(); } - @Override - public boolean allowsExtendedFacing() { - return false; - } - - @Override - public boolean allowsFlip() { - return false; - } - @Override public boolean isTiered() { return true; @@ -112,6 +113,7 @@ public SoundEvent getBreakdownSound() { public void addInformation(ItemStack stack, @Nullable World player, List tooltip, boolean advanced) { super.addInformation(stack, player, tooltip, advanced); tooltip.add(I18n.format("gtexpert.machine.advanced_chemical_plant.tooltip.1")); + tooltip.add(TooltipHelper.RAINBOW_SLOW + I18n.format("gregtech.machine.perfect_oc")); } @Override @@ -135,4 +137,31 @@ public void addInformation(ItemStack stack, @Nullable World player, List protected ICubeRenderer getFrontOverlay() { return Textures.CHEMICAL_REACTOR_OVERLAY; } + + @SuppressWarnings("InnerClassMayBeStatic") + private class AdvancedChemicalPlantWorkableHandler extends GCYMMultiblockRecipeLogic { + + public AdvancedChemicalPlantWorkableHandler(RecipeMapMultiblockController tileEntity) { + super(tileEntity); + } + + protected int[] runOverclockingLogic(@NotNull IRecipePropertyStorage propertyStorage, int recipeEUt, + long maxVoltage, int duration, int amountOC) { + return standardOverclockingLogic( + Math.abs(recipeEUt), + maxVoltage, + duration, + amountOC, + getOverclockingDurationDivisor(), + getOverclockingVoltageMultiplier()); + } + + protected double getOverclockingDurationDivisor() { + return PERFECT_OVERCLOCK_DURATION_DIVISOR; + } + + protected double getOverclockingVoltageMultiplier() { + return STANDARD_OVERCLOCK_VOLTAGE_MULTIPLIER; + } + } } diff --git a/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityLargeCrackingUnit.java b/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityLargeCrackingUnit.java index 05f622b8..f9aca7fc 100644 --- a/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityLargeCrackingUnit.java +++ b/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityLargeCrackingUnit.java @@ -93,16 +93,6 @@ protected BlockPattern createStructurePattern() { } } - @Override - public boolean allowsExtendedFacing() { - return false; - } - - @Override - public boolean allowsFlip() { - return false; - } - @Override public boolean isTiered() { return true; From fc1f5f06c1fa8b08635fe917675227a9db568508 Mon Sep 17 00:00:00 2001 From: ko_no <90126004+MrKono@users.noreply.github.com> Date: Sun, 19 Jan 2025 22:32:59 +0900 Subject: [PATCH 2/2] spotless --- .../MetaTileEntityAdvancedChemicalPlant.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityAdvancedChemicalPlant.java b/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityAdvancedChemicalPlant.java index 4d12b35c..508e96b2 100644 --- a/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityAdvancedChemicalPlant.java +++ b/src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityAdvancedChemicalPlant.java @@ -1,14 +1,8 @@ package com.github.gtexpert.core.common.metatileentities.multi; -import java.util.List; - -import gregicality.multiblocks.api.capability.impl.GCYMMultiblockRecipeLogic; - -import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController; - -import gregtech.api.recipes.recipeproperties.IRecipePropertyStorage; +import static gregtech.api.recipes.logic.OverclockingLogic.*; -import gregtech.client.utils.TooltipHelper; +import java.util.List; import net.minecraft.block.state.IBlockState; import net.minecraft.client.resources.I18n; @@ -26,23 +20,25 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.interfaces.IGregTechTileEntity; import gregtech.api.metatileentity.multiblock.IMultiblockPart; +import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController; import gregtech.api.pattern.BlockPattern; import gregtech.api.pattern.FactoryBlockPattern; import gregtech.api.pattern.TraceabilityPredicate; import gregtech.api.recipes.RecipeMaps; +import gregtech.api.recipes.recipeproperties.IRecipePropertyStorage; import gregtech.client.renderer.ICubeRenderer; import gregtech.client.renderer.texture.Textures; +import gregtech.client.utils.TooltipHelper; import gregtech.common.blocks.BlockBoilerCasing; import gregtech.common.blocks.BlockMetalCasing; import gregtech.common.blocks.MetaBlocks; import gregtech.core.sound.GTSoundEvents; +import gregicality.multiblocks.api.capability.impl.GCYMMultiblockRecipeLogic; import gregicality.multiblocks.api.metatileentity.GCYMRecipeMapMultiblockController; import com.github.gtexpert.core.api.gui.GTEGuiTextures; -import static gregtech.api.recipes.logic.OverclockingLogic.*; - public class MetaTileEntityAdvancedChemicalPlant extends GCYMRecipeMapMultiblockController { public MetaTileEntityAdvancedChemicalPlant(ResourceLocation metaTileEntityId) {