aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java31
-rw-r--r--src/main/java/GoodGenerator/Loader/FuelRecipeLoader.java19
-rw-r--r--src/main/java/GoodGenerator/Loader/NaquadahReworkRecipeLoader.java6
-rw-r--r--src/main/java/GoodGenerator/Main/GG_Config_Loader.java69
-rw-r--r--src/main/java/GoodGenerator/Main/GoodGenerator.java1
5 files changed, 104 insertions, 22 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java
index 523c52093c..4168c4accb 100644
--- a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java
+++ b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java
@@ -35,6 +35,9 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import static GoodGenerator.Main.GG_Config_Loader.LiquidAirConsumptionPerSecond;
+import static GoodGenerator.Main.GG_Config_Loader.CoolantEfficiency;
+import static GoodGenerator.Main.GG_Config_Loader.ExcitedLiquidCoe;
import static GoodGenerator.util.DescTextLocalization.BLUE_PRINT_INFO;
import static com.gtnewhorizon.structurelib.structure.StructureUtility.*;
import static gregtech.api.util.GT_StructureUtility.ofHatchAdder;
@@ -55,15 +58,15 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
static {
excitedLiquid = Arrays.asList(
- new Pair<>(MyMaterial.atomicSeparationCatalyst.getMolten(20), 16),
- new Pair<>(Materials.Naquadah.getMolten(20L), 4),
- new Pair<>(Materials.Uranium235.getMolten(180L), 3),
- new Pair<>(Materials.Caesium.getMolten(180L), 2)
+ new Pair<>(MyMaterial.atomicSeparationCatalyst.getMolten(20), ExcitedLiquidCoe[0]),
+ new Pair<>(Materials.Naquadah.getMolten(20L), ExcitedLiquidCoe[1]),
+ new Pair<>(Materials.Uranium235.getMolten(180L), ExcitedLiquidCoe[2]),
+ new Pair<>(Materials.Caesium.getMolten(180L), ExcitedLiquidCoe[3])
);
coolant = Arrays.asList(
- new Pair<>(FluidRegistry.getFluidStack("cryotheum", 1000), 275),
- new Pair<>(Materials.SuperCoolant.getFluid(1000L), 150),
- new Pair<>(FluidRegistry.getFluidStack("ic2coolant",1000), 105)
+ new Pair<>(FluidRegistry.getFluidStack("cryotheum", 1000), CoolantEfficiency[0]),
+ new Pair<>(Materials.SuperCoolant.getFluid(1000L), CoolantEfficiency[1]),
+ new Pair<>(FluidRegistry.getFluidStack("ic2coolant",1000), CoolantEfficiency[2])
);
}
@@ -235,7 +238,7 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
if (mMaxProgresstime != 0 && mProgresstime % 20 == 0) {
FluidStack[] input = getStoredFluids().toArray(new FluidStack[0]);
int eff = 100, time = 1;
- if (!consumeFuel(Materials.LiquidAir.getFluid(2400), input)) {
+ if (LiquidAirConsumptionPerSecond != 0 && !consumeFuel(Materials.LiquidAir.getFluid(LiquidAirConsumptionPerSecond), input)) {
this.mEUt = 0;
this.trueEff = 0;
this.trueOutput = 0;
@@ -369,16 +372,16 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
.addInfo("Controller block for the Naquadah Reactor")
.addInfo("Environmental Friendly!")
.addInfo("Generate power with the High-energy liquid.")
- .addInfo("Consume liquid air 2400 L/s to keep running, otherwise" + EnumChatFormatting.YELLOW + " it will void your fuel" + EnumChatFormatting.GRAY + ".")
+ .addInfo(String.format("Consume liquid air %d L/s to keep running, otherwise" + EnumChatFormatting.YELLOW + " it will void your fuel" + EnumChatFormatting.GRAY + ".", LiquidAirConsumptionPerSecond))
.addInfo("Input liquid nuclear fuel or liquid naquadah fuel.")
.addInfo("The reactor will explode when there are more than" + EnumChatFormatting.RED + " ONE" + EnumChatFormatting.GRAY + " types of fuel in the hatch!")
.addInfo("Consume coolant 1000 L/s to increase the efficiency:")
- .addInfo("IC2 Coolant 105%, Super Coolant 150%, Cryotheum 275%")
+ .addInfo(String.format("IC2 Coolant %d%%, Super Coolant %d%%, Cryotheum %d%%", CoolantEfficiency[2], CoolantEfficiency[1], CoolantEfficiency[0]))
.addInfo("Consume excited liquid to increase the output power:")
- .addInfo("molten caesium | 2x power | 180 L/s ")
- .addInfo("molten uranium-235 | 3x power | 180 L/s")
- .addInfo("molten naquadah | 4x power | 20 L/s")
- .addInfo("molten Atomic Separation Catalyst | 16x power | 20 L/s")
+ .addInfo(String.format("molten caesium | %dx power | 180 L/s ", ExcitedLiquidCoe[3]))
+ .addInfo(String.format("molten uranium-235 | %dx power | 180 L/s", ExcitedLiquidCoe[2]))
+ .addInfo(String.format("molten naquadah | %dx power | 20 L/s", ExcitedLiquidCoe[1]))
+ .addInfo(String.format("molten Atomic Separation Catalyst | %dx power | 20 L/s", ExcitedLiquidCoe[0]))
.addInfo("The structure is too complex!")
.addInfo(BLUE_PRINT_INFO)
.addSeparator()
diff --git a/src/main/java/GoodGenerator/Loader/FuelRecipeLoader.java b/src/main/java/GoodGenerator/Loader/FuelRecipeLoader.java
index bb274b0c07..ac2123d930 100644
--- a/src/main/java/GoodGenerator/Loader/FuelRecipeLoader.java
+++ b/src/main/java/GoodGenerator/Loader/FuelRecipeLoader.java
@@ -11,18 +11,21 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
+import static GoodGenerator.Main.GG_Config_Loader.NaquadahFuelTime;
+import static GoodGenerator.Main.GG_Config_Loader.NaquadahFuelVoltage;
+
public class FuelRecipeLoader {
public static void RegisterFuel(){
//MyRecipeAdder.instance.addLiquidMentalFuel(Materials.NaquadahEnriched.getMolten(1L),Materials.Naquadah.getMolten(1L),32768,100);
//MyRecipeAdder.instance.addLiquidMentalFuel(Materials.Naquadria.getMolten(1L),Materials.Naquadah.getMolten(1L),262144,120);
- MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.uraniumBasedLiquidFuelExcited.getFluidOrGas(1),MyMaterial.uraniumBasedLiquidFuelDepleted.getFluidOrGas(1),12960,100);
- MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.thoriumBasedLiquidFuelExcited.getFluidOrGas(1),MyMaterial.thoriumBasedLiquidFuelDepleted.getFluidOrGas(1),9800,200);
- MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.plutoniumBasedLiquidFuelExcited.getFluidOrGas(1),MyMaterial.plutoniumBasedLiquidFuelDepleted.getFluidOrGas(1),32400,150);
- MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkI.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkIDepleted.getFluidOrGas(1),220000,20);
- MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkII.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkIIDepleted.getFluidOrGas(1),380000,20);
- MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkIIIDepleted.getFluidOrGas(1),9511000,80);
- MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkIVDepleted.getFluidOrGas(1),88540000,100);
- MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkVDepleted.getFluidOrGas(1),399576000,160);
+ MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.uraniumBasedLiquidFuelExcited.getFluidOrGas(1),MyMaterial.uraniumBasedLiquidFuelDepleted.getFluidOrGas(1),NaquadahFuelVoltage[0],NaquadahFuelTime[0]);
+ MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.thoriumBasedLiquidFuelExcited.getFluidOrGas(1),MyMaterial.thoriumBasedLiquidFuelDepleted.getFluidOrGas(1),NaquadahFuelVoltage[1],NaquadahFuelTime[1]);
+ MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.plutoniumBasedLiquidFuelExcited.getFluidOrGas(1),MyMaterial.plutoniumBasedLiquidFuelDepleted.getFluidOrGas(1),NaquadahFuelVoltage[2],NaquadahFuelTime[2]);
+ MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkI.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkIDepleted.getFluidOrGas(1),NaquadahFuelVoltage[3],NaquadahFuelTime[3]);
+ MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkII.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkIIDepleted.getFluidOrGas(1),NaquadahFuelVoltage[4],NaquadahFuelTime[4]);
+ MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkIIIDepleted.getFluidOrGas(1),NaquadahFuelVoltage[5],NaquadahFuelTime[5]);
+ MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkIVDepleted.getFluidOrGas(1),NaquadahFuelVoltage[6],NaquadahFuelTime[6]);
+ MyRecipeAdder.instance.addLiquidMentalFuel(MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(1),MyMaterial.naquadahBasedFuelMkVDepleted.getFluidOrGas(1),NaquadahFuelVoltage[7],NaquadahFuelTime[7]);
MyRecipeAdder.instance.addNaquadahFuelRefineRecipe(
new FluidStack[]{
diff --git a/src/main/java/GoodGenerator/Loader/NaquadahReworkRecipeLoader.java b/src/main/java/GoodGenerator/Loader/NaquadahReworkRecipeLoader.java
index e9f988b9b6..4d37156adf 100644
--- a/src/main/java/GoodGenerator/Loader/NaquadahReworkRecipeLoader.java
+++ b/src/main/java/GoodGenerator/Loader/NaquadahReworkRecipeLoader.java
@@ -30,11 +30,15 @@ import java.lang.reflect.*;
import java.util.HashSet;
import static GoodGenerator.Items.MyMaterial.*;
+import static GoodGenerator.Main.GG_Config_Loader.EnableNaquadahRework;
import static gregtech.common.items.GT_MetaGenerated_Item_01.registerCauldronCleaningFor;
public class NaquadahReworkRecipeLoader {
public static void RecipeLoad(){
+
+ if (!EnableNaquadahRework) return;
+
//Naquadah Rework Line
GT_Values.RA.addBlastRecipe(
naquadahEarth.get(OrePrefixes.dust, 2),
@@ -558,6 +562,8 @@ public class NaquadahReworkRecipeLoader {
public static void Remover() {
+ if (!EnableNaquadahRework) return;
+
GT_Log.out.print(GoodGenerator.MOD_ID + ": Begin to remove pure Naquadah, Enriched Naquadah and Naquadria.\n");
HashSet<GT_Recipe> remove = new HashSet<>(5000);
diff --git a/src/main/java/GoodGenerator/Main/GG_Config_Loader.java b/src/main/java/GoodGenerator/Main/GG_Config_Loader.java
new file mode 100644
index 0000000000..f3bf69752c
--- /dev/null
+++ b/src/main/java/GoodGenerator/Main/GG_Config_Loader.java
@@ -0,0 +1,69 @@
+package GoodGenerator.Main;
+
+import cpw.mods.fml.relauncher.FMLInjectionData;
+import net.minecraftforge.common.config.Configuration;
+
+import java.io.File;
+
+public class GG_Config_Loader {
+
+ public static final Configuration GG_Config = new Configuration(new File(new File((File) FMLInjectionData.data()[6], "config"), "GoodGenerator.cfg"));
+
+ public static int LiquidAirConsumptionPerSecond = 2400;
+ public static int[] NaquadahFuelVoltage = new int[]{
+ 12960, 9800, 32400, 220000,
+ 380000, 9511000, 88540000, 399576000
+ };
+ public static int[] NaquadahFuelTime = new int[]{
+ 100, 200, 150, 20, 20, 80, 100, 160
+ };
+ public static int[] CoolantEfficiency = new int[]{
+ 275, 150, 105
+ };
+ public static int[] ExcitedLiquidCoe = new int[]{
+ 16, 4, 3, 2
+ };
+ public static boolean EnableNaquadahRework = true;
+
+ public static void run() {
+ loadCategory();
+ loadProperty();
+ }
+
+ private static void loadProperty() {
+ NaquadahFuelVoltage[0] = GG_Config.get("LargeNaquadahReactor", "Uranium Based Liquid Fuel Basic Output Voltage", NaquadahFuelVoltage[0]).getInt();
+ NaquadahFuelTime[0] = GG_Config.get("LargeNaquadahReactor", "Uranium Based Liquid Fuel Burning Time", NaquadahFuelTime[0]).getInt();
+ NaquadahFuelVoltage[1] = GG_Config.get("LargeNaquadahReactor", "Thorium Based Liquid Fuel Basic Output Voltage", NaquadahFuelVoltage[1]).getInt();
+ NaquadahFuelTime[1] = GG_Config.get("LargeNaquadahReactor", "Thorium Based Liquid Fuel Burning Time", NaquadahFuelTime[1]).getInt();
+ NaquadahFuelVoltage[2] = GG_Config.get("LargeNaquadahReactor", "Plutonium Based Liquid Fuel Basic Output Voltage", NaquadahFuelVoltage[2]).getInt();
+ NaquadahFuelTime[2] = GG_Config.get("LargeNaquadahReactor", "Plutonium Based Liquid Fuel Burning Time", NaquadahFuelTime[2]).getInt();
+ NaquadahFuelVoltage[3] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkI Basic Output Voltage", NaquadahFuelVoltage[3]).getInt();
+ NaquadahFuelTime[3] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkI Burning Time", NaquadahFuelTime[3]).getInt();
+ NaquadahFuelVoltage[4] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkII Basic Output Voltage", NaquadahFuelVoltage[4]).getInt();
+ NaquadahFuelTime[4] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkII Burning Time", NaquadahFuelTime[4]).getInt();
+ NaquadahFuelVoltage[5] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkIII Basic Output Voltage", NaquadahFuelVoltage[5]).getInt();
+ NaquadahFuelTime[5] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkIII Burning Time", NaquadahFuelTime[5]).getInt();
+ NaquadahFuelVoltage[6] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkIV Basic Output Voltage", NaquadahFuelVoltage[6]).getInt();
+ NaquadahFuelTime[6] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkIV Burning Time", NaquadahFuelTime[6]).getInt();
+ NaquadahFuelVoltage[7] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkV Basic Output Voltage", NaquadahFuelVoltage[7]).getInt();
+ NaquadahFuelTime[7] = GG_Config.get("LargeNaquadahReactor", "Naquadah Fuel MkV Burning Time", NaquadahFuelTime[7]).getInt();
+ CoolantEfficiency[0] = GG_Config.get("LargeNaquadahReactor", "Cryotheum Efficiency", CoolantEfficiency[0]).getInt();
+ CoolantEfficiency[1] = GG_Config.get("LargeNaquadahReactor", "Super Coolant Efficiency", CoolantEfficiency[1]).getInt();
+ CoolantEfficiency[2] = GG_Config.get("LargeNaquadahReactor", "IC2 Coolant Efficiency", CoolantEfficiency[2]).getInt();
+ ExcitedLiquidCoe[0] = GG_Config.get("LargeNaquadahReactor", "Atomic Separation Catalyst Magnification", ExcitedLiquidCoe[0]).getInt();
+ ExcitedLiquidCoe[1] = GG_Config.get("LargeNaquadahReactor", "Naquadah Magnification", ExcitedLiquidCoe[1]).getInt();
+ ExcitedLiquidCoe[2] = GG_Config.get("LargeNaquadahReactor", "Uranium-235 Magnification", ExcitedLiquidCoe[2]).getInt();
+ ExcitedLiquidCoe[3] = GG_Config.get("LargeNaquadahReactor", "Caesium Magnification", ExcitedLiquidCoe[3]).getInt();
+ LiquidAirConsumptionPerSecond = Math.max(GG_Config.get("LargeNaquadahReactor", "Liquid Air Consumption Per Second", LiquidAirConsumptionPerSecond).getInt(), 0);
+
+ EnableNaquadahRework = GG_Config.get("NaquadahRework", "Enable Naquadah Rework", EnableNaquadahRework).getBoolean();
+
+ if (GG_Config.hasChanged())
+ GG_Config.save();
+ }
+
+ private static void loadCategory() {
+ GG_Config.addCustomCategoryComment("LargeNaquadahReactor", "Set fuel value, coolant or excited liquid property.");
+ GG_Config.addCustomCategoryComment("NaquadahRework", "About the naquadah line");
+ }
+}
diff --git a/src/main/java/GoodGenerator/Main/GoodGenerator.java b/src/main/java/GoodGenerator/Main/GoodGenerator.java
index fca0804c13..7e28234127 100644
--- a/src/main/java/GoodGenerator/Main/GoodGenerator.java
+++ b/src/main/java/GoodGenerator/Main/GoodGenerator.java
@@ -44,6 +44,7 @@ public final class GoodGenerator {
@Mod.EventHandler
public static void preInit(FMLPreInitializationEvent event) {
+ GG_Config_Loader.run();
WerkstoffAdderRegistry.addWerkstoffAdder(new MyMaterial());
Loaders.preInitLoad();
proxy.preInit(event);