aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/material
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2021-12-07 14:37:22 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2021-12-07 14:37:22 +0000
commit43e67b5f97543c2a1ea51b89ed745d0773f94751 (patch)
tree989d74129ab372f798f2a899d38e353b4480b8a5 /src/Java/gtPlusPlus/core/material
parenta00d9f9245db7dc0c425044c0aeff84d15092dfd (diff)
downloadGT5-Unofficial-43e67b5f97543c2a1ea51b89ed745d0773f94751.tar.gz
GT5-Unofficial-43e67b5f97543c2a1ea51b89ed745d0773f94751.tar.bz2
GT5-Unofficial-43e67b5f97543c2a1ea51b89ed745d0773f94751.zip
Added more nuclear processing recipes.
Removed lots of useless nuclear generated items. More NEI improvements. Made Dehydrator and FFPP recipe handling more lenient.
Diffstat (limited to 'src/Java/gtPlusPlus/core/material')
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java27
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java45
-rw-r--r--src/Java/gtPlusPlus/core/material/ORES.java9
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java65
4 files changed, 126 insertions, 20 deletions
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index 404c5c7918..cc7e21656b 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -49,7 +49,7 @@ public class Material {
private MaterialState materialState;
private TextureSet textureSet;
- private Fluid vMoltenFluid;
+ private Fluid mFluid;
private Fluid vPlasma;
private boolean vGenerateCells;
@@ -478,7 +478,7 @@ public class Material {
final Materials isValid = Materials.get(this.getLocalizedName());
FluidStack aTest = FluidUtils.getWildcardFluidStack(localizedName, 1);
if (aTest != null){
- this.vMoltenFluid = aTest.getFluid();
+ this.mFluid = aTest.getFluid();
}
else {
if (isValid == null || isValid == Materials._NULL){
@@ -487,7 +487,7 @@ public class Material {
else {
FluidStack aTest2 = FluidUtils.getWildcardFluidStack(localizedName, 1);
if (aTest2 != null){
- this.vMoltenFluid = aTest2.getFluid();
+ this.mFluid = aTest2.getFluid();
}
else {
queueFluidGeneration();
@@ -497,7 +497,7 @@ public class Material {
this.vPlasma = this.generatePlasma();
}
else {
- this.vMoltenFluid = null;
+ this.mFluid = null;
this.vPlasma = null;
}
String ratio = "";
@@ -1104,7 +1104,7 @@ public class Material {
public final static void generateQueuedFluids() {
for (Material m : mMaterialMap) {
if (m.isFluidQueued) {
- m.vMoltenFluid = m.generateFluid();
+ m.mFluid = m.generateFluid();
}
}
}
@@ -1249,18 +1249,21 @@ public class Material {
}
+ public Fluid getFluid() {
+ return mFluid;
+ }
- final public FluidStack getFluid(final int fluidAmount) {
- if (this.vMoltenFluid == null){
+ final public FluidStack getFluidStack(final int fluidAmount) {
+ if (this.mFluid == null){
return null;
}
- final FluidStack moltenFluid = new FluidStack(this.vMoltenFluid, fluidAmount);
+ final FluidStack moltenFluid = new FluidStack(this.mFluid, fluidAmount);
return moltenFluid;
}
final public boolean setFluid(Fluid aFluid) {
- if (this.vMoltenFluid == null){
- this.vMoltenFluid = aFluid;
+ if (this.mFluid == null){
+ this.mFluid = aFluid;
return true;
}
return false;
@@ -1353,8 +1356,8 @@ public class Material {
}
private static boolean registerComponentForMaterial(Material componentMaterial, FluidStack aStack) {
- if (componentMaterial != null && aStack != null && componentMaterial.vMoltenFluid == null) {
- componentMaterial.vMoltenFluid = aStack.getFluid();
+ if (componentMaterial != null && aStack != null && componentMaterial.mFluid == null) {
+ componentMaterial.mFluid = aStack.getFluid();
return true;
}
return false;
diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
index 68026d1cac..4a3af94f6d 100644
--- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
+++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
@@ -29,7 +29,10 @@ import gtPlusPlus.core.item.base.rods.BaseItemRod;
import gtPlusPlus.core.item.base.rods.BaseItemRodLong;
import gtPlusPlus.core.item.base.rotors.BaseItemRotor;
import gtPlusPlus.core.item.base.screws.BaseItemScrew;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.state.MaterialState;
+import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
@@ -262,13 +265,47 @@ public class MaterialGenerator {
generateNuclearMaterial(matInfo, true);
}
+
+ public static void generateNuclearDusts(final Material matInfo){
+ generateNuclearDusts(matInfo, true);
+ }
+
+ public static void generateNuclearDusts(final Material matInfo, boolean generateDehydratorRecipe){
+ generateNuclearMaterial(matInfo, false, true, false, false);
+ if (generateDehydratorRecipe && matInfo.getFluid() != null && matInfo.getDust(0) != null) {
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+
+ },
+ matInfo.getFluidStack(144),
+ null,
+ new ItemStack[] {
+ matInfo.getDust(1),
+ },
+ new int[] { 10000 },
+ 10*(matInfo.vVoltageMultiplier/5), // Time in ticks
+ matInfo.vVoltageMultiplier); // EU
+ }
+ }
+
public static void generateNuclearMaterial(final Material matInfo, final boolean generatePlates){
+ generateNuclearMaterial(matInfo, true, true, true, generatePlates);
+ }
+
+ public static void generateNuclearMaterial(final Material matInfo, final boolean generateBlock,
+ final boolean generateDusts, final boolean generateIngot, final boolean generatePlates){
try {
- tempBlock = new BlockBaseModular(matInfo,BlockTypes.STANDARD);
- temp = new BaseItemDust(matInfo);
- temp = new BaseItemIngot(matInfo);
- temp = new BaseItemNugget(matInfo);
+ if (generateBlock) {
+ tempBlock = new BlockBaseModular(matInfo,BlockTypes.STANDARD);
+ }
+ if (generateDusts) {
+ temp = new BaseItemDust(matInfo);
+ }
+ if (generateIngot) {
+ temp = new BaseItemIngot(matInfo);
+ temp = new BaseItemNugget(matInfo);
+ }
if (generatePlates) {
temp = new BaseItemPlate(matInfo);
diff --git a/src/Java/gtPlusPlus/core/material/ORES.java b/src/Java/gtPlusPlus/core/material/ORES.java
index c2556b60f1..363708859f 100644
--- a/src/Java/gtPlusPlus/core/material/ORES.java
+++ b/src/Java/gtPlusPlus/core/material/ORES.java
@@ -263,10 +263,11 @@ public final class ORES {
-1,
-1, //Radiation
new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().YTTRIUM, 1),
- new MaterialStack(ELEMENT.getInstance().YTTERBIUM, 1),
- new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 1),
- new MaterialStack(ELEMENT.getInstance().OXYGEN, 4)
+ new MaterialStack(ELEMENT.getInstance().YTTRIUM, 2),
+ new MaterialStack(ELEMENT.getInstance().YTTERBIUM, 2),
+ new MaterialStack(ELEMENT.getInstance().EUROPIUM, 1),
+ new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 2),
+ new MaterialStack(ELEMENT.getInstance().OXYGEN, 8)
});
public static final Material YTTRIALITE = new Material(
diff --git a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
index 9e59758f73..8fe99f16e7 100644
--- a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
+++ b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
@@ -10,6 +10,24 @@ import gtPlusPlus.core.util.data.StringUtils;
public final class NUCLIDE {
+ public static final Material Li2BeF4 = new Material(
+ "Lithium Tetrafluoroberyllate", //Material Name
+ MaterialState.LIQUID, //State
+ TextureSets.NUCLEAR.get(),
+ null, //Material Colour
+ 566, //Melting Point in C
+ 870, //Boiling Point in C
+ -1, //Protons
+ -1, //Neutrons
+ false, //Uses Blast furnace?
+ StringUtils.subscript(StringUtils.superscript("7")+"Li2BeF4"), //Chemical Formula
+ 4, //Radioactivity Level
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 2),
+ new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1)
+ });
+
public static final Material LiFBeF2ThF4UF4 = new Material(
"LiFBeF2ThF4UF4", //Material Name
MaterialState.LIQUID, //State
@@ -70,6 +88,44 @@ public final class NUCLIDE {
new MaterialStack(ELEMENT.getInstance().URANIUM235, 14)
});
+ // Misc
+ public static final Material BurntLftrFuel_MK1 = new Material(
+ "Burnt Reactor Fuel I", //Material Name
+ MaterialState.PURE_LIQUID, //State
+ null, //Material Colour
+ -1, //Melting Point in C
+ -1, //Boiling Point in C
+ -1, //Protons
+ -1, //Neutrons
+ false, //Uses Blast furnace?
+ StringUtils.subscript(StringUtils.superscript("7")+"LiBeF2UF4FP"), //Chemical Formula
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ELEMENT.getInstance().LITHIUM, 1),
+ new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1),
+ new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1),
+ new MaterialStack(ELEMENT.getInstance().PROTACTINIUM, 1)
+ });
+
+ public static final Material BurntLftrFuel_MK2 = new Material(
+ "Burnt Reactor Fuel II", //Material Name
+ MaterialState.PURE_LIQUID, //State
+ null, //Material Colour
+ -1, //Melting Point in C
+ -1, //Boiling Point in C
+ -1, //Protons
+ -1, //Neutrons
+ false, //Uses Blast furnace?
+ StringUtils.subscript(StringUtils.superscript("7")+"LiBeF2UF4FP"), //Chemical Formula
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ELEMENT.getInstance().LITHIUM, 1),
+ new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1),
+ new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1),
+ new MaterialStack(ELEMENT.getInstance().PROTACTINIUM, 1)
+ });
+
+
// LFTR Core Fluids
public static final Material LiBeF2UF4FP = new Material(
@@ -81,6 +137,7 @@ public final class NUCLIDE {
-1, //Protons
-1, //Neutrons
false, //Uses Blast furnace?
+ StringUtils.subscript(StringUtils.superscript("7")+"LiBeF2UF4FP"), //Chemical Formula
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
new MaterialStack(ELEMENT.getInstance().LITHIUM, 1),
@@ -98,6 +155,7 @@ public final class NUCLIDE {
-1, //Protons
-1, //Neutrons
false, //Uses Blast furnace?
+ StringUtils.subscript("UF6F2FP"), //Chemical Formula
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
new MaterialStack(FLUORIDES.URANIUM_HEXAFLUORIDE, 1),
@@ -114,6 +172,7 @@ public final class NUCLIDE {
-1, //Protons
-1, //Neutrons
false, //Uses Blast furnace?
+ StringUtils.subscript(StringUtils.superscript("7")+"LiFBeF2"), //Chemical Formula
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1),
@@ -129,6 +188,7 @@ public final class NUCLIDE {
-1, //Protons
-1, //Neutrons
false, //Uses Blast furnace?
+ StringUtils.subscript(StringUtils.superscript("7")+"LiFBeF2UF4"), //Chemical Formula
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
new MaterialStack(LiFBeF2, 1),
@@ -142,6 +202,7 @@ public final class NUCLIDE {
// LFTR Blanket Fluids
+ // Tier 1 Fuel blanket output
public static final Material LiFThF4 = new Material(
"LiFThF4", //Material Name
MaterialState.PURE_LIQUID, //State
@@ -151,12 +212,14 @@ public final class NUCLIDE {
-1, //Protons
-1, //Neutrons
false, //Uses Blast furnace?
+ StringUtils.subscript(StringUtils.superscript("7")+"LiFThF4"), //Chemical Formula
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1),
new MaterialStack(FLUORIDES.THORIUM_TETRAFLUORIDE, 1)
});
+ // Tier 2 Fuel blanket output
public static final Material LiFBeF2ThF4 = new Material(
"LiFBeF2ThF4", //Material Name
MaterialState.PURE_LIQUID, //State
@@ -166,6 +229,7 @@ public final class NUCLIDE {
-1, //Protons
-1, //Neutrons
false, //Uses Blast furnace?
+ StringUtils.subscript(StringUtils.superscript("7")+"LiFBeF2ThF4"), //Chemical Formula
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1),
@@ -182,6 +246,7 @@ public final class NUCLIDE {
-1, //Protons
-1, //Neutrons
false, //Uses Blast furnace?
+ StringUtils.subscript("UF6F2"), //Chemical Formula
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
new MaterialStack(FLUORIDES.URANIUM_HEXAFLUORIDE, 1),