aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/common
diff options
context:
space:
mode:
authorAlkalus <Draknyte1@hotmail.com>2020-05-27 13:45:04 +0100
committerAlkalus <Draknyte1@hotmail.com>2020-05-27 13:45:04 +0100
commitc66ed4cb8ba64a2fc6132cd7c039738922d0bb23 (patch)
treed3b23671e5d8409b196e3d1d14b40210c2b8fc49 /src/Java/gtPlusPlus/xmod/gregtech/common
parent527f3c0e675ed99b82f36108b29884711b3e1a55 (diff)
downloadGT5-Unofficial-c66ed4cb8ba64a2fc6132cd7c039738922d0bb23.tar.gz
GT5-Unofficial-c66ed4cb8ba64a2fc6132cd7c039738922d0bb23.tar.bz2
GT5-Unofficial-c66ed4cb8ba64a2fc6132cd7c039738922d0bb23.zip
$ Fixed TC dependency within the Fake Player checker.
+ Added basic TC transformer to try debug the StackOverflowError caused by TC/ExU/GT.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java48
1 files changed, 29 insertions, 19 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java
index e85a78b8aa..84bb52d064 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java
@@ -3,6 +3,8 @@ package gtPlusPlus.xmod.gregtech.common.helpers;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
@@ -21,7 +23,15 @@ public class VolumetricFlaskHelper {
static {
if (Meta_GT_Proxy.sDoesVolumetricFlaskExist) {
sClassVolumetricFlask = ReflectionUtils.getClass("gregtech.common.items.GT_VolumetricFlask");
- sMethodGetFlaskMaxCapacity = ReflectionUtils.getMethod(sClassVolumetricFlask, "getMaxCapacity", new Class[] {});
+ Method aMaxCapacity = null;
+ try {
+ aMaxCapacity = sClassVolumetricFlask.getDeclaredMethod("getMaxCapacity", new Class[] {});
+ }
+ catch (NoSuchMethodException e) {
+ e.printStackTrace();
+ CORE.crash("Secondary Error Obtaining instance of 'getMaxCapacity' from 'GT_VolumetricFlask'. Crashing.");
+ }
+ sMethodGetFlaskMaxCapacity = aMaxCapacity;
}
else {
sClassVolumetricFlask = null;
@@ -101,24 +111,24 @@ public class VolumetricFlaskHelper {
}
return null;
}
-
- public static void setFluid(ItemStack stack, FluidStack fluidStack) {
- boolean removeFluid = (fluidStack == null) || (fluidStack.amount <= 0);
- NBTTagCompound nbt = stack.getTagCompound();
- if (nbt == null) {
- if (removeFluid)
- return;
- stack.setTagCompound(nbt = new NBTTagCompound());
- }
- if (removeFluid) {
- nbt.removeTag("Fluid");
- if (nbt.hasNoTags()) {
- stack.setTagCompound(null);
- }
- } else {
- nbt.setTag("Fluid", fluidStack.writeToNBT(new NBTTagCompound()));
- }
- }
+
+ public static void setFluid(ItemStack stack, FluidStack fluidStack) {
+ boolean removeFluid = (fluidStack == null) || (fluidStack.amount <= 0);
+ NBTTagCompound nbt = stack.getTagCompound();
+ if (nbt == null) {
+ if (removeFluid)
+ return;
+ stack.setTagCompound(nbt = new NBTTagCompound());
+ }
+ if (removeFluid) {
+ nbt.removeTag("Fluid");
+ if (nbt.hasNoTags()) {
+ stack.setTagCompound(null);
+ }
+ } else {
+ nbt.setTag("Fluid", fluidStack.writeToNBT(new NBTTagCompound()));
+ }
+ }
public static int getFlaskCapacity(ItemStack aStack) {
int capacity = 1000;