diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-05-14 15:58:32 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-05-14 15:58:32 +1000 |
commit | 6200f857ad6477eca6456d74a6d7044208bfb1e1 (patch) | |
tree | 7a7d49afbb6f5015f896f73a732f7b59838e7a4b /src/Java/gtPlusPlus/core/util | |
parent | 7cf3349898a30dd7809c7d8051b1d9c318e27bf1 (diff) | |
download | GT5-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.java | 23 |
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; } |