aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r--src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java18
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java75
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeBuilder.java4
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeConstants.java26
-rw-r--r--src/main/java/gregtech/common/items/ItemComb.java60
-rw-r--r--src/main/java/gregtech/loaders/materialprocessing/ProcessingModSupport.java105
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java96
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java190
8 files changed, 210 insertions, 364 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java b/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java
index 69f87161d1..bbc2fd4ada 100644
--- a/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java
+++ b/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java
@@ -18,7 +18,13 @@ public interface IGT_RecipeMap {
/**
* Add a downstream recipe map that will get to handle the original builder.
- *
+ *
+ * Downstream recipe maps got passed the recipe builder after parent recipe map is done with its business. Notice
+ * at this time the original recipe builder might be modified by the parent recipe map in some form, but it will
+ * remain as valid.
+ *
+ * A downstream will only be invoked if parent recipe map added something.
+ *
* @param downstream
*/
void addDownstream(IGT_RecipeMap downstream);
@@ -53,9 +59,13 @@ public interface IGT_RecipeMap {
@Override
public Collection<GT_Recipe> doAdd(GT_RecipeBuilder builder) {
List<Collection<GT_Recipe>> ret = new ArrayList<>();
- ret.add(func.apply(builder));
- for (IGT_RecipeMap downstream : downstreams) {
- ret.add(downstream.doAdd(builder));
+ Collection<GT_Recipe> out = func.apply(builder);
+ ret.add(out);
+ builder.clearInvalid();
+ if (!out.isEmpty()) {
+ for (IGT_RecipeMap downstream : downstreams) {
+ ret.add(downstream.doAdd(builder));
+ }
}
return GT_Utility.concat(ret);
}
diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java
index b5603619af..ba78931129 100644
--- a/src/main/java/gregtech/api/util/GT_Recipe.java
+++ b/src/main/java/gregtech/api/util/GT_Recipe.java
@@ -1344,6 +1344,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
true).setSlotOverlay(false, false, true, true, GT_UITextures.OVERLAY_SLOT_DATA_ORB)
.setUsualFluidInputCount(4)
.setDisableOptimize(true);
+ /**
+ * Usually, but not always, you should use {@link GT_RecipeConstants#UniversalArcFurnace} instead.
+ */
public static final GT_Recipe_Map sPlasmaArcFurnaceRecipes = new GT_Recipe_Map(
new HashSet<>(20000),
"gt.recipe.plasmaarcfurnace",
@@ -1361,6 +1364,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
true,
true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
.setRecipeConfigFile("arcfurnace", FIRST_ITEM_INPUT);
+ /**
+ * Usually, but not always, you should use {@link GT_RecipeConstants#UniversalArcFurnace} instead.
+ */
public static final GT_Recipe_Map sArcFurnaceRecipes = new GT_Recipe_Map(
new HashSet<>(20000),
"gt.recipe.arcfurnace",
@@ -1801,6 +1807,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_BOXED)
.setRecipeConfigFile("unboxing", FIRST_ITEM_OUTPUT)
.setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
+ /**
+ * Usually, but not always, you should use {@link GT_RecipeConstants#Fusion} instead.
+ */
public static final GT_Recipe_Map sFusionRecipes = new GT_Recipe_Map_FluidOnly(
new HashSet<>(50),
"gt.recipe.fusionreactor",
@@ -1822,6 +1831,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
.setRecipeConfigFile("fusion", FIRST_FLUID_OUTPUT)
.setDisableOptimize(true)
.setNEISpecialInfoFormatter(FusionSpecialValueFormatter.INSTANCE);
+ /**
+ * Usually, but not always, you should use {@link GT_RecipeConstants#Fusion} instead.
+ */
public static final GT_Recipe_Map sComplexFusionRecipes = new GT_Recipe_Map_ComplexFusion(
new HashSet<>(50),
"gt.recipe.complexfusionreactor",
@@ -1885,7 +1897,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
.setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_CHARGER_FLUID)
.setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT, ProgressBar.Direction.RIGHT);
/**
- * Use special value as coil heat level.
+ * Use {@link GT_RecipeConstants#COIL_HEAT} as heat level.
*/
public static final GT_Recipe_Map sBlastRecipes = new GT_Recipe_Map(
new HashSet<>(800),
@@ -1906,7 +1918,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
.setRecipeConfigFile("blastfurnace", FIRST_ITEM_INPUT)
.setNEISpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE);
/**
- * Use special value as coil heat level.
+ * Use {@link GT_RecipeConstants#COIL_HEAT} as heat level.
*/
public static final GT_Recipe_Map sPlasmaForgeRecipes = new GT_Recipe_Map_LargeNEI(
new HashSet<>(20),
@@ -2137,6 +2149,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
}
}
+ /**
+ * Uses {@link GT_RecipeConstants#ADDITIVE_AMOUNT} for coal/charcoal amount.
+ */
public static final GT_Recipe_Map sPrimitiveBlastRecipes = new GT_Recipe_Map(
new HashSet<>(200),
"gt.recipe.primitiveblastfurnace",
@@ -2231,6 +2246,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
return coll.getAll();
})
.setRecipeConfigFile("primitiveblastfurnace", FIRST_ITEM_INPUT);
+ /**
+ * Uses {@link GT_RecipeConstants#ADDITIVE_AMOUNT} for TNT/ITNT/... amount. Value is truncated to [0, 64]
+ */
public static final GT_Recipe_Map sImplosionRecipes = new GT_Recipe_Map(
new HashSet<>(900),
"gt.recipe.implosioncompressor",
@@ -2326,6 +2344,10 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
return buildOrEmpty(b);
})
.setUsualFluidInputCount(2);
+ /**
+ * using {@code .addTo(sChemicalRecipes)} will cause the recipe to be added to single block recipe map ONLY!
+ * use {@link GT_RecipeConstants#UniversalChemical} to add to both.
+ */
public static final GT_Recipe_Map sChemicalRecipes = new GT_Recipe_Map(
new HashSet<>(1170),
"gt.recipe.chemicalreactor",
@@ -2348,31 +2370,29 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
.setSlotOverlay(true, true, GT_UITextures.OVERLAY_SLOT_VIAL_2)
.setRecipeConfigFile("chemicalreactor", FIRST_ITEM_OR_FLUID_OUTPUT)
.setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sMultiblockChemicalRecipes = new GT_Recipe_Map_LargeChemicalReactor().setProgressBar(
- GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE,
- ProgressBar.Direction.RIGHT)
- .setUsualFluidInputCount(
- 6)
- .setUsualFluidOutputCount(
- 6);
- public static final GT_Recipe_Map sDistillationRecipes = new GT_Recipe_Map_DistillationTower().setRecipeConfigFile(
- "distillation",
- FIRST_FLUIDSTACK_INPUT)
- .setProgressBar(
- GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE,
- ProgressBar.Direction.RIGHT)
- .setUsualFluidOutputCount(
- 11)
- .setDisableOptimize(
- true);
- public static final GT_Recipe_Map_OilCracker sCrackingRecipes = (GT_Recipe_Map_OilCracker) new GT_Recipe_Map_OilCracker().setRecipeConfigFile(
- "cracking",
- FIRST_FLUIDSTACK_INPUT)
- .setProgressBar(
- GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE,
- ProgressBar.Direction.RIGHT)
- .setUsualFluidInputCount(
- 2);
+ /**
+ * using {@code .addTo(sChemicalRecipes)} will cause the recipe to be added to multiblock recipe map ONLY!
+ * use {@link GT_RecipeConstants#UniversalChemical} to add to both.
+ */
+ public static final GT_Recipe_Map sMultiblockChemicalRecipes = //
+ new GT_Recipe_Map_LargeChemicalReactor().setProgressBar(
+ GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE,
+ ProgressBar.Direction.RIGHT)
+ .setUsualFluidInputCount(6)
+ .setUsualFluidOutputCount(6);
+ public static final GT_Recipe_Map sDistillationRecipes = //
+ new GT_Recipe_Map_DistillationTower().setRecipeConfigFile("distillation", FIRST_FLUIDSTACK_INPUT)
+ .setProgressBar(
+ GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE,
+ ProgressBar.Direction.RIGHT)
+ .setUsualFluidOutputCount(11)
+ .setDisableOptimize(true);
+ public static final GT_Recipe_Map_OilCracker sCrackingRecipes = (GT_Recipe_Map_OilCracker) //
+ new GT_Recipe_Map_OilCracker().setRecipeConfigFile("cracking", FIRST_FLUIDSTACK_INPUT)
+ .setProgressBar(
+ GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE,
+ ProgressBar.Direction.RIGHT)
+ .setUsualFluidInputCount(2);
/**
* @deprecated Use sCrackingRecipes instead
*/
@@ -3782,6 +3802,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
ret.add(add(r));
}
if (!ret.isEmpty()) {
+ builder.clearInvalid();
for (IGT_RecipeMap downstream : downstreams) {
downstream.doAdd(builder);
}
diff --git a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
index eeeb60de94..6835f4d0eb 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
@@ -466,7 +466,7 @@ public class GT_RecipeBuilder {
* unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
*/
public GT_RecipeBuilder validateNoInputFluid() {
- return GT_Utility.isArrayEmptyOrNull(fluidInputs) ? noItemInputs() : invalidate();
+ return GT_Utility.isArrayEmptyOrNull(fluidInputs) ? noFluidInputs() : invalidate();
}
/**
@@ -482,7 +482,7 @@ public class GT_RecipeBuilder {
* unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
*/
public GT_RecipeBuilder validateNoOutputFluid() {
- return GT_Utility.isArrayEmptyOrNull(fluidOutputs) ? noItemInputs() : invalidate();
+ return GT_Utility.isArrayEmptyOrNull(fluidOutputs) ? noFluidOutputs() : invalidate();
}
/**
diff --git a/src/main/java/gregtech/api/util/GT_RecipeConstants.java b/src/main/java/gregtech/api/util/GT_RecipeConstants.java
index 206cb38118..5c619d5fba 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeConstants.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeConstants.java
@@ -80,6 +80,10 @@ public class GT_RecipeConstants {
Object.class,
"oredict_input");
+ /**
+ * Add fusion recipes. Dispatcher between complex fusion (which accepts arbitrarily many input/outputs) and classic
+ * fusion (2 in 1 out).
+ */
public static final IGT_RecipeMap Fusion = IGT_RecipeMap.newRecipeMap(builder -> {
if (GT_Utility.isArrayEmptyOrNull(builder.getFluidInputs())
|| GT_Utility.isArrayEmptyOrNull(builder.getFluidOutputs()))
@@ -89,6 +93,10 @@ public class GT_RecipeConstants {
return GT_Recipe_Map.sFusionRecipes.doAdd(builder);
});
+ /**
+ * Add a arc furnace recipe. Adds to both normal arc furnace and plasma arc furnace.
+ * Will override the fluid input with oxygen/plasma for the respective recipe maps, so there is no point setting it.
+ */
public static final IGT_RecipeMap UniversalArcFurnace = IGT_RecipeMap.newRecipeMap(builder -> {
if (!GT_Utility.isArrayOfLength(builder.getItemInputsBasic(), 1)
|| GT_Utility.isArrayEmptyOrNull(builder.getItemOutputs()))
@@ -113,6 +121,9 @@ public class GT_RecipeConstants {
return ret;
});
+ /**
+ * Add a chemical reactor recipe to both LCR and singleblocks.
+ */
public static final IGT_RecipeMap UniversalChemical = IGT_RecipeMap.newRecipeMap(builder -> {
for (ItemStack input : builder.getItemInputsBasic()) {
if (GT_Utility.isAnyIntegratedCircuit(input) && input.getItemDamage() >= 10) return GT_Utility.concat(
@@ -125,6 +136,11 @@ public class GT_RecipeConstants {
return builder.addTo(GT_Recipe_Map.sChemicalRecipes);
});
+ /**
+ * The one and only :tm: assline recipe adder.
+ * Uses {@link #RESEARCH_ITEM} metadata as research item, and {@link #RESEARCH_TIME} metadata as research time, unit
+ * in ticks.
+ */
public static final IGT_RecipeMap AssemblyLine = IGT_RecipeMap.newRecipeMap(builder -> {
Optional<GT_Recipe.GT_Recipe_WithAlt> rr = builder.forceOreDictInput()
.validateInputCount(4, 16)
@@ -219,6 +235,10 @@ public class GT_RecipeConstants {
return ret;
});
+ /**
+ * Just like any normal assembler recipe, however it accepts one input item to be oredicted. Pass in the item to
+ * oredict via {@link #OREDICT_INPUT}. It will be used along all other item inputs as input of this recipe.
+ */
public static IGT_RecipeMap AssemblerOD = IGT_RecipeMap.newRecipeMap(builder -> {
Collection<GT_Recipe> ret = new ArrayList<>();
for (ItemStack input : GT_OreDictUnificator.getOresImmutable(builder.getMetadata(OREDICT_INPUT))) {
@@ -230,6 +250,12 @@ public class GT_RecipeConstants {
return ret;
});
+ /**
+ * A universal fuel adder. It's actually just a dispatcher towards all actual fuel recipe maps.
+ * Dispatch based on {@link #FUEL_TYPE}. Uses {@link #FUEL_VALUE} as fuel value.
+ * Can use {@link FuelType#ordinal()} as a human-readable form of what FUEL_TYPE should be.
+ * You can bypass this and add to relevant fuel maps directly if you wish.
+ */
public static IGT_RecipeMap Fuel = IGT_RecipeMap.newRecipeMap(builder -> {
builder.validateInputCount(1, 1)
.validateNoInputFluid()
diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java
index 1cf5de780e..5d4d624513 100644
--- a/src/main/java/gregtech/common/items/ItemComb.java
+++ b/src/main/java/gregtech/common/items/ItemComb.java
@@ -32,7 +32,6 @@ import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gregtech.common.render.items.GT_GeneratedMaterial_Renderer;
-import gregtech.loaders.materialprocessing.ProcessingModSupport;
import gregtech.loaders.misc.GT_Bees;
public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer {
@@ -852,45 +851,26 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer {
Voltage.ULV,
NI,
30 * 100);
- if (ProcessingModSupport.aEnableGCMarsMats) {
- addCentrifugeToMaterial(
- CombType.IRON,
- new Materials[] { Materials.Iron, Materials.Magnetite, Materials.BrownLimonite,
- Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.MeteoricIron },
- new int[] { 100 * 100, 90 * 100, 85 * 100, 85 * 100, 80 * 100, 75 * 100 },
- new int[] {},
- Voltage.ULV,
- NI,
- 30 * 100);
- addCentrifugeToMaterial(
- CombType.LEAD,
- new Materials[] { Materials.Steel, Materials.Magnetite, Materials.VanadiumMagnetite,
- Materials.Molybdenite, Materials.Molybdenum, Materials.MeteoricIron },
- new int[] { 100 * 100, 90 * 100, 80 * 100, 65 * 100, 65 * 100, 75 * 100 },
- new int[] {},
- Voltage.ULV,
- NI,
- 30 * 100);
- } else {
- addCentrifugeToMaterial(
- CombType.IRON,
- new Materials[] { Materials.Iron, Materials.Magnetite, Materials.BrownLimonite,
- Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.BandedIron },
- new int[] { 100 * 100, 90 * 100, 85 * 100, 85 * 100, 80 * 100, 85 * 100 },
- new int[] {},
- Voltage.ULV,
- NI,
- 30 * 100);
- addCentrifugeToMaterial(
- CombType.STEEL,
- new Materials[] { Materials.Steel, Materials.Magnetite, Materials.VanadiumMagnetite,
- Materials.BandedIron, Materials.Molybdenite, Materials.Molybdenum },
- new int[] { 100 * 100, 90 * 100, 80 * 100, 85 * 100, 65 * 100, 65 * 100 },
- new int[] {},
- Voltage.ULV,
- NI,
- 30 * 100);
- }
+
+ addCentrifugeToMaterial(
+ CombType.IRON,
+ new Materials[] { Materials.Iron, Materials.Magnetite, Materials.BrownLimonite,
+ Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.MeteoricIron },
+ new int[] { 100 * 100, 90 * 100, 85 * 100, 85 * 100, 80 * 100, 75 * 100 },
+ new int[] {},
+ Voltage.ULV,
+ NI,
+ 30 * 100);
+ addCentrifugeToMaterial(
+ CombType.LEAD,
+ new Materials[] { Materials.Steel, Materials.Magnetite, Materials.VanadiumMagnetite,
+ Materials.Molybdenite, Materials.Molybdenum, Materials.MeteoricIron },
+ new int[] { 100 * 100, 90 * 100, 80 * 100, 65 * 100, 65 * 100, 75 * 100 },
+ new int[] {},
+ Voltage.ULV,
+ NI,
+ 30 * 100);
+
addCentrifugeToMaterial(
CombType.NICKEL,
new Materials[] { Materials.Nickel, Materials.Garnierite, Materials.Pentlandite,
diff --git a/src/main/java/gregtech/loaders/materialprocessing/ProcessingModSupport.java b/src/main/java/gregtech/loaders/materialprocessing/ProcessingModSupport.java
index e876252137..2ed494d0c0 100644
--- a/src/main/java/gregtech/loaders/materialprocessing/ProcessingModSupport.java
+++ b/src/main/java/gregtech/loaders/materialprocessing/ProcessingModSupport.java
@@ -7,17 +7,7 @@ import gregtech.api.enums.OrePrefixes;
public class ProcessingModSupport implements gregtech.api.interfaces.IMaterialHandler {
- public static boolean aTGregSupport = TinkersGregworks.isModLoaded() || NewHorizonsCoreMod.isModLoaded();
- public static boolean aEnableUBCMats = UndergroundBiomes.isModLoaded() || aTGregSupport;
- public static boolean aEnableThaumcraftMats = Thaumcraft.isModLoaded() || aTGregSupport;
- public static boolean aEnableRotaryCraftMats = RotaryCraft.isModLoaded() || aTGregSupport;
- public static boolean aEnableThermalFoundationMats = ThermalFondation.isModLoaded() || aTGregSupport;
- public static boolean aEnableEnderIOMats = EnderIO.isModLoaded() || aTGregSupport;
- public static boolean aEnableRailcraftMats = Railcraft.isModLoaded() || aTGregSupport;
- public static boolean aEnableGCMarsMats = GalacticraftMars.isModLoaded() || aTGregSupport;
- public static boolean aEnableTwilightMats = TwilightForest.isModLoaded() || aTGregSupport;
- public static boolean aEnableMetallurgyMats = Metallurgy.isModLoaded() || aTGregSupport;
- public static boolean aEnableProjectRedMats = ProjectRedCore.isModLoaded() || aTGregSupport;
+ public static boolean aEnableThaumcraftMats = true;
public ProcessingModSupport() {
Materials.add(this);
@@ -26,35 +16,7 @@ public class ProcessingModSupport implements gregtech.api.interfaces.IMaterialHa
@Override
public void onMaterialsInit() {
// Disable Materials if Parent Mod is not loaded
- if (!aTGregSupport) {
- Materials.Dysprosium.mHasParentMod = false;
- Materials.Erbium.mHasParentMod = false;
- Materials.Gadolinium.mHasParentMod = false;
- Materials.Holmium.mHasParentMod = false;
- Materials.Indium.mHasParentMod = false;
- Materials.Lanthanum.mHasParentMod = false;
- Materials.Praseodymium.mHasParentMod = false;
- Materials.Promethium.mHasParentMod = false;
- Materials.Rubidium.mHasParentMod = false;
- Materials.Samarium.mHasParentMod = false;
- Materials.SamariumMagnetic.mHasParentMod = false;
- Materials.Scandium.mHasParentMod = false;
- Materials.Strontium.mHasParentMod = false;
- Materials.Tellurium.mHasParentMod = false;
- Materials.Terbium.mHasParentMod = false;
- Materials.Thulium.mHasParentMod = false;
- Materials.Ytterbium.mHasParentMod = false;
- Materials.HeeEndium.mHasParentMod = false;
- Materials.DarkIron.mHasParentMod = false;
- Materials.ElectrumFlux.mHasParentMod = false;
- Materials.Force.mHasParentMod = false;
- // Materials.Nikolite.mHasParentMod = false;
- Materials.Sunnarium.mHasParentMod = false;
- Materials.BlueAlloy.mHasParentMod = false;
- Materials.Vinteum.mHasParentMod = false;
- Materials.ChromiumDioxide.mHasParentMod = false;
- }
- if (!aEnableMetallurgyMats) {
+ if (!Metallurgy.isModLoaded()) {
Materials.Angmallen.mHasParentMod = false;
Materials.Atlarus.mHasParentMod = false;
Materials.Carmot.mHasParentMod = false;
@@ -83,20 +45,8 @@ public class ProcessingModSupport implements gregtech.api.interfaces.IMaterialHa
Materials.AstralSilver.mHasParentMod = false;
Materials.Trinium.mHasParentMod = false;
}
- if (!aEnableThaumcraftMats) {
- Materials.Amber.mHasParentMod = false;
- Materials.Thaumium.mHasParentMod = false;
- Materials.InfusedGold.mHasParentMod = false;
- Materials.InfusedAir.mHasParentMod = false;
- Materials.InfusedFire.mHasParentMod = false;
- Materials.InfusedEarth.mHasParentMod = false;
- Materials.InfusedWater.mHasParentMod = false;
- Materials.InfusedEntropy.mHasParentMod = false;
- Materials.InfusedOrder.mHasParentMod = false;
- Materials.InfusedVis.mHasParentMod = false;
- Materials.InfusedDull.mHasParentMod = false;
- }
- if (!aEnableUBCMats) {
+
+ if (!UndergroundBiomes.isModLoaded()) {
Materials.Blueschist.mHasParentMod = false;
Materials.Chert.mHasParentMod = false;
Materials.Dacite.mHasParentMod = false;
@@ -108,50 +58,23 @@ public class ProcessingModSupport implements gregtech.api.interfaces.IMaterialHa
Materials.Komatiite.mHasParentMod = false;
Materials.Rhyolite.mHasParentMod = false;
}
- if (!aEnableTwilightMats) {
- Materials.FierySteel.mHasParentMod = false;
- Materials.LiveRoot.mHasParentMod = false;
- Materials.IronWood.mHasParentMod = false;
- Materials.Steeleaf.mHasParentMod = false;
- Materials.Knightmetal.mHasParentMod = false;
- }
- if (!aEnableGCMarsMats) {
- Materials.Desh.mHasParentMod = false;
- Materials.MeteoricIron.mHasParentMod = false;
- Materials.MeteoricSteel.mHasParentMod = false;
- }
- if (!aEnableThermalFoundationMats) {
- Materials.Blizz.mHasParentMod = false;
- Materials.Enderium.mHasParentMod = false;
- }
- if (!aEnableRotaryCraftMats) {
+ if (!RotaryCraft.isModLoaded()) {
Materials.HSLA.mHasParentMod = false;
}
- if (!aEnableEnderIOMats) {
- Materials.DarkSteel.mHasParentMod = false;
- }
- if (!aEnableRailcraftMats) {
- Materials.Firestone.mHasParentMod = false;
- }
- if (!aEnableProjectRedMats) {
- Materials.Electrotine.mHasParentMod = false;
- }
- // Enable Materials if correct mod is Loaded
- Materials.ChromiumDioxide.mHasParentMod = Computronics.isModLoaded();
}
@Override
public void onComponentInit() {
- if (Computronics.isModLoaded()) {
- OrePrefixes.ring.enableComponent(Materials.RedAlloy);
- OrePrefixes.ring.enableComponent(Materials.NiobiumTitanium);
- OrePrefixes.foil.enableComponent(Materials.StainlessSteel);
- OrePrefixes.foil.enableComponent(Materials.ChromiumDioxide);
- OrePrefixes.foil.enableComponent(Materials.Iron);
- OrePrefixes.plate.enableComponent(Materials.ChromiumDioxide);
- OrePrefixes.screw.enableComponent(Materials.Copper);
- }
+
+ OrePrefixes.ring.enableComponent(Materials.RedAlloy);
+ OrePrefixes.ring.enableComponent(Materials.NiobiumTitanium);
+ OrePrefixes.foil.enableComponent(Materials.StainlessSteel);
+ OrePrefixes.foil.enableComponent(Materials.ChromiumDioxide);
+ OrePrefixes.foil.enableComponent(Materials.Iron);
+ OrePrefixes.plate.enableComponent(Materials.ChromiumDioxide);
+ OrePrefixes.screw.enableComponent(Materials.Copper);
+
}
@Override
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java
index bb2b0a89e9..779bd00d32 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java
@@ -2,9 +2,9 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.ModIDs.Railcraft;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.UniversalArcFurnace;
import gregtech.api.enums.*;
import gregtech.api.util.GT_OreDictUnificator;
@@ -23,7 +23,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(8 * SECONDS)
.eut(96)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Fluid.get(1L))
@@ -32,7 +32,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Item.get(1L))
@@ -43,7 +43,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Fluid_Pipe.get(1L))
@@ -52,7 +52,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(10 * TICKS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Item_Pipe.get(1L))
@@ -63,7 +63,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(10 * TICKS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Cupronickel.get(1L))
@@ -75,7 +75,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Kanthal.get(1L))
@@ -87,7 +87,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Nichrome.get(1L))
@@ -99,7 +99,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_TungstenSteel.get(1L))
@@ -111,7 +111,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_HSSG.get(1L))
@@ -123,7 +123,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_HSSS.get(1L))
@@ -135,7 +135,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Naquadah.get(1L))
@@ -147,7 +147,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_NaquadahAlloy.get(1L))
@@ -159,7 +159,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Trinium.get(1L))
@@ -171,7 +171,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_ElectrumFlux.get(1L))
@@ -183,7 +183,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_AwakenedDraconium.get(1L))
@@ -195,7 +195,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 0))
@@ -204,7 +204,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(7 * SECONDS + 10 * TICKS)
.eut(90)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 1))
@@ -215,7 +215,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(7 * SECONDS + 10 * TICKS)
.eut(90)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 2))
@@ -226,7 +226,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(7 * SECONDS + 10 * TICKS)
.eut(90)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 13))
@@ -235,7 +235,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 14))
@@ -246,7 +246,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.modID, "machine.beta", 1L, 15))
@@ -257,7 +257,7 @@ public class ArcFurnaceRecipes implements Runnable {
.noFluidOutputs()
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sArcFurnaceRecipes);
+ .addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilde