aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java36
-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
-rw-r--r--src/resources/assets/miscutils/lang/en_US.lang23
8 files changed, 160 insertions, 43 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index 7432c1905d..9bb20de232 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -6,11 +6,13 @@ import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustomCapes;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Collection;
+import java.util.HashMap;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.*;
+import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -52,6 +54,7 @@ import gtPlusPlus.xmod.gregtech.loaders.GT_Material_Loader;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_BlastSmelterGT_GTNH;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_MultisUsingFluidInsteadOfCells;
import gtPlusPlus.xmod.thaumcraft.commands.CommandDumpAspects;
+import net.minecraft.item.Item;
import net.minecraft.launchwrapper.Launch;
import net.minecraft.util.IIcon;
@@ -496,5 +499,38 @@ public class GTplusplus implements ActionListener {
// Force - Alloying
mGregMatLoader.enableMaterial(Materials.Force);
}
+
+ private static final HashMap<String, Item> sMissingMappings = new HashMap<String, Item>();
+
+ private static void processMissingMappings() {
+ sMissingMappings.put("miscutils:Ammonium", GameRegistry.findItem(CORE.MODID, "itemCellAmmonium"));
+ sMissingMappings.put("miscutils:Hydroxide", GameRegistry.findItem(CORE.MODID, "itemCellHydroxide"));
+ sMissingMappings.put("miscutils:BerylliumHydroxide", GameRegistry.findItem(CORE.MODID, "itemCellmiscutils:BerylliumHydroxide"));
+ sMissingMappings.put("miscutils:Bromine", GameRegistry.findItem(CORE.MODID, "itemCellBromine"));
+ sMissingMappings.put("miscutils:Krypton", GameRegistry.findItem(CORE.MODID, "itemCellKrypton"));
+ sMissingMappings.put("miscutils:itemCellZirconiumTetrafluoride", GameRegistry.findItem(CORE.MODID, "ZirconiumTetrafluoride"));
+ sMissingMappings.put("miscutils:Li2BeF4", GameRegistry.findItem(CORE.MODID, "itemCellLithiumTetrafluoroberyllate"));
+ }
+
+ @Mod.EventHandler
+ public void missingMapping(FMLMissingMappingsEvent event) {
+ processMissingMappings();
+ for (FMLMissingMappingsEvent.MissingMapping mapping : event.get()) {
+ if (mapping.type == GameRegistry.Type.ITEM) {
+ Item aReplacement = sMissingMappings.get(mapping.name);
+ if (aReplacement != null) {
+ remap(aReplacement, mapping);
+ }
+ else {
+ //Logger.INFO("Unable to remap: "+mapping.name+", item has no replacement mapping.");
+ }
+ }
+ }
+ }
+
+ private void remap(Item item, FMLMissingMappingsEvent.MissingMapping mapping) {
+ mapping.remap(item);
+ Logger.INFO("Remapping item " + mapping.name + " to " + CORE.MODID + ":" + item.getUnlocalizedName());
+ }
}
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
diff --git a/src/resources/assets/miscutils/lang/en_US.lang b/src/resources/assets/miscutils/lang/en_US.lang
index 83134ec9cb..d255980a21 100644
--- a/src/resources/assets/miscutils/lang/en_US.lang
+++ b/src/resources/assets/miscutils/lang/en_US.lang
@@ -3268,4 +3268,25 @@ item.itemCellLiFThF4.name=LiFThF4 Cell
item.NuclearWaste.name=Nuclear Waste Cell
item.itemCellLiFBeF2UF4.name=LiFBeF2UF4 Cell
item.itemCellSodiumFluoride.name=Sodium Fluoride Cell
-item.itemCellLiFBeF2.name=LiFBeF2 Cell \ No newline at end of file
+item.itemCellLiFBeF2.name=LiFBeF2 Cell
+
+//Added 7/12/21
+item.itemCellDysprosium.name=Dysprosium Cell
+item.itemCellThorium.name=Thorium Cell
+item.itemCellTellurium.name=Tellurium Cell
+item.itemCellThorium232.name=Thorium-232 Cell
+item.itemCellLithiumTetrafluoroberyllate.name=Lithium Tetrafluoroberyllate Cell
+item.itemCellBurntReactorFuelI.name=Spent LFTR Fuel I Cell
+item.itemCellBurntReactorFuelII.name=Spent LFTR Fuel II Cell
+item.itemDustTinyIndium.name=Tiny Indium Dust
+item.itemDustSmallIndium.name=Small Indium Dust
+item.itemDustIndium.name=Indium Dust
+item.itemDustTinyBerylliumHydroxide.name=Tiny Beryllium Hydroxide Dust
+item.itemDustSmallBerylliumHydroxide.name=Small Beryllium Hydroxide Dust
+item.itemDustBerylliumHydroxide.name=Beryllium Hydroxide Dust
+item.itemDustTinyAmmoniumBifluoride.name=Tiny Ammonium Bifluoride Dust
+item.itemDustSmallAmmoniumBifluoride.name=Small Ammonium Bifluoride Dust
+item.itemDustAmmoniumBifluoride.name=Ammonium Bifluoride Dust
+item.itemDustTinyAmmoniumTetrafluoroberyllate.name=Tiny Ammonium Tetrafluoroberyllate Dust
+item.itemDustSmallAmmoniumTetrafluoroberyllate.name=Small Ammonium Tetrafluoroberyllate Dust
+item.itemDustAmmoniumTetrafluoroberyllate.name=Ammonium Tetrafluoroberyllate Dust