diff options
author | Alkalus <draknyte1@hotmail.com> | 2017-08-06 17:07:32 +1000 |
---|---|---|
committer | Alkalus <draknyte1@hotmail.com> | 2017-08-06 17:07:32 +1000 |
commit | 3e342a56584b3ea5775cfc2de276ecdde1996848 (patch) | |
tree | 96e6173b9be9f6241b20a8abc9d1a9db8cb56dce /src/Java/gtPlusPlus/core/util | |
parent | 86dc642d75b0f2fb5397c162bbe8df56d13c01ea (diff) | |
download | GT5-Unofficial-3e342a56584b3ea5775cfc2de276ecdde1996848.tar.gz GT5-Unofficial-3e342a56584b3ea5775cfc2de276ecdde1996848.tar.bz2 GT5-Unofficial-3e342a56584b3ea5775cfc2de276ecdde1996848.zip |
$ Made the RTG buffer it's last recipe to NBT.
% More RTG Texture tweaking.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r-- | src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java | 103 |
1 files changed, 64 insertions, 39 deletions
diff --git a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java index bb1b7fb7ee..fb8c37db4d 100644 --- a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java +++ b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java @@ -97,51 +97,76 @@ public class ReflectionUtils { //System. out.println(ste[ste.length-depth].getClassName()+"#"+ste[ste.length-depth].getMethodName()); return ste[depth].getMethodName(); } - - - /** - * Allows to change the state of an immutable instance. Huh?!? - */ + + + /** + * Allows to change the state of an immutable instance. Huh?!? + */ public static void setFieldValue(Class clazz, String fieldName, Object newValue) throws Exception { - Field nameField = getField(clazz, fieldName); - setValue(clazz, nameField, newValue); - } - - /** - * Allows to change the state of final statics. Huh?!? - */ - public static void setDefault(Class clazz, String fieldName, Object newValue) throws Exception { - Field staticField = clazz.getDeclaredField(fieldName); - setValue(null, staticField, newValue); - } - - /** - * - * Set the value of a field reflectively. - */ - protected static void setValue(Object owner, Field field, Object value) throws Exception { - makeModifiable(field); - field.set(owner, value); - } - + Field nameField = getField(clazz, fieldName); + setValue(clazz, nameField, newValue); + } + + /** + * Allows to change the state of final statics. Huh?!? + */ + public static void setDefault(Class clazz, String fieldName, Object newValue) throws Exception { + Field staticField = clazz.getDeclaredField(fieldName); + setValue(null, staticField, newValue); + } + + /** + * + * Set the value of a field reflectively. + */ + protected static void setValue(Object owner, Field field, Object value) throws Exception { + makeModifiable(field); + field.set(owner, value); + } + /** * Force the field to be modifiable and accessible. */ protected static void makeModifiable(Field nameField) throws Exception { - nameField.setAccessible(true); - int modifiers = nameField.getModifiers(); - Field modifierField = nameField.getClass().getDeclaredField("modifiers"); - modifiers = modifiers & ~Modifier.FINAL; - modifierField.setAccessible(true); - modifierField.setInt(nameField, modifiers); + nameField.setAccessible(true); + int modifiers = nameField.getModifiers(); + Field modifierField = nameField.getClass().getDeclaredField("modifiers"); + modifiers = modifiers & ~Modifier.FINAL; + modifierField.setAccessible(true); + modifierField.setInt(nameField, modifiers); } public static void setFinalStatic(Field field, Object newValue) throws Exception { - field.setAccessible(true); - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); - field.set(null, newValue); - } - + field.setAccessible(true); + Field modifiersField = Field.class.getDeclaredField("modifiers"); + modifiersField.setAccessible(true); + modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); + field.set(null, newValue); + } + + + + + + /** + * Allows to change the state of an immutable instance. Huh?!? + */ + public static void setByte(Class clazz, String fieldName, Byte newValue) throws Exception { + /*Field nameField = getField(clazz, fieldName); + nameField.setAccessible(true); + int modifiers = nameField.getModifiers(); + Field modifierField = nameField.getClass().getDeclaredField("modifiers"); + modifiers = modifiers & ~Modifier.FINAL; + modifierField.setAccessible(true); + modifierField.set(nameField, modifiers); + nameField.set(clazz, newValue);*/ + + final Field fieldA = clazz.getDeclaredField(fieldName); + fieldA.setAccessible( true ); + fieldA.setInt(clazz, newValue ); + + } + + + } |