aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/preload
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/loaders/preload')
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java36
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java9
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_PreLoad.java53
3 files changed, 69 insertions, 29 deletions
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
index 20b0b46098..0d1257350d 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
@@ -9,10 +9,10 @@ import static gregtech.api.enums.Mods.PamsHarvestCraft;
import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.enums.Mods.Thaumcraft;
import static gregtech.api.enums.Mods.TwilightForest;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeBuilder.WILDCARD;
@@ -275,7 +275,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L))
.duration(25 * SECONDS)
.eut(48)
- .addTo(sThermalCentrifugeRecipes);
+ .addTo(thermalCentrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_Thorium_2.get(1))
@@ -285,7 +285,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 3L))
.duration(25 * SECONDS)
.eut(48)
- .addTo(sThermalCentrifugeRecipes);
+ .addTo(thermalCentrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_Thorium_4.get(1))
@@ -295,7 +295,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 6L))
.duration(25 * SECONDS)
.eut(48)
- .addTo(sThermalCentrifugeRecipes);
+ .addTo(thermalCentrifugeRecipes);
ItemList.Depleted_Naquadah_1
.set(new GT_DepletetCell_Item("NaquadahcellDep", "Fuel Rod (Depleted Naquadah)", 1));
@@ -349,7 +349,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(25 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_Naquadah_2.get(1))
@@ -363,7 +363,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(50 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_Naquadah_4.get(1))
@@ -377,7 +377,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(100 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
ItemList.Depleted_MNq_1.set(new GT_DepletetCell_Item("MNqCellDep", "Fuel Rod (Depleted Nq*)", 1));
ItemList.Depleted_MNq_2.set(new GT_DepletetCell_Item("Double_MNqCellDep", "Dual Fuel Rod (Depleted Nq*)", 1));
@@ -428,7 +428,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(25 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_MNq_2.get(1))
@@ -442,7 +442,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(50 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_MNq_4.get(1))
@@ -456,7 +456,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(100 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
ItemList.Uraniumcell_1.set(
new GT_RadioactiveCellIC_Item(
@@ -827,7 +827,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.fluidInputs(GT_ModHandler.getSteam(1000))
.duration(16 * TICKS)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
Materials.Ice.mGas = Materials.Water.mGas;
Materials.Water.mGas.setTemperature(375)
@@ -2072,7 +2072,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.gravel, 1, WILDCARD))
@@ -2080,21 +2080,21 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.furnace, 1, WILDCARD))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 8L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.lit_furnace, 1, WILDCARD))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 8L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_OreDictUnificator.set(
OrePrefixes.ingot,
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index 8ab21db198..9977af29f8 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -65,7 +65,6 @@ import static gregtech.api.enums.MetaTileEntityIDs.BREWERY_IV;
import static gregtech.api.enums.MetaTileEntityIDs.BREWERY_LV;
import static gregtech.api.enums.MetaTileEntityIDs.BREWERY_MV;
import static gregtech.api.enums.MetaTileEntityIDs.BRICKED_BLAST_FURNACE_CONTROLLER;
-import static gregtech.api.enums.MetaTileEntityIDs.BRONZE_BLAST_FURNACE_CONTROLLER;
import static gregtech.api.enums.MetaTileEntityIDs.CHARCOAL_PILE_IGNITER_CONTROLLER;
import static gregtech.api.enums.MetaTileEntityIDs.CHEST_BUFFER_EV;
import static gregtech.api.enums.MetaTileEntityIDs.CHEST_BUFFER_HV;
@@ -536,7 +535,6 @@ import gregtech.common.tileentities.machines.long_distance.GT_MetaTileEntity_Lon
import gregtech.common.tileentities.machines.long_distance.GT_MetaTileEntity_LongDistancePipelineItem;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_AssemblyLine;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_BrickedBlastFurnace;
-import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_BronzeBlastFurnace;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_Charcoal_Pit;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_Cleanroom;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_ConcreteBackfiller1;
@@ -815,13 +813,6 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
"multimachine.brickedblastfurnace",
"Bricked Blast Furnace").getStackForm(1L));
- // deprecated since ages, maybe time to remove it from the game?
- ItemList.Machine_Bronze_BlastFurnace.set(
- new GT_MetaTileEntity_BronzeBlastFurnace(
- BRONZE_BLAST_FURNACE_CONTROLLER.ID,
- "bronzemachine.blastfurnace",
- "Bronze Plated Blast Furnace").getStackForm(1L));
-
ItemList.Machine_Multi_BlastFurnace.set(
new GT_MetaTileEntity_ElectricBlastFurnace(
EBF_CONTROLLER.ID,
diff --git a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
index 2f7ed5ca16..412eb3bba9 100644
--- a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
+++ b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
@@ -17,6 +17,7 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintStream;
+import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
@@ -33,6 +34,8 @@ import org.apache.commons.lang3.StringUtils;
import cpw.mods.fml.common.LoadController;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ModContainer;
+import cpw.mods.fml.common.discovery.ASMDataTable;
+import cpw.mods.fml.common.discovery.ModDiscoverer;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
@@ -40,6 +43,9 @@ import gregtech.api.enums.Dyes;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.recipe.RecipeCategory;
+import gregtech.api.recipe.RecipeCategoryHolder;
+import gregtech.api.recipe.RecipeCategorySetting;
import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_Log;
@@ -516,8 +522,6 @@ public class GT_PreLoad {
.getBoolean(true);
GT_Mod.gregtechproxy.mHideUnusedOres = tMainConfig.get(GT_Mod.aTextGeneral, "HideUnusedOres", true)
.getBoolean(true);
- GT_Mod.gregtechproxy.mHideRecyclingRecipes = tMainConfig.get(GT_Mod.aTextGeneral, "HideRecyclingRecipes", true)
- .getBoolean(true);
GT_Mod.gregtechproxy.mArcSmeltIntoAnnealed = tMainConfig
.get(GT_Mod.aTextGeneral, "ArcSmeltIntoAnnealedWrought", true)
.getBoolean(true);
@@ -853,6 +857,18 @@ public class GT_PreLoad {
.get("nei", "RecipeOwnerStackTrace", false);
GT_Mod.gregtechproxy.mNEIOriginalVoltage = GregTech_API.sClientDataFile.get("nei", "OriginalVoltage", false);
+ GT_Mod.gregtechproxy.recipeCategorySettings.clear();
+ for (RecipeCategory recipeCategory : findRecipeCategories()) {
+ RecipeCategorySetting setting = RecipeCategorySetting.find(
+ GregTech_API.sClientDataFile.getWithValidValues(
+ "nei.recipe_categories",
+ recipeCategory.unlocalizedName,
+ RecipeCategorySetting.NAMES,
+ RecipeCategorySetting.getDefault()
+ .toName()));
+ GT_Mod.gregtechproxy.recipeCategorySettings.put(recipeCategory, setting);
+ }
+
GT_Mod.gregtechproxy.mWailaTransformerVoltageTier = GregTech_API.sClientDataFile
.get("waila", "WailaTransformerVoltageTier", true);
GT_Mod.gregtechproxy.wailaAverageNS = GregTech_API.sClientDataFile.get("waila", "WailaAverageNS", false);
@@ -862,5 +878,38 @@ public class GT_PreLoad {
for (int i = 0; i < Circuits.length; i++) {
GT_Mod.gregtechproxy.mCircuitsOrder.putIfAbsent(Circuits[i], i);
}
+
+ GT_Mod.gregtechproxy.reloadNEICache();
+ }
+
+ private static List<RecipeCategory> findRecipeCategories() {
+ List<RecipeCategory> ret = new ArrayList<>();
+ try {
+ Field discovererField = Loader.class.getDeclaredField("discoverer");
+ discovererField.setAccessible(true);
+ ModDiscoverer discoverer = (ModDiscoverer) discovererField.get(Loader.instance());
+ for (ASMDataTable.ASMData asmData : discoverer.getASMTable()
+ .getAll(RecipeCategoryHolder.class.getName())) {
+ try {
+ Object obj = Class.forName(asmData.getClassName())
+ .getDeclaredField(asmData.getObjectName())
+ .get(null);
+ if (obj instanceof RecipeCategory recipeCategory) {
+ ret.add(recipeCategory);
+ } else {
+ GT_FML_LOGGER.error(
+ "{}#{} is not an instance of RecipeCategory",
+ asmData.getClassName(),
+ asmData.getObjectName());
+ }
+ } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
+ GT_FML_LOGGER.error("Failed to find RecipeCategory");
+ GT_FML_LOGGER.catching(e);
+ }
+ }
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+ return ret;
}
}