diff options
author | GlodBlock <1356392126@qq.com> | 2021-10-24 23:31:03 +0800 |
---|---|---|
committer | GlodBlock <1356392126@qq.com> | 2021-10-24 23:31:03 +0800 |
commit | 8208c08530ef707b298deac6cc1f10597d7fe65f (patch) | |
tree | 0f7be3e066b15b58d4db045b2fe96ba63184bd3d /src/main/java | |
parent | 54a75d45933b00142bc01925285daa49b6f2fa3e (diff) | |
download | GT5-Unofficial-8208c08530ef707b298deac6cc1f10597d7fe65f.tar.gz GT5-Unofficial-8208c08530ef707b298deac6cc1f10597d7fe65f.tar.bz2 GT5-Unofficial-8208c08530ef707b298deac6cc1f10597d7fe65f.zip |
add config file
Diffstat (limited to 'src/main/java')
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); |