154 lines
4.6 KiB
Java
154 lines
4.6 KiB
Java
package dev.zprestige.prestige.data;
|
|
|
|
import java.awt.Color;
|
|
import java.lang.reflect.Field;
|
|
import java.lang.reflect.Method;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import org.lwjgl.opengl.GL20;
|
|
|
|
public record IntData(int bz) {
|
|
private static final Map a = new HashMap();
|
|
|
|
public static IntData a(int var0) {
|
|
return new IntData(var0);
|
|
}
|
|
|
|
private int a(String var1) {
|
|
return (Integer)((Map)a.computeIfAbsent(this.bz, lpL401_0 -> new HashMap<>())).computeIfAbsent(var1, lpL400_0 -> GL20.glGetUniformLocation(this.bz, ((java.lang.String)lpL400_0)));
|
|
}
|
|
|
|
public IntData a(String var1, int var2) {
|
|
GL20.glUniform1i(this.a(var1), var2);
|
|
return this;
|
|
}
|
|
|
|
public IntData a(String var1, int var2, int var3) {
|
|
GL20.glUniform2i(this.a(var1), var2, var3);
|
|
return this;
|
|
}
|
|
|
|
public IntData a(String var1, int var2, int var3, int var4) {
|
|
GL20.glUniform3i(this.a(var1), var2, var3, var4);
|
|
return this;
|
|
}
|
|
|
|
public IntData a(String var1, int var2, int var3, int var4, int var5) {
|
|
GL20.glUniform4i(this.a(var1), var2, var3, var4, var5);
|
|
return this;
|
|
}
|
|
|
|
public IntData a(String var1, float var2) {
|
|
GL20.glUniform1f(this.a(var1), var2);
|
|
return this;
|
|
}
|
|
|
|
public IntData a(String var1, float var2, float var3) {
|
|
GL20.glUniform2f(this.a(var1), var2, var3);
|
|
return this;
|
|
}
|
|
|
|
public IntData a(String var1, float var2, float var3, float var4) {
|
|
GL20.glUniform3f(this.a(var1), var2, var3, var4);
|
|
return this;
|
|
}
|
|
|
|
public IntData a(String var1, float var2, float var3, float var4, float var5) {
|
|
GL20.glUniform4f(this.a(var1), var2, var3, var4, var5);
|
|
return this;
|
|
}
|
|
|
|
public IntData a(String var1, boolean var2, float[] var3) {
|
|
GL20.glUniformMatrix4fv(this.a(var1), var2, var3);
|
|
return this;
|
|
}
|
|
|
|
public IntData b(String var1, boolean var2, float[] var3) {
|
|
GL20.glUniformMatrix3fv(this.a(var1), var2, var3);
|
|
return this;
|
|
}
|
|
|
|
public IntData c(String var1, boolean var2, float[] var3) {
|
|
GL20.glUniformMatrix2fv(this.a(var1), var2, var3);
|
|
return this;
|
|
}
|
|
|
|
public IntData a(String var1, Color var2) {
|
|
GL20.glUniform4f(this.a(var1), var2.getRed() / 255.0F, var2.getGreen() / 255.0F, var2.getBlue() / 255.0F, var2.getAlpha() / 255.0F);
|
|
return this;
|
|
}
|
|
|
|
public IntData b(String var1, float var2, float var3, float var4, float var5) {
|
|
GL20.glUniform4f(this.a(var1), var2, var3, var4, var5);
|
|
return this;
|
|
}
|
|
|
|
private static Field a(Class var0, String var1, Class var2) {
|
|
for (Field var6 : var0.getDeclaredFields()) {
|
|
if (var6.getName().equals(var1) && var6.getType() == var2) {
|
|
return var6;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
private static Field b(Class var0, String var1, Class var2) {
|
|
Field var3 = a(var0, var1, var2);
|
|
if (var3 != null) {
|
|
return var3;
|
|
} else {
|
|
Class[] var4 = var0.getInterfaces();
|
|
if (var4 != null) {
|
|
for (int var5 = 0; var5 < var4.length; var5++) {
|
|
var3 = b(var4[var5], var1, var2);
|
|
if (var3 != null) {
|
|
return var3;
|
|
}
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|
|
|
|
private static Method a(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
|
label33:
|
|
for (Method var8 : var0.getDeclaredMethods()) {
|
|
if (var8.getName().equals(var1) && var8.getReturnType() == var2) {
|
|
Class[] var9 = var8.getParameterTypes();
|
|
if (var9.length == var3) {
|
|
for (int var10 = 0; var10 < var3; var10++) {
|
|
if (var9[var10] != var4[var10]) {
|
|
continue label33;
|
|
}
|
|
}
|
|
|
|
return var8;
|
|
}
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
private static Method b(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
|
Method var5 = a(var0, var1, var2, var3, var4);
|
|
if (var5 != null) {
|
|
return var5;
|
|
} else {
|
|
Class[] var6 = var0.getInterfaces();
|
|
if (var6 != null) {
|
|
for (int var7 = 0; var7 < var6.length; var7++) {
|
|
var5 = b(var6[var7], var1, var2, var3, var4);
|
|
if (var5 != null) {
|
|
return var5;
|
|
}
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|
|
}
|