aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtnhlanth/loader
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-02 23:17:17 +0200
committerGitHub <noreply@github.com>2024-09-02 23:17:17 +0200
commit1b820de08a05070909a267e17f033fcf58ac8710 (patch)
tree02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/gtnhlanth/loader
parentafd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff)
downloadGT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip
The Great Renaming (#3014)
* move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names
Diffstat (limited to 'src/main/java/gtnhlanth/loader')
-rw-r--r--src/main/java/gtnhlanth/loader/BotRecipes.java262
-rw-r--r--src/main/java/gtnhlanth/loader/MTELoader.java4
-rw-r--r--src/main/java/gtnhlanth/loader/RecipeLoader.java4503
-rw-r--r--src/main/java/gtnhlanth/loader/ZPMRubberChanges.java408
4 files changed, 5177 insertions, 0 deletions
diff --git a/src/main/java/gtnhlanth/loader/BotRecipes.java b/src/main/java/gtnhlanth/loader/BotRecipes.java
new file mode 100644
index 0000000000..fd0d4c4df7
--- /dev/null
+++ b/src/main/java/gtnhlanth/loader/BotRecipes.java
@@ -0,0 +1,262 @@
+package gtnhlanth.loader;
+
+import static gregtech.api.enums.OrePrefixes.*;
+import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes;
+import static gregtech.api.recipe.RecipeMaps.crackingRecipes;
+import static gregtech.api.recipe.RecipeMaps.distilleryRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes;
+import static gregtech.api.util.GTRecipeBuilder.MINUTES;
+import static gregtech.api.util.GTRecipeBuilder.SECONDS;
+import static gregtech.api.util.GTRecipeBuilder.TICKS;
+import static gregtech.api.util.GTRecipeConstants.COIL_HEAT;
+import static gregtech.api.util.GTRecipeConstants.UniversalChemical;
+import static gtnhlanth.common.register.BotWerkstoffMaterialPool.*;
+
+import java.util.HashSet;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import bartworks.system.material.WerkstoffLoader;
+import gregtech.api.enums.GTValues;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GTModHandler;
+import gregtech.api.util.GTOreDictUnificator;
+import gregtech.api.util.GTRecipe;
+import gregtech.api.util.GTUtility;
+import gtnhlanth.common.register.BotWerkstoffMaterialPool;
+import ic2.core.Ic2Items;
+
+/*
+ * Originally authored by botn365 under the MIT License. See BotdustriesLICENSE
+ */
+
+public class BotRecipes {
+
+ public static void addGTRecipe() {
+ ItemStack C1 = GTUtility.getIntegratedCircuit(1);
+ ItemStack C2 = GTUtility.getIntegratedCircuit(2);
+ ItemStack C24 = GTUtility.getIntegratedCircuit(24);
+
+ // CaCO3 + 2HCl = H2O + CO2 + CaCl2
+ GTValues.RA.stdBuilder()
+ .itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(1))
+ .itemOutputs(Materials.CarbonDioxide.getCells(1), WerkstoffLoader.CalciumChloride.get(dust, 3))
+ .fluidInputs(Materials.HydrochloricAcid.getFluid(2000))
+ .fluidOutputs(Materials.Water.getFluid(1000))
+ .duration(4 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(UniversalChemical);
+
+ // tungsten chain
+ FluidStack sodiumTungsten = SodiumTungstate.getFluidOrGas(1000);
+ ItemStack scheelite = Materials.Scheelite.getDust(6);
+
+ // Li2WO4 + 2Na = Na2WO4 + 2Li
+ GTValues.RA.stdBuilder()
+ .itemInputs(Materials.Tungstate.getDust(7), Materials.Sodium.getDust(2))
+ .itemOutputs(Materials.Lithium.getDust(2))
+ .fluidInputs(Materials.Water.getFluid(4000))
+ .fluidOutputs(sodiumTungsten)
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(autoclaveRecipes);
+
+ // MnWO4 + 2Na = Na2WO4 + Mn
+ GTValues.RA.stdBuilder()
+ .itemInputs(WerkstoffLoader.Huebnerit.get(dust, 6), Materials.Sodium.getDust(2))
+ .itemOutputs(Materials.Manganese.getDust(1))
+ .fluidInputs(Materials.Water.getFluid(4000))
+ .fluidOutputs(sodiumTungsten)
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(autoclaveRecipes);
+
+ // FeWO4 + 2Na = Na2WO4 + Fe
+ GTValues.RA.stdBuilder()
+ .itemInputs(WerkstoffLoader.Ferberite.get(dust, 6), Materials.Sodium.getDust(2))
+ .itemOutputs(Materials.Iron.getDust(1))
+ .fluidInputs(Materials.Water.getFluid(4000))
+ .fluidOutputs(sodiumTungsten)
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(autoclaveRecipes);
+
+ // CaCl2 + Na2WO4 = 2NaCl + CaWO4
+ ItemStack Ca2Cl = WerkstoffLoader.CalciumChloride.get(dust, 3);
+ GTValues.RA.stdBuilder()
+ .itemInputs(Ca2Cl)
+ .itemOutputs(scheelite, Materials.Salt.getDust(4))
+ .fluidInputs(sodiumTungsten)
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(UniversalChemical);
+
+ ItemStack H2WO4 = TungsticAcid.get(dust, 7);
+ // CaWO4 + 2HCl = H2WO4 + CaCl2
+ GTValues.RA.stdBuilder()
+ .itemInputs(scheelite)
+ .itemOutputs(H2WO4, Ca2Cl)
+ .fluidInputs(Materials.HydrochloricAcid.getFluid(2000))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(UniversalChemical);
+
+ ItemStack WO3 = TungstenTrioxide.get(dust, 4);
+ // H2WO4 = WO3 + H2O
+ GTValues.RA.stdBuilder()
+ .itemInputs(H2WO4)
+ .itemOutputs(WO3)
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .metadata(COIL_HEAT, 1200)
+ .addTo(blastFurnaceRecipes);
+
+ // WO3 + 6H = W + 3H2O
+ GTValues.RA.stdBuilder()
+ .itemInputs(WO3, C2)
+ .itemOutputs(Materials.Tungsten.getDust(1))
+ .fluidInputs(Materials.Hydrogen.getGas(6000))
+ .fluidOutputs(GTModHandler.getSteam(3000))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .metadata(COIL_HEAT, 1000)
+ .addTo(blastFurnaceRecipes);
+
+ WO3.stackSize = 8;
+ // 2WO3 + 3C = 2W + 3CO2
+ GTValues.RA.stdBuilder()
+ .itemInputs(WO3, Materials.Carbon.getDust(3))
+ .itemOutputs(GTOreDictUnificator.get(ingotHot, Materials.Tungsten, 2L))
+ .fluidOutputs(Materials.CarbonDioxide.getGas(3000))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .metadata(COIL_HEAT, 3000)
+ .addTo(blastFurnaceRecipes);
+
+ // rocket fuels
+ // LMP103S
+ // 2Cl + CO = COCl2
+
+ GTValues.RA.stdBuilder()
+ .itemInputs(Materials.CarbonMonoxide.getCells(1), GTUtility.getIntegratedCircuit(12))
+ .itemOutputs(Phosgene.get(cell, 1))
+ .fluidInputs(Materials.Chlorine.getGas(2000))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalReactorRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(Materials.Chlorine.getCells(2), GTUtility.getIntegratedCircuit(12))
+ .itemOutputs(Phosgene.get(cell, 1), Materials.Empty.getCells(1))
+ .fluidInputs(Materials.CarbonMonoxide.getGas(1000))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalReactorRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(Materials.CarbonMonoxide.getCells(1), Materials.Chlorine.getCells(2))
+ .itemOutputs(Phosgene.get(cell, 1), Materials.Empty.getCells(2))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalReactorRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(Materials.Chlorine.getCells(2), GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(Materials.Empty.getCells(2))
+ .fluidInputs(Materials.CarbonMonoxide.getGas(1000))
+ .fluidOutputs(BotWerkstoffMaterialPool.Phosgene.getFluidOrGas(1000))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(UniversalChemical);
+
+ // H3PO4 = P + H2O
+ GTValues.RA.stdBuilder()
+ .itemInputs(C2)
+ .itemOutputs(Materials.Phosphorus.getDust(1))
+ .fluidInputs(Materials.PhosphoricAcid.getFluid(1000))
+ .fluidOutputs(Materials.Water.getFluid(500))
+ .eut(TierEU.RECIPE_HV)
+ .duration(1 * SECONDS)
+ .addTo(distilleryRecipes);
+
+ ItemStack cells = Ic2Items.cell.copy();
+ cells.stackSize = 1;
+ // NH4Cl = HCl + NH3
+ GTValues.RA.stdBuilder()
+ .itemInputs(cells)
+ .itemOutputs(Materials.Ammonia.getCells(1))
+ .fluidInputs(WerkstoffLoader.AmmoniumChloride.getFluidOrGas(1000))
+ .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000))
+ .eut(TierEU.RECIPE_MV)
+ .duration(2 * SECONDS + 10 * TICKS)
+ .addTo(distilleryRecipes);
+
+ // N2H4O3 + NaOH = NaNO3 + NH3 + H2O
+ GTValues.RA.stdBuilder()
+ .itemInputs(AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3))
+ .itemOutputs(WerkstoffLoader.SodiumNitrate.get(dust, 5))
+ .fluidOutputs(Materials.Ammonia.getGas(1000))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalReactorRecipes);
+
+ GTValues.RA.stdBuilder()
+ .itemInputs(AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3), C2)
+ .itemOutputs(WerkstoffLoader.SodiumNitrate.get(dust, 5))
+ .fluidOutputs(Materials.Ammonia.getGas(1000), Materials.Water.getFluid(1000))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(multiblockChemicalReactorRecipes);
+
+ // N2H4O3 + NaOH + H =H2SO4= NH3 + HNO3 + Na + H2O
+ GTValues.RA.stdBuilder()
+ .itemInputs(C24, AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3))
+ .itemOutputs(Materials.Sodium.getDust(1))
+ .fluidInputs(Materials.SulfuricAcid.getFluid(1000), Materials.Hydrogen.getGas(1000))
+ .fluidOutputs(
+ Materials.Ammonia.getGas(1000),
+ Materials.NitricAcid.getFluid(1000),
+ Materials.DilutedSulfuricAcid.getFluid(1000))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(multiblockChemicalReactorRecipes);
+
+ // 2HNO3 + C3H8 = 2CH3NO2 + 2H2O + C
+ GTValues.RA.stdBuilder()
+ .itemInputs(GTUtility.getIntegratedCircuit(2))
+ .fluidInputs(Materials.Propane.getGas(1000), Materials.NitricAcid.getFluid(2000))
+ .fluidOutputs(Nitromethane.getFluidOrGas(2000))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(crackingRecipes);
+ }
+
+ public static void removeRecipes() {
+ BotRecipes.removeTungstenElectro();
+ }
+
+ public static void removeTungstenElectro() {
+ HashSet<GTRecipe> toDel = new HashSet<>();
+ ItemStack[] toRemove = { Materials.Scheelite.getDust(1), Materials.Tungstate.getDust(1),
+ WerkstoffLoader.Ferberite.get(dust, 1), WerkstoffLoader.Huebnerit.get(dust, 1) };
+ for (GTRecipe tRecipe : electrolyzerRecipes.getAllRecipes()) {
+ if (tRecipe.mFakeRecipe) continue;
+ for (int i = 0; i < tRecipe.mInputs.length; i++) {
+ ItemStack tItem = tRecipe.mInputs[i];
+ if (item == null || !GTUtility.isStackValid(tItem)) continue;
+ for (ItemStack tStack : toRemove) {
+ if (GTUtility.areStacksEqual(tItem, tStack)) {
+ toDel.add(tRecipe);
+ continue;
+ }
+ }
+ }
+ }
+ electrolyzerRecipes.getBackend()
+ .removeRecipes(toDel);
+ electrolyzerRecipes.getBackend()
+ .reInit();
+ }
+}
diff --git a/src/main/java/gtnhlanth/loader/MTELoader.java b/src/main/java/gtnhlanth/loader/MTELoader.java
new file mode 100644
index 0000000000..9a2a4e944d
--- /dev/null
+++ b/src/main/java/gtnhlanth/loader/MTELoader.java
@@ -0,0 +1,4 @@
+package gtnhlanth.loader;
+
+public class MTELoader {
+}
diff --git a/src/main/java/gtnhlanth/loader/RecipeLoader.java b/src/main/java/gtnhlanth/loader/RecipeLoader.java
new file mode 100644
index 0000000000..534c4ca2f8
--- /dev/null
+++ b/src/main/java/gtnhlanth/loader/RecipeLoader.java
@@ -0,0 +1,4503 @@
+package gtnhlanth.loader;
+
+import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+import static gregtech.api.enums.Mods.PamsHarvestCraft;
+import static gregtech.api.enums.OrePrefixes.blockCasingAdvanced;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeNonCellRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes;
+import static gregtech.api.recipe.RecipeMaps.crackingRecipes;
+import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes;
+import static gregtech.api.recipe.RecipeMaps.electroMagneticSeparatorRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerNonCellRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerNonCellRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes;
+import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes;
+import static gregtech.api.recipe.RecipeMaps.sifterRecipes;
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes;
+import static gregtech.api.util.GTRecipeBuilder.MINUTES;
+import static gregtech.api.util.GTRecipeBuilder.SECONDS;
+import static gregtech.api.util.GTRecipeBuilder.TICKS;
+import static gregtech.api.util.GTRecipeConstants.AssemblyLine;
+import static gregtech.api.util.GTRecipeConstants.COIL_HEAT;
+import static gregtech.api.util.GTRecipeConstants.DISSOLUTION_TANK_RATIO;
+import static gregtech.api.util.GTRecipeConstants.UniversalChemical;
+import static gregtech.api.util.GTRecipeConstants.WaferEngravingRecipes;
+import static gregtech.common.items.MetaGeneratedItem01.registerCauldronCleaningFor;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.simpleWasherRecipes;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.vacuumFurnaceRecipes;
+import static gtnhlanth.api.recipe.LanthanidesRecipeMaps.digesterRecipes;
+import static gtnhlanth.api.recipe.LanthanidesRecipeMaps.dissolutionTankRecipes;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.CeriumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.CeriumDioxide;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.CeriumDopedLutetiumAluminiumGarnet;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.CeriumDopedLutetiumAluminiumOxygenBlend;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.CeriumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.CeriumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ChlorinatedRareEarthConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ChlorinatedRareEarthDilutedSolution;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ChlorinatedRareEarthEnrichedSolution;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.DephosphatedSamariumConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.DilutedSamariumRareEarthSolution;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.DysprosiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.DysprosiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.DysprosiumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ErbiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ErbiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ErbiumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.EuropiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.EuropiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.EuropiumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledCeriumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledDysprosiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledErbiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledEuropiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledGadoliniumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledHolmiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledLanthanumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledLutetiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledNeodymiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledPraseodymiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledPromethiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledSamariumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledTerbiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledThuliumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.FilledYtterbiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.GadoliniumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.GadoliniumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.GadoliniumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.Gangue;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.HolmiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.HolmiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.HolmiumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ImpureLanthanumChloride;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.LanthaniumChloride;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.LanthanumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.LanthanumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.LanthanumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.LutetiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.LutetiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.LutetiumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.MuddySamariumRareEarthSolution;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.NeodymicRareEarthConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.NeodymiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.NeodymiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.NeodymiumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.PraseodymiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.PraseodymiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.PraseodymiumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.PromethiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.PromethiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.PromethiumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.RarestEarthResidue;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.SamariumChloride;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.SamariumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.SamariumChlorideSodiumChlorideBlend;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.SamariumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.SamariumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.SamariumOxalate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.SamariumOxide;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.SamariumRareEarthMud;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.TerbiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.TerbiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.TerbiumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ThoriumPhosphateConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ThuliumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ThuliumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.ThuliumOreConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.YtterbiumChlorideConcentrate;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.YtterbiumExtractingNanoResin;
+import static gtnhlanth.common.register.WerkstoffMaterialPool.YtterbiumOreConcentrate;
+
+import java.util.HashSet;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
+
+import bartworks.system.material.BWGTMaterialReference;
+import bartworks.system.material.WerkstoffLoader;
+import bartworks.system.material.gtenhancement.PlatinumSludgeOverHaul;
+import cpw.mods.fml.common.registry.GameRegistry;
+import goodgenerator.items.GGMaterial;
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.GTValues;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
+import gregtech.api.interfaces.IRecipeMutableAccess;
+import gregtech.api.util.GTLog;
+import gregtech.api.util.GTModHandler;
+import gregtech.api.util.GTOreDictUnificator;
+import gregtech.api.util.GTRecipe;
+import gregtech.api.util.GTRecipeBuilder;
+import gregtech.api.util.GTRecipeConstants;
+import gregtech.api.util.GTUtility;
+import gtnhlanth.Tags;
+import gtnhlanth.common.item.MaskList;
+import gtnhlanth.common.register.BotWerkstoffMaterialPool;
+import gtnhlanth.common.register.LanthItemList;
+import gtnhlanth.common.register.WerkstoffMaterialPool;
+import ic2.core.Ic2Items;
+
+public class RecipeLoader {
+
+ public static void loadAccelerator() {
+
+ /* Actual Beamline Multiblocks */
+
+ // SC
+ GTValues.RA.stdBuilder()
+ .fluidInputs(Materials.SolderingAlloy.getMolten(288))
+ .itemInputs(
+ ItemList.Hull_LuV.get(1),
+ WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plateDense, 8),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.ZPM, 4),
+ ItemList.Conveyor_Module_LuV.get(4),
+ GTUtility.copyAmount(2, LanthItemList.BEAMLINE_PIPE),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 2),
+ GTUtility.getIntegratedCircuit(16)
+
+ )
+ .itemOutputs(LanthItemList.SOURCE_CHAMBER)
+ .duration(30 * GTRecipeBuilder.SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ // LINAC
+ GTValues.RA.stdBuilder()
+ .fluidInputs(Materials.SolderingAlloy.getMolten(288))
+ .itemInputs(
+ ItemList.Hull_LuV.get(1),
+ WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plateDense, 8),
+ ItemList.Casing_Coil_Superconductor.get(2),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.ZPM, 8),
+ ItemList.Electric_Pump_LuV.get(2),
+ GTUtility.copyAmount(2, LanthItemList.BEAMLINE_PIPE),
+ GTOreDictUnificator.get(OrePrefixes.cableGt08, Materials.VanadiumGallium, 2),
+ GTUtility.getIntegratedCircuit(16)
+
+ )
+ .itemOutputs(LanthItemList.LINAC)
+ .duration(60 * GTRecipeBuilder.SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ // TC
+ GTValues.RA.stdBuilder()
+ .fluidInputs(Materials.SolderingAlloy.getMolten(288))
+ .itemInputs(
+ ItemList.Hull_LuV.get(1),
+ WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plateDense, 8),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 4),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.ZPM, 4),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UV, 2),
+ GTUtility.copyAmount(2, LanthItemList.BEAMLINE_PIPE),
+ GTOreDictUnificator.get(OrePrefixes.cableGt02, Materials.VanadiumGallium, 1),
+ GTUtility.getIntegratedCircuit(16)
+
+ )
+ .itemOutputs(LanthItemList.TARGET_CHAMBER)
+ .duration(30 * GTRecipeBuilder.SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ // Synchrotron
+ GTValues.RA.stdBuilder()
+ .fluidInputs(Materials.SolderingAlloy.getMolten(6000))
+ .itemInputs(
+ ItemList.Hull_LuV.get(1),
+ WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plateDense, 8),
+ ItemList.Casing_Coil_Superconductor.get(12),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.ZPM, 8),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UV, 8),
+ GTUtility.copyAmount(8, LanthItemList.BEAMLINE_PIPE),
+ GTOreDictUnificator.get(OrePrefixes.cableGt08, Materials.NiobiumTitanium, 8),
+ GTUtility.getIntegratedCircuit(16))
+ .itemOutputs(LanthItemList.SYNCHROTRON)
+ .duration(60 * GTRecipeBuilder.SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ /*
+ * //Permalloy GT_Values.RA.addMixerRecipe( GT_Utility.getIntegratedCircuit(4), Materials.Nickel.getDust(4),
+ * Materials.Iron.getDust(1), Materials.Molybdenum.getDust(1), null, null,
+ * WerkstoffMaterialPool.Permalloy.get(OrePrefixes.dust, 6), 1920, 200 );
+ */
+ // Mu-metal
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTUtility.getIntegratedCircuit(2),
+ WerkstoffMaterialPool.Permalloy.get(OrePrefixes.dust, 9),
+ Materials.Copper.getDust(1),
+ Materials.Chrome.getDust(1))
+ .itemOutputs(WerkstoffMaterialPool.MuMetal.get(OrePrefixes.ingot, 11))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .specialValue(4500)
+ .addTo(blastFurnaceRecipes);
+
+ // Shielded Accelerator Casing -- Maybe assline recipe
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Casing_RadiationProof.get(1L),
+ WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plateDense, 6),
+ GTUtility.getIntegratedCircuit(6))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .itemOutputs(new ItemStack(LanthItemList.SHIELDED_ACCELERATOR_CASING, 1))
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ // Accelerator Electrode Casing
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ BWGTMaterialReference.Silver.get(blockCasingAdvanced, 1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Silver, 12),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Gold, 6),
+ GTUtility.getIntegratedCircuit(6))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(288))
+ .itemOutputs(new ItemStack(LanthItemList.ELECTRODE_CASING, 1))
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ ItemStack insulator = GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorSheet", 1);
+
+ // Coolant Delivery Casing
+
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1),
+ Materials.Copper.getPlates(6),
+ GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 2),
+ ItemList.Electric_Pump_LuV.get(3L),
+ new ItemStack(LanthItemList.CAPILLARY_EXCHANGE, 1),
+ new ItemStack(LanthItemList.CAPILLARY_EXCHANGE, 1),
+ new ItemStack(LanthItemList.CAPILLARY_EXCHANGE, 1),
+ GTUtility.copyAmount(2, insulator),
+ GTUtility.copyAmount(2, insulator),
+ GTUtility.copyAmount(2, insulator),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tungsten, 1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(288), Materials.Lubricant.getFluid(1152))
+ .itemOutputs(new ItemStack(LanthItemList.COOLANT_DELIVERY_CASING))
+ .metadata(GTRecipeConstants.RESEARCH_ITEM, ItemList.Casing_Pipe_TungstenSteel.get(1L))
+ .metadata(GTRecipeConstants.RESEARCH_TIME, 72000)
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(AssemblyLine);
+
+ // T1 Antenna Casing
+ GTValues.RA.stdBuilder()
+ .fluidInputs(
+ Materials.SolderingAlloy.getMolten(6000),
+ Materials.Gold.getMolten(4000),
+ WerkstoffLoader.Xenon.getFluidOrGas(2000))
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Tungsten, 1),
+ Materials.Copper.getPlates(4),
+ WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plate, 5),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorLuV, 4),
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 4 },
+ ItemList.Emitter_LuV.get(6),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 32),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Electrum, 6))
+ .itemOutputs(new ItemStack(LanthItemList.ANTENNA_CASING_T1))
+
+ .metadata(GTRecipeConstants.RESEARCH_ITEM, Materials.Niobium.getBlocks(1))
+ .metadata(GTRecipeConstants.RESEARCH_TIME, 30 * GTRecipeBuilder.MINUTES)
+
+ .duration(30 * GTRecipeBuilder.SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(AssemblyLine);
+
+ // T2 Antenna Casing
+ GTValues.RA.stdBuilder()
+ .fluidInputs(
+ Materials.SolderingAlloy.getMolten(12000),
+ Materials.Gold.getMolten(6000),
+ WerkstoffLoader.Xenon.getFluidOrGas(2000))
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenCarbide, 1),
+ Materials.Copper.getPlates(4),
+ WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plate, 5),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorZPM, 4),
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 4 },
+ ItemList.Emitter_ZPM.get(6),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 64),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Electrum, 6))
+ .itemOutputs(new ItemStack(LanthItemList.ANTENNA_CASING_T2))
+ .metadata(GTRecipeConstants.RESEARCH_ITEM, new ItemStack(LanthItemList.ANTENNA_CASING_T1))
+ .metadata(GTRecipeConstants.RESEARCH_TIME, 40 * GTRecipeBuilder.MINUTES)
+ .duration(60 * GTRecipeBuilder.SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(AssemblyLine);
+
+ // Niobium Cavity Casing
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Niobium, 1),
+ Materials.Niobium.getPlates(6))
+ .fluidInputs(Materials.Helium.getGas(2000))
+ .itemOutputs(new ItemStack(LanthItemList.NIOBIUM_CAVITY_CASING, 1))
+ .duration(12 * GTRecipeBuilder.SECONDS)
+ .eut(7680)
+ .addTo(assemblerRecipes);
+
+ // Focus Manipulator
+ GTValues.RA.stdBuilder()
+ .fluidInputs(
+ Materials.SolderingAlloy.getMolten(8000),
+ Materials.Gold.getMolten(2000),
+ Materials.Argon.getGas(1000))
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1),
+
+ new Object[] { OrePrefixes.circuit.get(Materials.IV), 4 },
+ ItemList.Robot_Arm_LuV.get(2),
+ ItemList.Robot_Arm_LuV.get(2),
+ ItemList.Conveyor_Module_LuV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tungsten, 2))
+ .itemOutputs(new ItemStack(LanthItemList.FOCUS_MANIPULATION_CASING))
+ .metadata(GTRecipeConstants.RESEARCH_ITEM, new ItemStack(LanthItemList.maskMap.get(MaskList.BLANK1)))
+ .metadata(GTRecipeConstants.RESEARCH_TIME, 20 * GTRecipeBuilder.MINUTES)
+ .duration(60 * GTRecipeBuilder.SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(AssemblyLine);
+
+ // Target Holder
+ GameRegistry.addShapedRecipe(
+ new ItemStack(LanthItemList.TARGET_HOLDER),
+ new Object[] { "MCM", "MHM", "MCM", 'M', WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plateDense, 1), 'H',
+ ItemList.Hull_LuV.get(1), 'C', ItemList.Conveyor_Module_LuV.get(1) });
+
+ GameRegistry.addShapedRecipe(
+
+ new ItemStack(LanthItemList.FOCUS_HOLDER),
+ new Object[] { "MCM", "R R", "MHM", 'M', WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plateDense, 1), 'C',
+ ItemList.Conveyor_Module_LuV.get(1), 'R', ItemList.Robot_Arm_LuV.get(1), 'H',
+ ItemList.Hull_LuV.get(1) });
+
+ // Focus Input Bus
+ GameRegistry.addShapedRecipe(
+ LanthItemList.BEAMLINE_FOCUS_INPUT_BUS,
+ "MCM",
+ "McM",
+ "RCR",
+ 'M',
+ WerkstoffMaterialPool.MuMetal.get(OrePrefixes.plateDense, 1),
+ 'C',
+ ItemList.Conveyor_Module_HV.get(1),
+ 'R',
+ ItemList.Robot_Arm_HV.get(1),
+ 'c',
+ new ItemStack(Blocks.chest, 1, 32767));
+
+ // Target Receptacle, same thing as Focus Manipulator basically
+ GTValues.RA.stdBuilder()
+ .fluidInputs(
+ Materials.SolderingAlloy.getMolten(8000),
+ Materials.Gold.getMolten(2000),
+ Materials.Argon.getGas(1000))
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1),
+ new Object[] { OrePrefixes.circuit.get(Materials.IV), 4 },
+ ItemList.Robot_Arm_LuV.get(2),
+ ItemList.Robot_Arm_LuV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tungsten, 2))
+ .itemOutputs(new ItemStack(LanthItemList.TARGET_RECEPTACLE_CASING))
+ .metadata(GTRecipeConstants.RESEARCH_ITEM, ItemList.Circuit_Silicon_Wafer.get(1))
+ .metadata(GTRecipeConstants.RESEARCH_TIME, 20 * GTRecipeBuilder.MINUTES)
+ .duration(60 * GTRecipeBuilder.SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(AssemblyLine);
+
+ // Capillary Exchange
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.pipeTiny, Materials.TungstenSteel, 8),
+ GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.Copper, 2),
+ Materials.Titanium.getPlates(6),
+ GTUtility.copyAmount(4, insulator),
+ ItemList.Electric_Pump_LuV.get(1),
+ Materials.Silver.getDust(2))
+ .fluidInputs(Materials.Silicone.getMolten(288L))
+ .itemOutputs(new ItemStack(LanthItemList.CAPILLARY_EXCHANGE, 1))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ // Mu-metal lattice
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ WerkstoffMaterialPool.MuMetal.get(OrePrefixes.wireFine, 12),
+ GTOreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 4))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .itemOutputs(new ItemStack(LanthItemList.MM_LATTICE, 1))