aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/core/util
diff options
context:
space:
mode:
authorJohann Bernhardt <johann.bernhardt@tum.de>2021-12-13 23:39:55 +0100
committerJohann Bernhardt <johann.bernhardt@tum.de>2021-12-13 23:39:55 +0100
commita2a9ad400f23726885020f1a77627f9561487948 (patch)
tree9116c76f46d49d951ac63442af335a0bd6016052 /src/main/java/gtPlusPlus/core/util
parent20b5d2932ef44e1c96104d6ec0528012f5c83d21 (diff)
parent868ddab78797403d58dbc84d357f792926e94f42 (diff)
downloadGT5-Unofficial-a2a9ad400f23726885020f1a77627f9561487948.tar.gz
GT5-Unofficial-a2a9ad400f23726885020f1a77627f9561487948.tar.bz2
GT5-Unofficial-a2a9ad400f23726885020f1a77627f9561487948.zip
Merge tag '1.7.20' into unified-build-script2
# Conflicts: # build.properties # src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java
Diffstat (limited to 'src/main/java/gtPlusPlus/core/util')
-rw-r--r--src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java77
1 files changed, 52 insertions, 25 deletions
diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java
index a6bd50ff17..73fa919731 100644
--- a/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java
+++ b/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java
@@ -1,5 +1,7 @@
package gtPlusPlus.core.util.minecraft;
+import java.util.HashMap;
+
import gregtech.api.enums.Dyes;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
@@ -24,7 +26,9 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
public class FluidUtils {
-
+
+ private static HashMap<String, Fluid> sFluidCache = new HashMap<String, Fluid>();
+
public static FluidStack getWater(final int amount){
return FluidUtils.getFluidStack("water", amount);
}
@@ -87,44 +91,67 @@ public class FluidUtils {
return FluidUtils.getFluidStack("ic2uumatter", amount);
}
- public static FluidStack getFluidStack(final String fluidName, final int amount){
- Logger.WARNING("Trying to get a fluid stack of "+fluidName);
- try {
- FluidStack x = FluidRegistry.getFluidStack(fluidName, amount);
- return x != null ? x.copy() : null;
+ public static FluidStack getHydrofluoricAcid(int amount) {
+ return FluidUtils.getFluidStack("hydrofluoricacid", amount);
+ }
+
+ public static Fluid sGregtechHydrofluoricAcid = null;
+
+ public static FluidStack getHydrofluoricAcidGT(int amount) {
+ if (sGregtechHydrofluoricAcid == null) {
+ FluidStack aGTHF = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1);
+ sGregtechHydrofluoricAcid = aGTHF != null ? aGTHF.getFluid() : getHydrofluoricAcid(1).getFluid();
}
- catch (final Throwable e){
- return null;
+ return FluidUtils.getFluidStack(sGregtechHydrofluoricAcid, amount);
+ }
+
+ public static boolean doesHydrofluoricAcidGtExist() {
+ if (sGregtechHydrofluoricAcid == null) {
+ getHydrofluoricAcidGT(1);
}
-
+ return sGregtechHydrofluoricAcid != null && sGregtechHydrofluoricAcid != getHydrofluoricAcid(1).getFluid();
}
-
- public static FluidStack getFluidStack(final FluidStack vmoltenFluid, final int fluidAmount) {
- Logger.WARNING("Trying to get a fluid stack of "+vmoltenFluid.getFluid().getName());
- try {
- FluidStack x = FluidRegistry.getFluidStack(vmoltenFluid.getFluid().getName(), fluidAmount);
- return x != null ? x.copy() : null;
+
+ private static FluidStack createFluidStack(Fluid aFluid, int aAmount) {
+ if (aFluid != null) {
+ return new FluidStack(aFluid, aAmount);
}
- catch (final Throwable e){
- return null;
+ return null;
+ }
+
+ public static FluidStack getFluidStack(final String aFluidName, final int aAmount){
+ Fluid aFluid = sFluidCache.get(aFluidName);
+ if (aFluid != null) {
+ return createFluidStack(aFluid, aAmount);
}
+ else {
+ Fluid aLookupFluid = FluidRegistry.getFluid(aFluidName);
+ if (aLookupFluid != null) {
+ sFluidCache.put(aFluidName, aLookupFluid);
+ return createFluidStack(aLookupFluid, aAmount);
+ }
+ }
+ return null;
}
- public static FluidStack getFluidStack(final Fluid vFluid, final int fluidAmount) {
- Logger.WARNING("Trying to get a fluid stack of "+vFluid.getName());
- try {
- FluidStack x = FluidRegistry.getFluidStack(vFluid.getName(), fluidAmount);
- return x != null ? x.copy() : null;
+ public static FluidStack getFluidStack(final FluidStack aFluidStack, final int aAmount) {
+ if (aFluidStack == null) {
+ return null;
}
- catch (final Throwable e){
+ return new FluidStack(aFluidStack, aAmount);
+ }
+
+ public static FluidStack getFluidStack(final Fluid aFluid, final int aAmount) {
+ if (aFluid == null) {
return null;
}
+ return new FluidStack(aFluid, aAmount);
}
public static FluidStack[] getFluidStackArray(final String fluidName, final int amount){
Logger.WARNING("Trying to get a fluid stack of "+fluidName);
try {
- final FluidStack[] singleFluid = {FluidRegistry.getFluidStack(fluidName, amount)};
+ final FluidStack[] singleFluid = {getFluidStack(fluidName, amount)};
return singleFluid;
}
catch (final Throwable e){
@@ -136,7 +163,7 @@ public class FluidUtils {
public static FluidStack[] getFluidStackArray(final FluidStack fluidName, final int amount){
Logger.WARNING("Trying to get a fluid stack of "+fluidName);
try {
- final FluidStack[] singleFluid = {FluidRegistry.getFluidStack(fluidName.getLocalizedName(), amount)};
+ final FluidStack[] singleFluid = {getFluidStack(fluidName, amount)};
return singleFluid;
}
catch (final Throwable e){