aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2021-12-07 16:46:26 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2021-12-07 16:46:26 +0000
commitfa37b0aa6eea11f788fe35a8e4b1d12a7d5b0118 (patch)
treef2dcbec84756cc8ae7b285ebd2f5285383cae823 /src/Java/gtPlusPlus/core
parent43e67b5f97543c2a1ea51b89ed745d0773f94751 (diff)
downloadGT5-Unofficial-fa37b0aa6eea11f788fe35a8e4b1d12a7d5b0118.tar.gz
GT5-Unofficial-fa37b0aa6eea11f788fe35a8e4b1d12a7d5b0118.tar.bz2
GT5-Unofficial-fa37b0aa6eea11f788fe35a8e4b1d12a7d5b0118.zip
Stopped fluids from having their generation queued.
Possibly improved GT++ Fluid generation where GT counterparts exist. Adding remapping event for when existing items are removed with a suitable replacement added. Did some locale work.
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/common/CommonProxy.java17
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java2
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java103
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java5
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java10
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java7
6 files changed, 102 insertions, 42 deletions
diff --git a/src/Java/gtPlusPlus/core/common/CommonProxy.java b/src/Java/gtPlusPlus/core/common/CommonProxy.java
index 9565d242c4..f77938f713 100644
--- a/src/Java/gtPlusPlus/core/common/CommonProxy.java
+++ b/src/Java/gtPlusPlus/core/common/CommonProxy.java
@@ -3,7 +3,6 @@ package gtPlusPlus.core.common;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import cpw.mods.fml.common.registry.GameRegistry;
-import gregtech.api.enums.ItemList;
import gregtech.api.enums.OrePrefixes;
import gtPlusPlus.GTplusplus;
import gtPlusPlus.api.objects.Logger;
@@ -51,8 +50,6 @@ import net.minecraftforge.client.IItemRenderer;
public class CommonProxy {
- private boolean mFluidsGenerated = false;
-
public CommonProxy() {
// Should Register Gregtech Materials I've Made
Utils.registerEvent(this);
@@ -99,11 +96,6 @@ public class CommonProxy {
Logger.INFO("[Proxy] Calling Render registrator.");
registerRenderThings();
- if (!mFluidsGenerated && ItemList.Cell_Empty.hasBeenSet()) {
- Material.generateQueuedFluids();
- mFluidsGenerated = true;
- }
-
}
public void init(final FMLInitializationEvent e) {
@@ -114,15 +106,6 @@ public class CommonProxy {
registerCustomItemsForMaterials();
ModBlocks.blockCustomMobSpawner = new BlockGenericSpawner();
-
- if (!mFluidsGenerated && ItemList.Cell_Empty.hasBeenSet()) {
- Material.generateQueuedFluids();
- mFluidsGenerated = true;
- } else {
- Logger.INFO("[ERROR] Did not generate fluids at all.");
- Logger.WARNING("[ERROR] Did not generate fluids at all.");
- Logger.ERROR("[ERROR] Did not generate fluids at all.");
- }
CI.init();
FluidFactory.init();
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java
index 0ad231aac8..54af01ef6e 100644
--- a/src/Java/gtPlusPlus/core/material/ELEMENT.java
+++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java
@@ -143,7 +143,7 @@ public final class ELEMENT {
public final Material LITHIUM7 = new Material("Lithium 7", MaterialState.SOLID, TextureSet.SET_SHINY, Materials.Lithium.mRGBa, Materials.Lithium.mMeltingPoint, Materials.Lithium.mBlastFurnaceTemp, Materials.Lithium.getProtons(), Materials.Lithium.getNeutrons(), Materials.Lithium.mBlastFurnaceRequired, StringUtils.superscript("7Li"), 0, false);//Not a GT Inherited Material
public final Material URANIUM232 = new Material("Uranium 232", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{88, 220, 103, 0}, 1132, 4131, 92, 140, false, StringUtils.superscript("232U"), 4);//Not a GT Inherited Material
public final Material URANIUM233 = new Material("Uranium 233", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{73, 220, 83, 0}, 1132, 4131, 92, 141, false, StringUtils.superscript("233U"), 2);//Not a GT Inherited Material
- public final Material THORIUM232 = new Material("Thorium 232", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{15, 60, 15, 0}, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, StringUtils.superscript("232Th"), 1, false);//Not a GT Inherited Material
+ public final Material THORIUM232 = new Material("Thorium 232", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{15, 60, 15, 0}, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, StringUtils.superscript("232Th"), 1, true);//Not a GT Inherited Material
public final Material PLUTONIUM239 = new Material("Plutonium-239", MaterialState.SOLID, TextureSets.NUCLEAR.get(), Materials.Plutonium.mDurability, Materials.Plutonium.mRGBa, Materials.Plutonium.mMeltingPoint, Materials.Plutonium.mBlastFurnaceTemp, 94, 145, false, StringUtils.superscript("239Pu"), 4, true);//Not a GT Inherited Material
//RTG Fuels
public final Material PLUTONIUM238 = new Material("Plutonium-238", MaterialState.SOLID, TextureSets.NUCLEAR.get(), Materials.Plutonium241.mDurability, Materials.Plutonium241.mRGBa, Materials.Plutonium241.mMeltingPoint, Materials.Plutonium241.mBlastFurnaceTemp, 94, 144, false, StringUtils.superscript("238Pu"), 2, false);//Not a GT Inherited Material
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index cc7e21656b..0e9eb9b376 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -475,24 +475,23 @@ public class Material {
}
if (generateFluid){
- final Materials isValid = Materials.get(this.getLocalizedName());
+ final Materials aGregtechMaterial = tryFindGregtechMaterialEquivalent();
FluidStack aTest = FluidUtils.getWildcardFluidStack(localizedName, 1);
if (aTest != null){
this.mFluid = aTest.getFluid();
+ checkForCellAndGenerate(this);
}
else {
- if (isValid == null || isValid == Materials._NULL){
- queueFluidGeneration();
+ if (aGregtechMaterial != null && !MaterialUtils.isNullGregtechMaterial(aGregtechMaterial)){
+ aTest = FluidUtils.getWildcardFluidStack(aGregtechMaterial, 1);
}
- else {
- FluidStack aTest2 = FluidUtils.getWildcardFluidStack(localizedName, 1);
- if (aTest2 != null){
- this.mFluid = aTest2.getFluid();
- }
- else {
- queueFluidGeneration();
- }
+ if (aTest != null){
+ this.mFluid = aTest.getFluid();
+ checkForCellAndGenerate(this);
}
+ else {
+ mFluid = generateFluid();
+ }
}
this.vPlasma = this.generatePlasma();
}
@@ -535,6 +534,36 @@ public class Material {
}
}
+ private static void checkForCellAndGenerate(Material material) {
+ if (!material.vGenerateCells) {
+ return;
+ }
+ String aName = Utils.sanitizeString(material.unlocalizedName);
+ String aName2 = Utils.sanitizeString(material.unlocalizedName.toLowerCase());
+ String aName3 = (material.localizedName == null) ? aName : material.localizedName;
+ ItemStack aTestCell1 = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aName, 1);
+ ItemStack aTestCell2 = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aName2, 1);
+ ItemStack aTestCell3 = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aName3, 1);
+ if (aTestCell1 == null && aTestCell2 == null && aTestCell3 == null) {
+ Logger.INFO("Generating cell for "+ material.localizedName);
+ new BaseItemCell(material);
+ }
+ else {
+ if (aTestCell1 != null) {
+ Logger.INFO("Registering existing cell for "+ material.localizedName+", "+aName);
+ material.registerComponentForMaterial(OrePrefixes.cell, aTestCell1);
+ }
+ else if (aTestCell2 != null) {
+ Logger.INFO("Registering existing cell for "+ material.localizedName+", "+aName2);
+ material.registerComponentForMaterial(OrePrefixes.cell, aTestCell2);
+ }
+ else if (aTestCell3 != null) {
+ Logger.INFO("Registering existing cell for "+ material.localizedName+", "+aName3);
+ material.registerComponentForMaterial(OrePrefixes.cell, aTestCell3);
+ }
+ }
+ }
+
public final TextureSet getTextureSet() {
synchronized(this) {
return textureSet;
@@ -745,7 +774,7 @@ public class Material {
else {
// Try get a GT Material
Materials Erf = MaterialUtils.getMaterial(this.unlocalizedName);
- if (Erf != null && Erf != Materials._NULL) {
+ if (Erf != null && !MaterialUtils.isNullGregtechMaterial(Erf)) {
ItemStack Erg = ItemUtils.getOrePrefixStack(aPrefix, Erf, stacksize);
if (Erg != null && ItemUtils.checkForInvalidItems(Erg)) {
Logger.MATERIALS("Found \"" + aKey + this.unlocalizedName + "\" using backup GT Materials option.");
@@ -1104,7 +1133,6 @@ public class Material {
public final static void generateQueuedFluids() {
for (Material m : mMaterialMap) {
if (m.isFluidQueued) {
- m.mFluid = m.generateFluid();
}
}
}
@@ -1229,21 +1257,22 @@ public class Material {
if (this.materialState == MaterialState.ORE){
return null;
}
- final Materials isValid = Materials.get(this.getLocalizedName());
+ final Materials isValid = tryFindGregtechMaterialEquivalent();
if (!this.vGenerateCells){
return null;
}
- for (Materials m : invalidMaterials.values()){
- if (isValid == m){
- return (m.mPlasma != null ? m.mPlasma : null);
+ if (isValid != null) {
+ for (Materials m : invalidMaterials.values()){
+ if (isValid == m){
+ return null;
+ }
+ }
+ if (isValid.mPlasma != null){
+ Logger.MATERIALS("Using a pre-defined Plasma from GT.");
+ return isValid.mPlasma;
}
}
- if (isValid.mPlasma != null){
- Logger.MATERIALS("Using a pre-defined Plasma from GT.");
- return isValid.mPlasma;
- }
-
Logger.MATERIALS("Generating our own Plasma.");
return FluidUtils.addGTPlasma(this);
}
@@ -1398,5 +1427,35 @@ public class Material {
return false;
}
}
+
+ public Materials tryFindGregtechMaterialEquivalent() {
+ return tryFindGregtechMaterialEquivalent(this);
+ }
+
+
+ public static Materials tryFindGregtechMaterialEquivalent(Material aMaterial) {
+ String aMaterialName = aMaterial.getLocalizedName();
+ Materials aGregtechMaterial = Materials.get(aMaterialName);
+ if (aGregtechMaterial == null || MaterialUtils.isNullGregtechMaterial(aGregtechMaterial)) {
+ aMaterialName = aMaterialName.replace(" ", "_");
+ aGregtechMaterial = Materials.get(aMaterialName);
+ if (aGregtechMaterial == null || MaterialUtils.isNullGregtechMaterial(aGregtechMaterial)) {
+ aMaterialName = aMaterialName.replace(" ", "");
+ aGregtechMaterial = Materials.get(aMaterialName);
+ if (aGregtechMaterial == null || MaterialUtils.isNullGregtechMaterial(aGregtechMaterial)) {
+ return null;
+ }
+ else {
+ return aGregtechMaterial;
+ }
+ }
+ else {
+ return aGregtechMaterial;
+ }
+ }
+ else {
+ return aGregtechMaterial;
+ }
+ }
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
index 4a3af94f6d..d3d901ed6e 100644
--- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
+++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
@@ -275,7 +275,7 @@ public class MaterialGenerator {
if (generateDehydratorRecipe && matInfo.getFluid() != null && matInfo.getDust(0) != null) {
CORE.RA.addDehydratorRecipe(
new ItemStack[] {
-
+ CI.getNumberedAdvancedCircuit(20)
},
matInfo.getFluidStack(144),
null,
@@ -286,6 +286,9 @@ public class MaterialGenerator {
10*(matInfo.vVoltageMultiplier/5), // Time in ticks
matInfo.vVoltageMultiplier); // EU
}
+ else {
+ Logger.INFO("Nuclear Dehydrator: Did not generate recipe for "+matInfo.getLocalizedName()+" | Null Fluid? "+(matInfo.getFluid() == null)+" | Null Dust? "+(matInfo.getDust(0) == null));
+ }
}
public static void generateNuclearMaterial(final Material matInfo, final boolean generatePlates){
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
index 6b07667b28..3988cdb0c4 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
@@ -287,6 +287,7 @@ public class FluidUtils {
}
+ String aNameNonMolten = aLocalName.contains("Molten") ? aLocalName.replace("Molten", "") : aLocalName;
if (aFullContainer == null) {
ItemStack oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aLocalName, 1);
@@ -294,7 +295,14 @@ public class FluidUtils {
if (aFullContainer == null) {
oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aNameOriginal, 1);
aFullContainer = oreStack;
- if (aFullContainer != null) {
+ if (aFullContainer == null) {
+ oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aNameNonMolten, 1);
+ aFullContainer = oreStack;
+ if (aFullContainer != null) {
+ Logger.INFO("Found cell for "+aNameNonMolten);
+ }
+ }
+ else {
Logger.INFO("Found cell for "+aNameOriginal);
}
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
index 7e9e34ae47..0323bf0161 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
@@ -512,5 +512,12 @@ public class MaterialUtils {
return false;
}
+ public static boolean isNullGregtechMaterial(Materials aGregtechMaterial) {
+ if (aGregtechMaterial == Materials._NULL || aGregtechMaterial.equals(Materials._NULL) || aGregtechMaterial.name().equals(Materials._NULL.name())) {
+ return true;
+ }
+ return false;
+ }
+
} \ No newline at end of file