diff --git a/src/main/java/com/github/gtexpert/core/common/GTEConfigHolder.java b/src/main/java/com/github/gtexpert/core/common/GTEConfigHolder.java index 7ee99cbf..87bdd514 100644 --- a/src/main/java/com/github/gtexpert/core/common/GTEConfigHolder.java +++ b/src/main/java/com/github/gtexpert/core/common/GTEConfigHolder.java @@ -64,5 +64,8 @@ public static class GregtechOverride { @Config.Comment({ "Disable auto eat function of QuarkTech helmet", "Default: true" }) public boolean disableHelmetAutoEat = true; + + @Config.Comment({ "Change the recipe for GCYM's VoltageControlUnit", "Default: false" }) + public boolean fixVoltageControlUnit = false; } } diff --git a/src/main/java/com/github/gtexpert/core/loaders/recipe/CEUOverrideRecipe.java b/src/main/java/com/github/gtexpert/core/loaders/recipe/CEUOverrideRecipe.java index c6f087f8..edbc2678 100644 --- a/src/main/java/com/github/gtexpert/core/loaders/recipe/CEUOverrideRecipe.java +++ b/src/main/java/com/github/gtexpert/core/loaders/recipe/CEUOverrideRecipe.java @@ -37,7 +37,10 @@ import gregicality.multiblocks.api.fluids.GCYMFluidStorageKeys; import gregicality.multiblocks.api.unification.properties.GCYMPropertyKey; +import gregicality.multiblocks.common.metatileentities.GCYMMetaTileEntities; +import com.github.gtexpert.core.api.util.GTEUtility; +import com.github.gtexpert.core.common.GTEConfigHolder; import com.github.gtexpert.core.common.items.GTEMetaItems; public class CEUOverrideRecipe { @@ -49,6 +52,19 @@ public static void init() { tools(); } + public static final Material[] tierMaterials = new Material[] { + Materials.WroughtIron, + Materials.Steel, + Materials.Aluminium, + Materials.StainlessSteel, + Materials.Titanium, + Materials.TungstenSteel, + Materials.RhodiumPlatedPalladium, + Materials.NaquadahAlloy, + Materials.Darmstadtium, + Materials.Neutronium + }; + private static void materials() { // Vacuum Freezer List materials = new ArrayList<>(GregTechAPI.materialManager.getRegisteredMaterials()); @@ -344,6 +360,19 @@ private static void blocks() { 'W', new UnificationEntry(cableGtSingle, Materials.Europium), 'C', MetaItems.WETWARE_MAINFRAME_UHV, 'T', OreDictNames.chestWood); + + // GCYM: Voltage Control Unit + if (GTEConfigHolder.ceuOverride.fixVoltageControlUnit) { + int isHighTier = GregTechAPI.isHighTier() ? 14 : 9; + for (int i = 0; i <= isHighTier; i++) { + ModHandler.removeRecipeByOutput(GCYMMetaTileEntities.TIERED_HATCH[i].getStackForm()); + ModHandler.addShapedRecipe(true, "gregtech.machine.tiered_hatch." + VN[i], + GCYMMetaTileEntities.TIERED_HATCH[i].getStackForm(), + "PPP", "PCP", "PPP", + 'P', OreDictUnifier.get(plate, tierMaterials[i]), + 'C', GTEUtility.oreDictionaryCircuit(i)); + } + } } private static void tools() {