aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElisis <gtandemmodding@gmail.com>2022-10-30 19:14:42 +1100
committerGitHub <noreply@github.com>2022-10-30 09:14:42 +0100
commit6525aae5ce50c974c0d49c469bd19e4b9d650dc6 (patch)
treef9c94eee70f6344de20d3fe9d0ba1fac3815f6eb
parent053c34890bb03af4475ae8a632c9d96a6e07a21f (diff)
downloadGT5-Unofficial-6525aae5ce50c974c0d49c469bd19e4b9d650dc6.tar.gz
GT5-Unofficial-6525aae5ce50c974c0d49c469bd19e4b9d650dc6.tar.bz2
GT5-Unofficial-6525aae5ce50c974c0d49c469bd19e4b9d650dc6.zip
Add method for getting a GT material from a Forge Fluid instance (#1497)
* Add Fluid material map, lookup function * spotlessApply (#1498) Co-authored-by: Elisis <gtandemmodding@gmail.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java7
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java28
2 files changed, 31 insertions, 4 deletions
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java
index 719cd18278..a205aa2be0 100644
--- a/src/main/java/gregtech/api/enums/Materials.java
+++ b/src/main/java/gregtech/api/enums/Materials.java
@@ -34,6 +34,9 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static final List<IMaterialHandler> mMaterialHandlers = new ArrayList<>();
private static final Map<String, Materials> MATERIALS_MAP = new LinkedHashMap<>();
+
+ public static final Map<Fluid, Materials> FLUID_MAP = new LinkedHashMap<>();
+
public static volatile int VERSION = 509;
/**
* This is for keeping compatibility with addons mods (Such as TinkersGregworks etc.) that looped over the old materials enum
@@ -3292,4 +3295,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public ItemStack getPlates(int amount) {
return GT_OreDictUnificator.get(OrePrefixes.plate, this, amount);
}
+
+ public static Materials getGtMaterialFromFluid(Fluid fluid) {
+ return FLUID_MAP.get(fluid);
+ }
}
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index d1648ce1d8..6cd1d96943 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -2356,7 +2356,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
// All lower case.
final String fluidTexture =
aMaterial.mIconSet.is_custom ? "fluid." + aMaterial.mName.toLowerCase() : "autogenerated";
- return GT_FluidFactory.builder(aMaterial.mName.toLowerCase(Locale.ENGLISH))
+
+ Fluid fluid = GT_FluidFactory.builder(aMaterial.mName.toLowerCase(Locale.ENGLISH))
.withLocalizedName(aMaterial.mDefaultLocalName)
.withTextureName(fluidTexture)
.withColorRGBA(aMaterial.mRGBa)
@@ -2366,6 +2367,10 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
.registerBContainers(
GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L), ItemList.Cell_Empty.get(1L))
.asFluid();
+
+ Materials.FLUID_MAP.put(fluid, aMaterial);
+
+ return fluid;
}
public Fluid addAutoGeneratedCorrespondingGas(Materials aMaterial) {
@@ -2374,7 +2379,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
// lower case.
final String fluidTexture =
aMaterial.mIconSet.is_custom ? ("gas." + aMaterial.mName.toLowerCase()) : "autogenerated";
- return GT_FluidFactory.builder(aMaterial.mName.toLowerCase(Locale.ENGLISH))
+
+ Fluid fluid = GT_FluidFactory.builder(aMaterial.mName.toLowerCase(Locale.ENGLISH))
.withLocalizedName(aMaterial.mDefaultLocalName)
.withTextureName(fluidTexture)
.withColorRGBA(aMaterial.mRGBa)
@@ -2384,6 +2390,10 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
.registerBContainers(
GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L), ItemList.Cell_Empty.get(1L))
.asFluid();
+
+ Materials.FLUID_MAP.put(fluid, aMaterial);
+
+ return fluid;
}
public Fluid addAutogeneratedPlasmaFluid(Materials aMaterial) {
@@ -2392,7 +2402,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
// All lower case.
final String fluidTexture =
aMaterial.mIconSet.is_custom ? ("plasma." + aMaterial.mName.toLowerCase()) : "plasma.autogenerated";
- return GT_FluidFactory.builder("plasma." + aMaterial.mName.toLowerCase(Locale.ENGLISH))
+
+ Fluid fluid = GT_FluidFactory.builder("plasma." + aMaterial.mName.toLowerCase(Locale.ENGLISH))
.withLocalizedName(aMaterial.mDefaultLocalName + " Plasma")
.withTextureName(fluidTexture)
.withColorRGBA(aMaterial.mMoltenRGBa)
@@ -2404,6 +2415,10 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
ItemList.Cell_Empty.get(1L),
aMaterial.getMolten(1) != null ? 144 : 1000)
.asFluid();
+
+ Materials.FLUID_MAP.put(fluid, aMaterial);
+
+ return fluid;
}
public Fluid addAutogeneratedMoltenFluid(Materials aMaterial) {
@@ -2412,7 +2427,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
// All lower case.
final String fluidTexture =
aMaterial.mIconSet.is_custom ? ("molten." + aMaterial.mName.toLowerCase()) : "molten.autogenerated";
- return GT_FluidFactory.builder("molten." + aMaterial.mName.toLowerCase(Locale.ENGLISH))
+
+ Fluid fluid = GT_FluidFactory.builder("molten." + aMaterial.mName.toLowerCase(Locale.ENGLISH))
.withLocalizedName("Molten " + aMaterial.mDefaultLocalName)
.withTextureName(fluidTexture)
.withColorRGBA(aMaterial.mMoltenRGBa)
@@ -2424,6 +2440,10 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
ItemList.Cell_Empty.get(1L),
144)
.asFluid();
+
+ Materials.FLUID_MAP.put(fluid, aMaterial);
+
+ return fluid;
}
// ------------------------------------------------------------------------------------------------------------