aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-05-14 15:58:32 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-05-14 15:58:32 +1000
commit6200f857ad6477eca6456d74a6d7044208bfb1e1 (patch)
tree7a7d49afbb6f5015f896f73a732f7b59838e7a4b /src/Java/gtPlusPlus/core/util
parent7cf3349898a30dd7809c7d8051b1d9c318e27bf1 (diff)
downloadGT5-Unofficial-6200f857ad6477eca6456d74a6d7044208bfb1e1.tar.gz
GT5-Unofficial-6200f857ad6477eca6456d74a6d7044208bfb1e1.tar.bz2
GT5-Unofficial-6200f857ad6477eca6456d74a6d7044208bfb1e1.zip
+ Added new Fireproof Bauble.
$ Fixed #479.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r--src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
index 224d842ba7..2371753fe6 100644
--- a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
+++ b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
@@ -293,6 +293,7 @@ public class ReflectionUtils {
return loaded > 0;
}
+
public static boolean setField(final Object object, final String fieldName, final Object fieldValue) {
Class<?> clazz = object.getClass();
@@ -312,6 +313,28 @@ public class ReflectionUtils {
}
}
return false;
+
+
+ }
+
+ public static boolean setField(final Object object, final Field field, final Object fieldValue) {
+ Class<?> clazz = object.getClass();
+ while (clazz != null) {
+ try {
+ final Field field2 = getField(clazz, field.getName());
+ if (field2 != null) {
+ setFieldValue_Internal(object, field, fieldValue);
+ return true;
+ }
+ } catch (final NoSuchFieldException e) {
+ Logger.REFLECTION("setField("+object.toString()+", "+field.getName()+") failed.");
+ clazz = clazz.getSuperclass();
+ } catch (final Exception e) {
+ Logger.REFLECTION("setField("+object.toString()+", "+field.getName()+") failed.");
+ throw new IllegalStateException(e);
+ }
+ }
+ return false;
}