|
@@ -5,22 +5,45 @@
|
|
|
|
|
|
package me.shedaniel.math.compat;
|
|
|
|
|
|
-public class RenderSystem1_15 implements RenderSystem {
|
|
|
+import java.lang.reflect.Method;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+public class RenderSystemClassInvoker implements RenderSystem {
|
|
|
public Class<?> renderSystemClass;
|
|
|
|
|
|
- public RenderSystem1_15() {
|
|
|
+ private Map<String, Method> simpleMethods = new HashMap<>();
|
|
|
+
|
|
|
+ public RenderSystemClassInvoker(String className) {
|
|
|
try {
|
|
|
- this.renderSystemClass = Class.forName("com.mojang.blaze3d.systems.RenderSystem");
|
|
|
+ this.renderSystemClass = Class.forName(className);
|
|
|
} catch (ClassNotFoundException e) {
|
|
|
e.printStackTrace();
|
|
|
System.exit(0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private Method getSimpleMethod(String name, Class... classes) throws NoSuchMethodException {
|
|
|
+ if (simpleMethods.containsKey(name))
|
|
|
+ return simpleMethods.get(name);
|
|
|
+ Method method = renderSystemClass.getDeclaredMethod(name, classes);
|
|
|
+ simpleMethods.put(name, method);
|
|
|
+ return simpleMethods.get(name);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void invokeMethod(Class[] classes, Object[] objects) {
|
|
|
+ try {
|
|
|
+ getSimpleMethod("color4f", classes).invoke(null, objects);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void color4f(float float_1, float float_2, float float_3, float float_4) {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("color4f", float.class, float.class, float.class, float.class).invoke(null, float_1, float_2, float_3, float_4);
|
|
|
+ getSimpleMethod("color4f", float.class, float.class, float.class, float.class).invoke(null, float_1, float_2, float_3, float_4);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -29,7 +52,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void disableFog() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("disableFog").invoke(null);
|
|
|
+ getSimpleMethod("disableFog").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -38,7 +61,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void enableBlend() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("enableBlend").invoke(null);
|
|
|
+ getSimpleMethod("enableBlend").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -47,7 +70,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void disableTexture() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("disableTexture").invoke(null);
|
|
|
+ getSimpleMethod("disableTexture").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -56,7 +79,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void enableTexture() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("enableTexture").invoke(null);
|
|
|
+ getSimpleMethod("enableTexture").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -65,7 +88,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void enableColorLogicOp() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("enableColorLogicOp").invoke(null);
|
|
|
+ getSimpleMethod("enableColorLogicOp").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -74,7 +97,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void disableColorLogicOp() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("disableColorLogicOp").invoke(null);
|
|
|
+ getSimpleMethod("disableColorLogicOp").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -83,7 +106,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void disableRescaleNormal() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("disableRescaleNormal").invoke(null);
|
|
|
+ getSimpleMethod("disableRescaleNormal").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -92,7 +115,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void logicOp(int int_1) {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("logicOp", int.class).invoke(null, int_1);
|
|
|
+ getSimpleMethod("logicOp", int.class).invoke(null, int_1);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -101,7 +124,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void pushMatrix() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("pushMatrix").invoke(null);
|
|
|
+ getSimpleMethod("pushMatrix").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -110,7 +133,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void popMatrix() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("popMatrix").invoke(null);
|
|
|
+ getSimpleMethod("popMatrix").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -119,7 +142,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void disableLighting() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("disableLighting").invoke(null);
|
|
|
+ getSimpleMethod("disableLighting").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -128,7 +151,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void enableLighting() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("enableLighting").invoke(null);
|
|
|
+ getSimpleMethod("enableLighting").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -137,7 +160,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void enableRescaleNormal() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("enableRescaleNormal").invoke(null);
|
|
|
+ getSimpleMethod("enableRescaleNormal").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -146,7 +169,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void disableDepthTest() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("disableDepthTest").invoke(null);
|
|
|
+ getSimpleMethod("disableDepthTest").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -155,7 +178,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void enableDepthTest() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("enableDepthTest").invoke(null);
|
|
|
+ getSimpleMethod("enableDepthTest").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -164,7 +187,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void disableAlphaTest() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("disableAlphaTest").invoke(null);
|
|
|
+ getSimpleMethod("disableAlphaTest").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -173,7 +196,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void enableAlphaTest() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("enableAlphaTest").invoke(null);
|
|
|
+ getSimpleMethod("enableAlphaTest").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -182,7 +205,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void disableBlend() {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("disableBlend").invoke(null);
|
|
|
+ getSimpleMethod("disableBlend").invoke(null);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -191,7 +214,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void shadeModel(int i) {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("shadeModel", int.class).invoke(null, i);
|
|
|
+ getSimpleMethod("shadeModel", int.class).invoke(null, i);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -200,7 +223,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void colorMask(boolean boolean_1, boolean boolean_2, boolean boolean_3, boolean boolean_4) {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("colorMask", boolean.class, boolean.class, boolean.class, boolean.class).invoke(null, boolean_1, boolean_2, boolean_3, boolean_4);
|
|
|
+ getSimpleMethod("colorMask", boolean.class, boolean.class, boolean.class, boolean.class).invoke(null, boolean_1, boolean_2, boolean_3, boolean_4);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -209,7 +232,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void translatef(float float_1, float float_2, float float_3) {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("translatef", float.class, float.class, float.class).invoke(null, float_1, float_2, float_3);
|
|
|
+ getSimpleMethod("translatef", float.class, float.class, float.class).invoke(null, float_1, float_2, float_3);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -218,7 +241,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void blendFuncSeparate(int int_1, int int_2, int int_3, int int_4) {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("blendFuncSeparate", int.class, int.class, int.class, int.class).invoke(null, int_1, int_2, int_3, int_4);
|
|
|
+ getSimpleMethod("blendFuncSeparate", int.class, int.class, int.class, int.class).invoke(null, int_1, int_2, int_3, int_4);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -227,7 +250,7 @@ public class RenderSystem1_15 implements RenderSystem {
|
|
|
@Override
|
|
|
public void blendFunc(int int_1, int int_2) {
|
|
|
try {
|
|
|
- renderSystemClass.getDeclaredMethod("blendFunc", int.class, int.class).invoke(null, int_1, int_2);
|
|
|
+ getSimpleMethod("blendFunc", int.class, int.class).invoke(null, int_1, int_2);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|