Skip to content

Commit 5af5743

Browse files
authored
Advanced Chemical Plant to be compatible with PerfectOC (#314)
1 parent 9db19b5 commit 5af5743

File tree

2 files changed

+35
-20
lines changed

2 files changed

+35
-20
lines changed

src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityAdvancedChemicalPlant.java

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.github.gtexpert.core.common.metatileentities.multi;
22

3+
import static gregtech.api.recipes.logic.OverclockingLogic.*;
4+
35
import java.util.List;
46

57
import net.minecraft.block.state.IBlockState;
@@ -18,17 +20,21 @@
1820
import gregtech.api.metatileentity.MetaTileEntity;
1921
import gregtech.api.metatileentity.interfaces.IGregTechTileEntity;
2022
import gregtech.api.metatileentity.multiblock.IMultiblockPart;
23+
import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController;
2124
import gregtech.api.pattern.BlockPattern;
2225
import gregtech.api.pattern.FactoryBlockPattern;
2326
import gregtech.api.pattern.TraceabilityPredicate;
2427
import gregtech.api.recipes.RecipeMaps;
28+
import gregtech.api.recipes.recipeproperties.IRecipePropertyStorage;
2529
import gregtech.client.renderer.ICubeRenderer;
2630
import gregtech.client.renderer.texture.Textures;
31+
import gregtech.client.utils.TooltipHelper;
2732
import gregtech.common.blocks.BlockBoilerCasing;
2833
import gregtech.common.blocks.BlockMetalCasing;
2934
import gregtech.common.blocks.MetaBlocks;
3035
import gregtech.core.sound.GTSoundEvents;
3136

37+
import gregicality.multiblocks.api.capability.impl.GCYMMultiblockRecipeLogic;
3238
import gregicality.multiblocks.api.metatileentity.GCYMRecipeMapMultiblockController;
3339

3440
import com.github.gtexpert.core.api.gui.GTEGuiTextures;
@@ -37,6 +43,7 @@ public class MetaTileEntityAdvancedChemicalPlant extends GCYMRecipeMapMultiblock
3743

3844
public MetaTileEntityAdvancedChemicalPlant(ResourceLocation metaTileEntityId) {
3945
super(metaTileEntityId, RecipeMaps.LARGE_CHEMICAL_RECIPES);
46+
this.recipeMapWorkable = new AdvancedChemicalPlantWorkableHandler(this);
4047
}
4148

4249
@Override
@@ -64,16 +71,6 @@ protected BlockPattern createStructurePattern() {
6471
.build();
6572
}
6673

67-
@Override
68-
public boolean allowsExtendedFacing() {
69-
return false;
70-
}
71-
72-
@Override
73-
public boolean allowsFlip() {
74-
return false;
75-
}
76-
7774
@Override
7875
public boolean isTiered() {
7976
return true;
@@ -112,6 +109,7 @@ public SoundEvent getBreakdownSound() {
112109
public void addInformation(ItemStack stack, @Nullable World player, List<String> tooltip, boolean advanced) {
113110
super.addInformation(stack, player, tooltip, advanced);
114111
tooltip.add(I18n.format("gtexpert.machine.advanced_chemical_plant.tooltip.1"));
112+
tooltip.add(TooltipHelper.RAINBOW_SLOW + I18n.format("gregtech.machine.perfect_oc"));
115113
}
116114

117115
@Override
@@ -135,4 +133,31 @@ public void addInformation(ItemStack stack, @Nullable World player, List<String>
135133
protected ICubeRenderer getFrontOverlay() {
136134
return Textures.CHEMICAL_REACTOR_OVERLAY;
137135
}
136+
137+
@SuppressWarnings("InnerClassMayBeStatic")
138+
private class AdvancedChemicalPlantWorkableHandler extends GCYMMultiblockRecipeLogic {
139+
140+
public AdvancedChemicalPlantWorkableHandler(RecipeMapMultiblockController tileEntity) {
141+
super(tileEntity);
142+
}
143+
144+
protected int[] runOverclockingLogic(@NotNull IRecipePropertyStorage propertyStorage, int recipeEUt,
145+
long maxVoltage, int duration, int amountOC) {
146+
return standardOverclockingLogic(
147+
Math.abs(recipeEUt),
148+
maxVoltage,
149+
duration,
150+
amountOC,
151+
getOverclockingDurationDivisor(),
152+
getOverclockingVoltageMultiplier());
153+
}
154+
155+
protected double getOverclockingDurationDivisor() {
156+
return PERFECT_OVERCLOCK_DURATION_DIVISOR;
157+
}
158+
159+
protected double getOverclockingVoltageMultiplier() {
160+
return STANDARD_OVERCLOCK_VOLTAGE_MULTIPLIER;
161+
}
162+
}
138163
}

src/main/java/com/github/gtexpert/core/common/metatileentities/multi/MetaTileEntityLargeCrackingUnit.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,6 @@ protected BlockPattern createStructurePattern() {
9393
}
9494
}
9595

96-
@Override
97-
public boolean allowsExtendedFacing() {
98-
return false;
99-
}
100-
101-
@Override
102-
public boolean allowsFlip() {
103-
return false;
104-
}
105-
10696
@Override
10797
public boolean isTiered() {
10898
return true;

0 commit comments

Comments
 (0)