aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-07-17 18:09:25 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-07-17 18:09:25 +1000
commit91485c3ddbf57b9698d339576a410c51e58d7e16 (patch)
tree91ca0b5cc0cff2973c7ef2041653ef429d8152e3 /src/Java/gtPlusPlus/core/util
parent8a6ecc74bcdf930d22ca51af745c31183d982c7f (diff)
downloadGT5-Unofficial-91485c3ddbf57b9698d339576a410c51e58d7e16.tar.gz
GT5-Unofficial-91485c3ddbf57b9698d339576a410c51e58d7e16.tar.bz2
GT5-Unofficial-91485c3ddbf57b9698d339576a410c51e58d7e16.zip
+ Added a fix for beds when sleeping above Y >= 127.
% More functionality to Forge Srg handling.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r--src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
index fc8923b21a..039cddb6d6 100644
--- a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
+++ b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
@@ -275,6 +275,7 @@ public class ReflectionUtils {
}
@SuppressWarnings("rawtypes")
+ @Deprecated
public static Method getMethodViaReflection(final Class<?> lookupClass, final String methodName,
final boolean invoke) throws Exception {
final Class<? extends Class> lookup = lookupClass.getClass();
@@ -286,6 +287,31 @@ public class ReflectionUtils {
return m;
}
+ /**
+ * Removes final modifier & returns a {@link Method} object.
+ * @param aClass - Class containing the Method.
+ * @param aMethodName - Method's name in {@link String} form.
+ * @param aTypes - Varags Class Types for {@link Method}'s constructor.
+ * @return - Valid, non-final, {@link Method} object.
+ */
+ public static Method getMethod(Class aClass, String aMethodName, Class... aTypes) {
+ Method m = null;
+ try {
+ m = aClass.getDeclaredMethod(aMethodName, aTypes);
+ if (m != null) {
+ m.setAccessible(true);
+ int modifiers = m.getModifiers();
+ Field modifierField = m.getClass().getDeclaredField("modifiers");
+ modifiers = modifiers & ~Modifier.FINAL;
+ modifierField.setAccessible(true);
+ modifierField.setInt(m, modifiers);
+ }
+ }
+ catch (Throwable t) {
+ }
+ return m;
+ }
+
public static Class<?> getNonPublicClass(final String className) {
Class<?> c = null;
try {