mirror of
https://github.com/GTNewHorizons/MouseTweaks.git
synced 2026-11-14 01:14:27 +00:00
update buildscript, remove all non-forge stuff
This commit is contained in:
1 parent
2c8bce171e
commit
47d0806688
36 files changed
+2718
-1959
No files matched your search
@@ -5,97 +5,95 @@ import java.lang.reflect.Method;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class ReflectionCache {
|
||||
public boolean available = false;
|
||||
public boolean compatible = false;
|
||||
public HashMap<String, Class<?>> classes = new HashMap<>();
|
||||
public HashMap<String, Method> methods = new HashMap<>();
|
||||
public HashMap<String, Field> fields = new HashMap<>();
|
||||
public boolean available = false;
|
||||
public boolean compatible = false;
|
||||
public HashMap<String, Class<?>> classes = new HashMap<>();
|
||||
public HashMap<String, Method> methods = new HashMap<>();
|
||||
public HashMap<String, Field> fields = new HashMap<>();
|
||||
|
||||
public ReflectionCache() {
|
||||
}
|
||||
public ReflectionCache() {}
|
||||
|
||||
public Object getFieldValue(String name, Object obj) {
|
||||
try {
|
||||
if (fields.containsKey(name)) {
|
||||
Field field = fields.get(name);
|
||||
return field.get(obj);
|
||||
}
|
||||
public Object getFieldValue(String name, Object obj) {
|
||||
try {
|
||||
if (fields.containsKey(name)) {
|
||||
Field field = fields.get(name);
|
||||
return field.get(obj);
|
||||
}
|
||||
|
||||
Constants.LOGGER.error("No such field: " + name);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Constants.LOGGER.error("Failed to get a value of field: " + name);
|
||||
}
|
||||
Constants.LOGGER.error("No such field: " + name);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Constants.LOGGER.error("Failed to get a value of field: " + name);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean setFieldValue(Object obj, String name, Object value) {
|
||||
try {
|
||||
if (fields.containsKey(name)) {
|
||||
Field field = fields.get(name);
|
||||
field.set(obj, value);
|
||||
public boolean setFieldValue(Object obj, String name, Object value) {
|
||||
try {
|
||||
if (fields.containsKey(name)) {
|
||||
Field field = fields.get(name);
|
||||
field.set(obj, value);
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Constants.LOGGER.error("No such field: " + name);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Constants.LOGGER.error("Failed to set a value of field: " + name);
|
||||
}
|
||||
Constants.LOGGER.error("No such field: " + name);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Constants.LOGGER.error("Failed to set a value of field: " + name);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public Object invokeMethod(Object obj, String name, Object... args) {
|
||||
try {
|
||||
if (methods.containsKey(name)) {
|
||||
Method method = methods.get(name);
|
||||
public Object invokeMethod(Object obj, String name, Object... args) {
|
||||
try {
|
||||
if (methods.containsKey(name)) {
|
||||
Method method = methods.get(name);
|
||||
|
||||
if (args != null)
|
||||
return method.invoke(obj, args);
|
||||
if (args != null) return method.invoke(obj, args);
|
||||
|
||||
return method.invoke(obj, new Object[0]);
|
||||
}
|
||||
return method.invoke(obj, new Object[0]);
|
||||
}
|
||||
|
||||
Constants.LOGGER.error("No such method: " + name);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Constants.LOGGER.error("Failed to invoke method: " + name);
|
||||
}
|
||||
Constants.LOGGER.error("No such method: " + name);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Constants.LOGGER.error("Failed to invoke method: " + name);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Object invokeStaticMethod(String className, String name, Object... args) {
|
||||
if (classes.containsKey(className)) {
|
||||
Class<?> clazz = classes.get(className);
|
||||
public Object invokeStaticMethod(String className, String name, Object... args) {
|
||||
if (classes.containsKey(className)) {
|
||||
Class<?> clazz = classes.get(className);
|
||||
|
||||
return invokeMethod(clazz, name, args);
|
||||
}
|
||||
return invokeMethod(clazz, name, args);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isInstance(String className, Object obj) {
|
||||
if (classes.containsKey(className)) {
|
||||
Class<?> clazz = classes.get(className);
|
||||
return clazz.isInstance(obj);
|
||||
}
|
||||
public boolean isInstance(String className, Object obj) {
|
||||
if (classes.containsKey(className)) {
|
||||
Class<?> clazz = classes.get(className);
|
||||
return clazz.isInstance(obj);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void storeClass(String name, Class<?> clazz) {
|
||||
classes.put(name, clazz);
|
||||
}
|
||||
public void storeClass(String name, Class<?> clazz) {
|
||||
classes.put(name, clazz);
|
||||
}
|
||||
|
||||
public void storeMethod(String name, Method method) {
|
||||
methods.put(name, method);
|
||||
}
|
||||
public void storeMethod(String name, Method method) {
|
||||
methods.put(name, method);
|
||||
}
|
||||
|
||||
public void storeField(String name, Field field) {
|
||||
fields.put(name, field);
|
||||
}
|
||||
public void storeField(String name, Field field) {
|
||||
fields.put(name, field);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user