From d00a994aafb5098803161671d3f2dd6b0de94ade Mon Sep 17 00:00:00 2001 From: Sampsa <69092953+S4mpsa@users.noreply.github.com> Date: Wed, 23 Aug 2023 12:16:09 +0300 Subject: Buff Naquadah Fuels in UIV+ tiers (#198) * Add a way to enrich tiberium dust * Add alternate recipe for MK3 Fuel * Bump deps * Add new tier of catalyst and coolant to Naquadah Reactor * Add T4 Field Restriction Coil * Fix structure check on T4 coils * Classic spotless --- .../blocks/tileEntity/FuelRefineFactory.java | 19 ++++++---- .../blocks/tileEntity/MultiNqGenerator.java | 41 ++++++++++++--------- .../goodgenerator/loader/FuelRecipeLoader.java | 13 +++++++ src/main/java/goodgenerator/loader/Loaders.java | 4 ++ .../java/goodgenerator/loader/RecipeLoader.java | 16 ++++++++ .../java/goodgenerator/main/GG_Config_Loader.java | 22 ++++++----- src/main/java/goodgenerator/util/ItemRefer.java | 1 + .../resources/assets/goodgenerator/lang/en_US.lang | 3 ++ .../goodgenerator/textures/blocks/FRF_Coils/4.png | Bin 0 -> 607 bytes 9 files changed, 84 insertions(+), 35 deletions(-) create mode 100644 src/main/resources/assets/goodgenerator/textures/blocks/FRF_Coils/4.png (limited to 'src') diff --git a/src/main/java/goodgenerator/blocks/tileEntity/FuelRefineFactory.java b/src/main/java/goodgenerator/blocks/tileEntity/FuelRefineFactory.java index 55961d0737..1989531a54 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/FuelRefineFactory.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/FuelRefineFactory.java @@ -47,8 +47,9 @@ public class FuelRefineFactory extends GT_MetaTileEntity_TooltipMultiBlockBase_E private IStructureDefinition multiDefinition = null; private int Tier = -1; - private int[] cnt = new int[] { 0, 0, 0 }; - private static final Block[] coils = new Block[] { Loaders.FRF_Coil_1, Loaders.FRF_Coil_2, Loaders.FRF_Coil_3 }; + private int[] cnt = new int[] { 0, 0, 0, 0 }; + private static final Block[] coils = new Block[] { Loaders.FRF_Coil_1, Loaders.FRF_Coil_2, Loaders.FRF_Coil_3, + Loaders.FRF_Coil_4 }; public FuelRefineFactory(String name) { super(name); @@ -109,7 +110,8 @@ public class FuelRefineFactory extends GT_MetaTileEntity_TooltipMultiBlockBase_E ofChain( onElementPass(x -> ++x.cnt[0], ofFieldCoil(0)), onElementPass(x -> ++x.cnt[1], ofFieldCoil(1)), - onElementPass(x -> ++x.cnt[2], ofFieldCoil(2)))) + onElementPass(x -> ++x.cnt[2], ofFieldCoil(2)), + onElementPass(x -> ++x.cnt[3], ofFieldCoil(3)))) .build(); } return multiDefinition; @@ -132,7 +134,7 @@ public class FuelRefineFactory extends GT_MetaTileEntity_TooltipMultiBlockBase_E private int getIndex(ItemStack trigger) { int s = trigger.stackSize; - if (s > 3 || s <= 0) s = 3; + if (s > 4 || s <= 0) s = 4; return s - 1; } @@ -147,9 +149,9 @@ public class FuelRefineFactory extends GT_MetaTileEntity_TooltipMultiBlockBase_E protected GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); tt.addMachineType("Naquadah Fuel Refinery").addInfo("Controller block for the Naquadah Fuel Refinery") - .addInfo("But at what cost?").addInfo("Produce the endgame naquadah fuel.") - .addInfo("Need field restriction coil to control the fatal radiation.") - .addInfo("Use higher tier coil to unlock more fuel and reduce the process time.") + .addInfo("But at what cost?").addInfo("Produces naquadah fuels.") + .addInfo("Needs field restriction coils to control the fatal radiation.") + .addInfo("Use higher tier coils to unlock more fuel types and reduce the processing times.") .addInfo("The structure is too complex!").addInfo(BLUE_PRINT_INFO).addSeparator() .beginStructureBlock(3, 15, 15, false).addInputHatch("The casings adjoin the field restriction glass.") .addInputBus("The casings adjoin the field restriction glass.") @@ -180,11 +182,12 @@ public class FuelRefineFactory extends GT_MetaTileEntity_TooltipMultiBlockBase_E cnt[0] = 0; cnt[1] = 0; cnt[2] = 0; + cnt[3] = 0; return structureCheck_EM(mName, 7, 12, 1) && getTier() != -1; } public int getTier() { - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 4; i++) { if (cnt[i] == 32) { Tier = i + 1; return i; diff --git a/src/main/java/goodgenerator/blocks/tileEntity/MultiNqGenerator.java b/src/main/java/goodgenerator/blocks/tileEntity/MultiNqGenerator.java index 7e86888ea6..4623615dde 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/MultiNqGenerator.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/MultiNqGenerator.java @@ -36,6 +36,7 @@ import goodgenerator.util.MyRecipeAdder; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_HatchElement; import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -66,14 +67,16 @@ public class MultiNqGenerator extends GT_MetaTileEntity_TooltipMultiBlockBase_EM static { excitedLiquid = Arrays.asList( - 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])); + new Pair<>(MaterialsUEVplus.Space.getMolten(20L), ExcitedLiquidCoe[0]), + new Pair<>(MyMaterial.atomicSeparationCatalyst.getMolten(20), ExcitedLiquidCoe[1]), + new Pair<>(Materials.Naquadah.getMolten(20L), ExcitedLiquidCoe[2]), + new Pair<>(Materials.Uranium235.getMolten(180L), ExcitedLiquidCoe[3]), + new Pair<>(Materials.Caesium.getMolten(180L), ExcitedLiquidCoe[4])); coolant = Arrays.asList( - new Pair<>(FluidRegistry.getFluidStack("cryotheum", 1000), CoolantEfficiency[0]), - new Pair<>(Materials.SuperCoolant.getFluid(1000L), CoolantEfficiency[1]), - new Pair<>(FluidRegistry.getFluidStack("ic2coolant", 1000), CoolantEfficiency[2])); + new Pair<>(MaterialsUEVplus.Time.getMolten(20L), CoolantEfficiency[0]), + new Pair<>(FluidRegistry.getFluidStack("cryotheum", 1000), CoolantEfficiency[1]), + new Pair<>(Materials.SuperCoolant.getFluid(1000L), CoolantEfficiency[2]), + new Pair<>(FluidRegistry.getFluidStack("ic2coolant", 1000), CoolantEfficiency[3])); } @Override @@ -368,32 +371,34 @@ public class MultiNqGenerator extends GT_MetaTileEntity_TooltipMultiBlockBase_EM protected GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); tt.addMachineType("Naquadah Reactor").addInfo("Controller block for the Naquadah Reactor") - .addInfo("Environmental Friendly!").addInfo("Generate power with the High-energy liquid.") + .addInfo("Environmentally Friendly!").addInfo("Generate power from high-energy liquids.") .addInfo( String.format( - "Consume liquid air %d L/s to keep running, otherwise" + EnumChatFormatting.YELLOW + "Consumes &d L/s Liquid Air 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 + "The reactor will explode when there is more than" + EnumChatFormatting.RED + " ONE" + EnumChatFormatting.GRAY - + " types of fuel in the hatch!") - .addInfo("Consume coolant 1000 L/s to increase the efficiency:") + + " type of fuel in hatches!") + .addInfo("Can consume 1000L/s of coolant to increase efficiency:") .addInfo( String.format( - "IC2 Coolant %d%%, Super Coolant %d%%, Cryotheum %d%%", + "IC2 Coolant %d%%, Super Coolant %d%%, Cryotheum %d%%, Tachyon Rich Temporal Fluid %d%%", + CoolantEfficiency[3], CoolantEfficiency[2], CoolantEfficiency[1], CoolantEfficiency[0])) - .addInfo("Consume excited liquid to increase the output power:") - .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("Can consume excited liquid to increase the output power and fuel usage:") + .addInfo(String.format("Molten Caesium | %dx power | 180 L/s ", ExcitedLiquidCoe[4])) + .addInfo(String.format("Molten Uranium-235 | %dx power | 180 L/s", ExcitedLiquidCoe[3])) + .addInfo(String.format("Molten Naquadah | %dx power | 20 L/s", ExcitedLiquidCoe[2])) + .addInfo(String.format("Molten Atomic Separation Catalyst | %dx power | 20 L/s", ExcitedLiquidCoe[1])) + .addInfo(String.format("Spatially Enlarged Fluid | %dx power | 20 L/s", ExcitedLiquidCoe[0])) .addInfo("The structure is too complex!").addInfo(BLUE_PRINT_INFO).addSeparator() .beginStructureBlock(7, 8, 7, true).addController("Front bottom") .addDynamoHatch("Any bottom layer casing, only accept ONE!").addInputHatch("Any bottom layer casing") diff --git a/src/main/java/goodgenerator/loader/FuelRecipeLoader.java b/src/main/java/goodgenerator/loader/FuelRecipeLoader.java index 648cb69455..eec432e6ca 100644 --- a/src/main/java/goodgenerator/loader/FuelRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/FuelRecipeLoader.java @@ -15,6 +15,7 @@ import goodgenerator.util.MyRecipeAdder; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; public class FuelRecipeLoader { @@ -74,6 +75,18 @@ public class FuelRecipeLoader { 100, 1); + // Alternative higher tier recipe + MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( + new FluidStack[] { MyMaterial.heavyNaquadahFuel.getFluidOrGas(800), + MyMaterial.lightNaquadahFuel.getFluidOrGas(1000), }, + new ItemStack[] { MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 8), + GT_ModHandler.getModItem("miscutils", "itemDustChromaticGlass", 9), + ItemRefer.High_Density_Uranium.get(2), ItemRefer.High_Density_Plutonium.get(1), }, + MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(200), + 2100000, + 100, + 1); + MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( new FluidStack[] { MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(2000), Materials.Praseodymium.getMolten(9216L) }, diff --git a/src/main/java/goodgenerator/loader/Loaders.java b/src/main/java/goodgenerator/loader/Loaders.java index 5867109135..18f8c881aa 100644 --- a/src/main/java/goodgenerator/loader/Loaders.java +++ b/src/main/java/goodgenerator/loader/Loaders.java @@ -151,6 +151,9 @@ public class Loaders { public static final Block FRF_Coil_3 = new Casing( "FRF_Coil_3", new String[] { GoodGenerator.MOD_ID + ":FRF_Coils/3" }); + public static final Block FRF_Coil_4 = new Casing( + "FRF_Coil_4", + new String[] { GoodGenerator.MOD_ID + ":FRF_Coils/4" }); public static final Block radiationProtectionSteelFrame = new Frame( "radiationProtectionSteelFrame", new String[] { GoodGenerator.MOD_ID + ":radiationProtectionSteelFrame" }); @@ -325,6 +328,7 @@ public class Loaders { GameRegistry.registerBlock(FRF_Coil_1, MyItemBlocks.class, "FRF_Coil_1"); GameRegistry.registerBlock(FRF_Coil_2, MyItemBlocks.class, "FRF_Coil_2"); GameRegistry.registerBlock(FRF_Coil_3, MyItemBlocks.class, "FRF_Coil_3"); + GameRegistry.registerBlock(FRF_Coil_4, MyItemBlocks.class, "FRF_Coil_4"); GameRegistry.registerBlock(rawCylinder, MyItemBlocks.class, "rawCylinder"); GameRegistry.registerBlock(titaniumPlatedCylinder, MyItemBlocks.class, "titaniumPlatedCylinder"); GameRegistry.registerBlock(speedingPipe, MyItemBlocks.class, "speedingPipe"); diff --git a/src/main/java/goodgenerator/loader/RecipeLoader.java b/src/main/java/goodgenerator/loader/RecipeLoader.java index cf4904f5c4..043572d932 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader.java @@ -647,6 +647,22 @@ public class RecipeLoader { ItemRefer.Field_Restriction_Coil_T3.get(1), 72000, 114514); + GT_Values.RA.addAssemblylineRecipe( + ItemRefer.Field_Restriction_Coil_T3.get(1), + 500000, + new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 1), + ItemList.Field_Generator_UIV.get(2), ItemList.Electric_Pump_UIV.get(8), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUEV, 64), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUEV, 64), + GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SpaceTime, 8), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, MaterialsUEVplus.SpaceTime, 16), + ItemList.Circuit_Wafer_PPIC.get(64), + new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1L }, }, + new FluidStack[] { MyMaterial.metastableOganesson.getMolten(1000), + MaterialsUEVplus.TranscendentMetal.getMolten(9216), Materials.Lubricant.getFluid(128000), }, + ItemRefer.Field_Restriction_Coil_T4.get(1), + 144000, + 114514); } else { GT_Values.RA.addAssemblylineRecipe( MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.ingot), diff --git a/src/main/java/goodgenerator/main/GG_Config_Loader.java b/src/main/java/goodgenerator/main/GG_Config_Loader.java index fdbcda4be1..dfd06b4898 100644 --- a/src/main/java/goodgenerator/main/GG_Config_Loader.java +++ b/src/main/java/goodgenerator/main/GG_Config_Loader.java @@ -15,8 +15,8 @@ public class GG_Config_Loader { public static int[] NaquadahFuelVoltage = new int[] { 12960, 2200, 32400, 975000, 2300000, 9511000, 88540000, 399576000 }; public static int[] NaquadahFuelTime = new int[] { 100, 500, 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 int[] CoolantEfficiency = new int[] { 500, 275, 150, 105 }; + public static int[] ExcitedLiquidCoe = new int[] { 64, 16, 4, 3, 2 }; public static boolean EnableNaquadahRework = true; public static void run() { @@ -63,19 +63,23 @@ public class GG_Config_Loader { .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]) + CoolantEfficiency[0] = GG_Config.get("LargeNaquadahReactor", "Tachyon Fluid Efficiency", CoolantEfficiency[0]) .getInt(); - CoolantEfficiency[1] = GG_Config.get("LargeNaquadahReactor", "Super Coolant Efficiency", CoolantEfficiency[1]) + CoolantEfficiency[1] = GG_Config.get("LargeNaquadahReactor", "Cryotheum Efficiency", CoolantEfficiency[1]) .getInt(); - CoolantEfficiency[2] = GG_Config.get("LargeNaquadahReactor", "IC2 Coolant Efficiency", CoolantEfficiency[2]) + CoolantEfficiency[2] = GG_Config.get("LargeNaquadahReactor", "Super Coolant Efficiency", CoolantEfficiency[2]) + .getInt(); + CoolantEfficiency[3] = GG_Config.get("LargeNaquadahReactor", "IC2 Coolant Efficiency", CoolantEfficiency[3]) .getInt(); ExcitedLiquidCoe[0] = GG_Config - .get("LargeNaquadahReactor", "Atomic Separation Catalyst Magnification", ExcitedLiquidCoe[0]).getInt(); - ExcitedLiquidCoe[1] = GG_Config.get("LargeNaquadahReactor", "Naquadah Magnification", ExcitedLiquidCoe[1]) + .get("LargeNaquadahReactor", "Spatially Enlarged Fluid Magnification", ExcitedLiquidCoe[0]).getInt(); + ExcitedLiquidCoe[1] = GG_Config + .get("LargeNaquadahReactor", "Atomic Separation Catalyst Magnification", ExcitedLiquidCoe[1]).getInt(); + ExcitedLiquidCoe[2] = GG_Config.get("LargeNaquadahReactor", "Naquadah Magnification", ExcitedLiquidCoe[2]) .getInt(); - ExcitedLiquidCoe[2] = GG_Config.get("LargeNaquadahReactor", "Uranium-235 Magnification", ExcitedLiquidCoe[2]) + ExcitedLiquidCoe[3] = GG_Config.get("LargeNaquadahReactor", "Uranium-235 Magnification", ExcitedLiquidCoe[3]) .getInt(); - ExcitedLiquidCoe[3] = GG_Config.get("LargeNaquadahReactor", "Caesium Magnification", ExcitedLiquidCoe[3]) + ExcitedLiquidCoe[4] = GG_Config.get("LargeNaquadahReactor", "Caesium Magnification", ExcitedLiquidCoe[4]) .getInt(); LiquidAirConsumptionPerSecond = Math.max( GG_Config diff --git a/src/main/java/goodgenerator/util/ItemRefer.java b/src/main/java/goodgenerator/util/ItemRefer.java index 98baad7d94..400199ef03 100644 --- a/src/main/java/goodgenerator/util/ItemRefer.java +++ b/src/main/java/goodgenerator/util/ItemRefer.java @@ -99,6 +99,7 @@ public final class ItemRefer { public static ItemRefer Field_Restriction_Coil_T1 = getItemStack(FRF_Coil_1); public static ItemRefer Field_Restriction_Coil_T2 = getItemStack(FRF_Coil_2); public static ItemRefer Field_Restriction_Coil_T3 = getItemStack(FRF_Coil_3); + public static ItemRefer Field_Restriction_Coil_T4 = getItemStack(FRF_Coil_4); public static ItemRefer Radiation_Proof_Steel_Frame_Box = getItemStack(radiationProtectionSteelFrame); public static ItemRefer Field_Restriction_Glass = getItemStack(fieldRestrictingGlass); public static ItemRefer Raw_Cylinder = getItemStack(rawCylinder); diff --git a/src/main/resources/assets/goodgenerator/lang/en_US.lang b/src/main/resources/assets/goodgenerator/lang/en_US.lang index 36b2cd0cf8..c151f27b14 100644 --- a/src/main/resources/assets/goodgenerator/lang/en_US.lang +++ b/src/main/resources/assets/goodgenerator/lang/en_US.lang @@ -7,6 +7,7 @@ fieldRestrictingGlass.0.name=Field Restriction Glass FRF_Coil_1.0.name=Field Restriction Coil FRF_Coil_2.0.name=Advanced Field Restriction Coil FRF_Coil_3.0.name=Ultimate Field Restriction Coil +FRF_Coil_4.0.name=Temporal Field Restriction Coil FRF_Casing.0.name=Naquadah Fuel Refinery Casing rawCylinder.0.name=Raw Cylinder titaniumPlatedCylinder.0.name=Titanium Plated Cylinder @@ -476,6 +477,8 @@ achievement.FRF_Coil_2.0=Advanced Field Restriction Coil achievement.FRF_Coil_2.0.desc=Pickup this item to see the recipe in NEI achievement.FRF_Coil_3.0=Ultimate Field Restriction Coil achievement.FRF_Coil_3.0.desc=Pickup this item to see the recipe in NEI +achievement.FRF_Coil_4.0=Temporal Field Restriction Coil +achievement.FRF_Coil_4.0.desc=Pickup this item to see the recipe in NEI achievement.gt.blockmachines.neutron_accelerator_luv=Neutron Accelerator Luv achievement.gt.blockmachines.neutron_accelerator_luv.desc=Do you really want it? achievement.item.fluidCore.1=Fluid Storage Core T2 diff --git a/src/main/resources/assets/goodgenerator/textures/blocks/FRF_Coils/4.png b/src/main/resources/assets/goodgenerator/textures/blocks/FRF_Coils/4.png new file mode 100644 index 0000000000..a1410731e6 Binary files /dev/null and b/src/main/resources/assets/goodgenerator/textures/blocks/FRF_Coils/4.png differ -- cgit