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/tileEntity/FuelRefineFactory.java19
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/MultiNqGenerator.java41
-rw-r--r--src/main/java/goodgenerator/loader/FuelRecipeLoader.java13
-rw-r--r--src/main/java/goodgenerator/loader/Loaders.java4
-rw-r--r--src/main/java/goodgenerator/loader/RecipeLoader.java16
-rw-r--r--src/main/java/goodgenerator/main/GG_Config_Loader.java22
-rw-r--r--src/main/java/goodgenerator/util/ItemRefer.java1
7 files changed, 81 insertions, 35 deletions
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<FuelRefineFactory> 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);