fixes
This commit is contained in:
1 parent
83aea53e57
commit
aa4f6b6ddc
842 files changed
+47284
-91563
No files matched your search
@@ -1,8 +1,6 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class BoolSetting extends Setting {
|
||||
@@ -12,104 +10,29 @@ public class BoolSetting extends Setting {
|
||||
return (Boolean)super.getValue();
|
||||
}
|
||||
|
||||
public BoolSetting(String var1, boolean var2) {
|
||||
super(var1, var2);
|
||||
public BoolSetting(String settingName, boolean defaultValue) {
|
||||
super(settingName, defaultValue);
|
||||
}
|
||||
|
||||
public BoolSetting setVisibility_BoolSetting(Object[] var1) {
|
||||
Predicate var4 = (Predicate)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
var2 = 93508073420995L ^ var2;
|
||||
long var5 = var2 ^ 15920284625090L;
|
||||
super.setVisibility(new Object[]{var4, var5});
|
||||
public BoolSetting visibleWhen(Predicate visibilityPredicate) {
|
||||
super.setVisibility(visibilityPredicate);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public BoolSetting setDescription_BoolSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
public BoolSetting withDescription(String newDescription) {
|
||||
super.setDescription(newDescription);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var4 = (Predicate)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
long var5 = var2 ^ 100541721415681L;
|
||||
return this.setVisibility_BoolSetting(new Object[]{var4, var5});
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
return this.visibleWhen(visibilityPredicate);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@Override
|
||||
public Setting setDescription(String var1) {
|
||||
return this.setDescription_BoolSetting(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public Setting setDescription(String newDescription) {
|
||||
return this.withDescription(newDescription);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,5 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public enum Category {
|
||||
Combat,
|
||||
Misc,
|
||||
@@ -11,76 +8,4 @@ public enum Category {
|
||||
Mace,
|
||||
Spear,
|
||||
Menu;
|
||||
|
||||
static {
|
||||
Object[] var10001 = new Object[]{0L};
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,6 @@ package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import java.awt.Color;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class ColorSetting extends Setting {
|
||||
@@ -13,104 +11,29 @@ public class ColorSetting extends Setting {
|
||||
return (java.awt.Color)super.getValue();
|
||||
}
|
||||
|
||||
public ColorSetting(String var1, Color var2) {
|
||||
super(var1, var2);
|
||||
public ColorSetting(String settingName, Color defaultColor) {
|
||||
super(settingName, defaultColor);
|
||||
}
|
||||
|
||||
public ColorSetting setVisibility_ColorSetting(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
var3 = 17254503104146L ^ var3;
|
||||
long var5 = var3 ^ 135571304499614L;
|
||||
super.setVisibility(new Object[]{var2, var5});
|
||||
public ColorSetting visibleWhen(Predicate visibilityPredicate) {
|
||||
super.setVisibility(visibilityPredicate);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public ColorSetting setDescription_ColorSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
public ColorSetting withDescription(String newDescription) {
|
||||
super.setDescription(newDescription);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
long var5 = var3 ^ 128626887849740L;
|
||||
return this.setVisibility_ColorSetting(new Object[]{var2, var5});
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
return this.visibleWhen(visibilityPredicate);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@Override
|
||||
public Setting setDescription(String var1) {
|
||||
return this.setDescription_ColorSetting(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public Setting setDescription(String newDescription) {
|
||||
return this.withDescription(newDescription);
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import java.lang.invoke.MethodHandle;
|
||||
import java.lang.invoke.MethodHandles.Lookup;
|
||||
|
||||
public final class Constants {
|
||||
private Constants() {
|
||||
}
|
||||
|
||||
public static MethodHandle a(Lookup var0, String var1, Class var2, int var3) {
|
||||
throw new IllegalStateException("prestige: native constant bridge was statically restored; this call must never happen");
|
||||
}
|
||||
|
||||
public static int b(Lookup var0, String var1, Class var2, int var3) {
|
||||
throw new IllegalStateException("prestige: native constant bridge was statically restored; this call must never happen");
|
||||
}
|
||||
|
||||
public static long c(Lookup var0, String var1, Class var2, int var3) {
|
||||
throw new IllegalStateException("prestige: native constant bridge was statically restored; this call must never happen");
|
||||
}
|
||||
|
||||
public static void d(int var0, int var1, int var2) {
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class EnumSetting extends Setting {
|
||||
@@ -14,9 +12,9 @@ public class EnumSetting extends Setting {
|
||||
|
||||
private final String[] options;
|
||||
|
||||
public EnumSetting(String var1, String var2, String[] var3) {
|
||||
super(var1, var2);
|
||||
this.options = var3;
|
||||
public EnumSetting(String settingName, String defaultOption, String[] optionValues) {
|
||||
super(settingName, defaultOption);
|
||||
this.options = optionValues;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -24,100 +22,25 @@ public class EnumSetting extends Setting {
|
||||
return this.options;
|
||||
}
|
||||
|
||||
public EnumSetting setVisibility_EnumSetting(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
var3 = 87505960059751L ^ var3;
|
||||
long var5 = var3 ^ 4743213844807L;
|
||||
super.setVisibility(new Object[]{var2, var5});
|
||||
public EnumSetting visibleWhen(Predicate visibilityPredicate) {
|
||||
super.setVisibility(visibilityPredicate);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public EnumSetting setDescription_EnumSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
public EnumSetting withDescription(String newDescription) {
|
||||
super.setDescription(newDescription);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var4 = (Predicate)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
long var5 = var2 ^ 83315054463520L;
|
||||
return this.setVisibility_EnumSetting(new Object[]{var4, var5});
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
return this.visibleWhen(visibilityPredicate);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@Override
|
||||
public Setting setDescription(String var1) {
|
||||
return this.setDescription_EnumSetting(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public Setting setDescription(String newDescription) {
|
||||
return this.withDescription(newDescription);
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,6 @@ import dev.zprestige.prestige.event.Event;
|
||||
import java.lang.invoke.MethodHandle;
|
||||
import java.lang.invoke.MethodHandles;
|
||||
import java.lang.invoke.MethodType;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -18,55 +16,51 @@ import java.util.concurrent.CopyOnWriteArrayList;
|
||||
public class EventBus {
|
||||
private volatile Map listeners = new HashMap();
|
||||
private final Object lock = new Object();
|
||||
private static final MethodType c;
|
||||
private static final Set d;
|
||||
public final CopyOnWriteArrayList e = new CopyOnWriteArrayList();
|
||||
private static final String g = "[Prestige/EventBus] listener threw (logged once per type): ";
|
||||
private static final MethodType LISTENER_TYPE;
|
||||
private static final Set LOGGED_FAILURES;
|
||||
public final CopyOnWriteArrayList registrationBlockers = new CopyOnWriteArrayList();
|
||||
private static final String LISTENER_ERROR_PREFIX = "[Prestige/EventBus] listener threw (logged once per type): ";
|
||||
|
||||
public void register(Object[] var1) {
|
||||
Object var4 = var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
var2 = 114818700636565L ^ var2;
|
||||
long var5 = var2 ^ 56241223455158L;
|
||||
if (var4 != null) {
|
||||
if (this.e.isEmpty()) {
|
||||
Class var8 = var4.getClass();
|
||||
ArrayList var9 = new ArrayList();
|
||||
public void register(Object subscriber) {
|
||||
if (subscriber != null) {
|
||||
if (this.registrationBlockers.isEmpty()) {
|
||||
Class subscriberClass = subscriber.getClass();
|
||||
ArrayList found = new ArrayList();
|
||||
|
||||
for (Method var13 : var8.getDeclaredMethods()) {
|
||||
if (var13.isAnnotationPresent(Subscribe.class)) {
|
||||
Class[] var14 = var13.getParameterTypes();
|
||||
if (var14.length == 1) {
|
||||
for (Method method : subscriberClass.getDeclaredMethods()) {
|
||||
if (method.isAnnotationPresent(Subscribe.class)) {
|
||||
Class[] paramTypes = method.getParameterTypes();
|
||||
if (paramTypes.length == 1) {
|
||||
try {
|
||||
var13.setAccessible(true);
|
||||
MethodHandle var15 = MethodHandles.lookup().unreflect(var13).bindTo(var4).asType(c);
|
||||
var9.add(new ListenerEntry(var13, var4, var14[0], var15));
|
||||
} catch (Throwable var21) {
|
||||
method.setAccessible(true);
|
||||
MethodHandle handle = MethodHandles.lookup().unreflect(method).bindTo(subscriber).asType(LISTENER_TYPE);
|
||||
found.add(new ListenerEntry(method, subscriber, paramTypes[0], handle));
|
||||
} catch (Throwable ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!var9.isEmpty()) {
|
||||
if (!found.isEmpty()) {
|
||||
synchronized (this.lock) {
|
||||
if (!d(new Object[]{this.listeners, var4, var5})) {
|
||||
HashMap var25 = new HashMap(this.listeners);
|
||||
if (!isRegistered(this.listeners, subscriber)) {
|
||||
HashMap updated = new HashMap(this.listeners);
|
||||
|
||||
for (ListenerEntry var27 : (Iterable<ListenerEntry>)(var9)) {
|
||||
ListenerEntry[] var28 = (ListenerEntry[])var25.get(var27.a_Class(new Object[0]));
|
||||
ListenerEntry[] var29;
|
||||
if (var28 == null) {
|
||||
var29 = new ListenerEntry[]{var27};
|
||||
for (ListenerEntry entry : (Iterable<ListenerEntry>)(found)) {
|
||||
ListenerEntry[] existing = (ListenerEntry[])updated.get(entry.getEventType());
|
||||
ListenerEntry[] merged;
|
||||
if (existing == null) {
|
||||
merged = new ListenerEntry[]{entry};
|
||||
} else {
|
||||
var29 = new ListenerEntry[var28.length + 1];
|
||||
System.arraycopy(var28, 0, var29, 0, var28.length);
|
||||
var29[var28.length] = var27;
|
||||
merged = new ListenerEntry[existing.length + 1];
|
||||
System.arraycopy(existing, 0, merged, 0, existing.length);
|
||||
merged[existing.length] = entry;
|
||||
}
|
||||
|
||||
var25.put(var27.a_Class(new Object[0]), var29);
|
||||
updated.put(entry.getEventType(), merged);
|
||||
}
|
||||
|
||||
this.listeners = var25;
|
||||
this.listeners = updated;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -74,88 +68,77 @@ public class EventBus {
|
||||
}
|
||||
}
|
||||
|
||||
public void unregister(Object[] var1) {
|
||||
Object var4 = var1[0];
|
||||
if (var4 != null) {
|
||||
public void unregister(Object subscriber) {
|
||||
if (subscriber != null) {
|
||||
synchronized (this.lock) {
|
||||
HashMap var7 = new HashMap(this.listeners);
|
||||
boolean var8 = false;
|
||||
HashMap updated = new HashMap(this.listeners);
|
||||
boolean changed = false;
|
||||
|
||||
for (Entry var10 : (Iterable<Entry>)(new ArrayList(var7.entrySet()))) {
|
||||
ListenerEntry[] var11 = (ListenerEntry[])var10.getValue();
|
||||
int var12 = 0;
|
||||
for (Entry bucket : (Iterable<Entry>)(new ArrayList(updated.entrySet()))) {
|
||||
ListenerEntry[] entries = (ListenerEntry[])bucket.getValue();
|
||||
int remaining = 0;
|
||||
|
||||
for (ListenerEntry var16 : var11) {
|
||||
if (var16.a_Object(new Object[0]) != var4) {
|
||||
var12++;
|
||||
for (ListenerEntry entry : entries) {
|
||||
if (entry.getTarget() != subscriber) {
|
||||
remaining++;
|
||||
}
|
||||
}
|
||||
|
||||
if (var12 != var11.length) {
|
||||
var8 = true;
|
||||
if (var12 == 0) {
|
||||
var7.remove(var10.getKey());
|
||||
if (remaining != entries.length) {
|
||||
changed = true;
|
||||
if (remaining == 0) {
|
||||
updated.remove(bucket.getKey());
|
||||
} else {
|
||||
ListenerEntry[] var21 = new ListenerEntry[var12];
|
||||
int var22 = 0;
|
||||
ListenerEntry[] kept = new ListenerEntry[remaining];
|
||||
int index = 0;
|
||||
|
||||
for (ListenerEntry var18 : var11) {
|
||||
if (var18.a_Object(new Object[0]) != var4) {
|
||||
var21[var22++] = var18;
|
||||
for (ListenerEntry candidate : entries) {
|
||||
if (candidate.getTarget() != subscriber) {
|
||||
kept[index++] = candidate;
|
||||
}
|
||||
}
|
||||
|
||||
var7.put((Class)var10.getKey(), var21);
|
||||
updated.put((Class)bucket.getKey(), kept);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var8) {
|
||||
this.listeners = var7;
|
||||
if (changed) {
|
||||
this.listeners = updated;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean post(Object[] var1) {
|
||||
Event var4 = (Event)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
var2 = 114818700636565L ^ var2;
|
||||
long var5 = var2 ^ 52036292005796L;
|
||||
Event.b();
|
||||
ListenerEntry[] var8 = (ListenerEntry[])this.listeners.get(var4.getClass());
|
||||
if (var8 == null) {
|
||||
return var4.a_boolean___(new Object[0]);
|
||||
public boolean post(Event event) {
|
||||
ListenerEntry[] entries = (ListenerEntry[])this.listeners.get(event.getClass());
|
||||
if (entries == null) {
|
||||
return event.isCancelled();
|
||||
} else {
|
||||
for (ListenerEntry var12 : var8) {
|
||||
for (ListenerEntry entry : entries) {
|
||||
try {
|
||||
var12.a_MethodHandle(new Object[0]).invokeExact((Event)var4);
|
||||
} catch (Throwable var14) {
|
||||
c(new Object[]{var12, var14, var5});
|
||||
entry.getHandle().invokeExact(event);
|
||||
} catch (Throwable error) {
|
||||
logListenerFailure(entry, error);
|
||||
}
|
||||
}
|
||||
|
||||
return var4.a_boolean___(new Object[0]);
|
||||
return event.isCancelled();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean hasListeners(Object[] var1) {
|
||||
Class var4 = (Class)var1[0];
|
||||
Event.b();
|
||||
ListenerEntry[] var6 = (ListenerEntry[])this.listeners.get(var4);
|
||||
return var6 != null && var6.length > 0;
|
||||
public boolean hasListeners(Class eventType) {
|
||||
ListenerEntry[] entries = (ListenerEntry[])this.listeners.get(eventType);
|
||||
return entries != null && entries.length > 0;
|
||||
}
|
||||
|
||||
public boolean hasListenerOfType(Object[] var1) {
|
||||
Class var5 = (Class)var1[0];
|
||||
Class var4 = (Class)var1[1];
|
||||
Event.b();
|
||||
ListenerEntry[] var7 = (ListenerEntry[])this.listeners.get(var5);
|
||||
if (var7 == null) {
|
||||
public boolean hasListenerOfType(Class eventType, Class ownerType) {
|
||||
ListenerEntry[] entries = (ListenerEntry[])this.listeners.get(eventType);
|
||||
if (entries == null) {
|
||||
return false;
|
||||
} else {
|
||||
for (ListenerEntry var11 : var7) {
|
||||
if (var4.isInstance(var11.a_Object(new Object[0]))) {
|
||||
for (ListenerEntry entry : entries) {
|
||||
if (ownerType.isInstance(entry.getTarget())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -164,14 +147,10 @@ public class EventBus {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean d(Object[] var0) {
|
||||
Map var1 = (Map)var0[0];
|
||||
Object var4 = var0[1];
|
||||
Event.b();
|
||||
|
||||
for (ListenerEntry[] var7 : (Iterable<ListenerEntry[]>)(var1.values())) {
|
||||
for (ListenerEntry var11 : var7) {
|
||||
if (var11.a_Object(new Object[0]) == var4) {
|
||||
private static boolean isRegistered(Map listenerMap, Object subscriber) {
|
||||
for (ListenerEntry[] entries : (Iterable<ListenerEntry[]>)(listenerMap.values())) {
|
||||
for (ListenerEntry entry : entries) {
|
||||
if (entry.getTarget() == subscriber) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -180,103 +159,16 @@ public class EventBus {
|
||||
return false;
|
||||
}
|
||||
|
||||
private static void c(Object[] var0) {
|
||||
ListenerEntry var4 = (ListenerEntry)var0[0];
|
||||
Throwable var3 = (Throwable)var0[1];
|
||||
Event.b();
|
||||
String var6 = var4.a_Object(new Object[0]).getClass().getName() + "#" + var4.a(new Object[0]).getName();
|
||||
if (d.add(var6 + ":" + var3.getClass().getName())) {
|
||||
System.err.println(g + var6);
|
||||
var3.printStackTrace();
|
||||
private static void logListenerFailure(ListenerEntry entry, Throwable error) {
|
||||
String listenerName = entry.getTarget().getClass().getName() + "#" + entry.getMethod().getName();
|
||||
if (LOGGED_FAILURES.add(listenerName + ":" + error.getClass().getName())) {
|
||||
System.err.println(LISTENER_ERROR_PREFIX + listenerName);
|
||||
error.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
c = MethodType.methodType(void.class, Event.class);
|
||||
d = ConcurrentHashMap.newKeySet();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
private static Object[] b() {
|
||||
return new Object[0];
|
||||
}
|
||||
|
||||
private static Object[] a(Object var0, Object var1) {
|
||||
return new Object[]{var0, var1};
|
||||
}
|
||||
|
||||
private static Object[] a(Object var0) {
|
||||
return new Object[]{var0};
|
||||
}
|
||||
|
||||
private static Throwable a(Throwable var0) {
|
||||
return var0;
|
||||
LISTENER_TYPE = MethodType.methodType(void.class, Event.class);
|
||||
LOGGED_FAILURES = ConcurrentHashMap.newKeySet();
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class FloatSetting extends Setting {
|
||||
@@ -15,10 +13,10 @@ public class FloatSetting extends Setting {
|
||||
private final float min;
|
||||
private final float max;
|
||||
|
||||
public FloatSetting(String var1, float var2, float var3, float var4) {
|
||||
super(var1, var2);
|
||||
this.min = var3;
|
||||
this.max = var4;
|
||||
public FloatSetting(String settingName, float defaultValue, float minValue, float maxValue) {
|
||||
super(settingName, defaultValue);
|
||||
this.min = minValue;
|
||||
this.max = maxValue;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -31,100 +29,25 @@ public class FloatSetting extends Setting {
|
||||
return this.max;
|
||||
}
|
||||
|
||||
public FloatSetting setVisibility_FloatSetting(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
var3 = 123628267853707L ^ var3;
|
||||
long var5 = var3 ^ 130072979389281L;
|
||||
super.setVisibility(new Object[]{var2, var5});
|
||||
public FloatSetting visibleWhen(Predicate visibilityPredicate) {
|
||||
super.setVisibility(visibilityPredicate);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public FloatSetting setDescription_FloatSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
public FloatSetting withDescription(String newDescription) {
|
||||
super.setDescription(newDescription);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
long var5 = var3 ^ 6857104452842L;
|
||||
return this.setVisibility_FloatSetting(new Object[]{var2, var5});
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
return this.visibleWhen(visibilityPredicate);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@Override
|
||||
public Setting setDescription(String var1) {
|
||||
return this.setDescription_FloatSetting(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public Setting setDescription(String newDescription) {
|
||||
return this.withDescription(newDescription);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,5 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public enum Gamemode {
|
||||
Crystal,
|
||||
Mace,
|
||||
@@ -11,76 +8,4 @@ public enum Gamemode {
|
||||
UHC,
|
||||
Cart,
|
||||
Any;
|
||||
|
||||
static {
|
||||
Object[] var10001 = new Object[]{0L};
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class IntSetting extends Setting {
|
||||
@@ -15,10 +13,10 @@ public class IntSetting extends Setting {
|
||||
private final int min;
|
||||
private final int max;
|
||||
|
||||
public IntSetting(String var1, int var2, int var3, int var4) {
|
||||
super(var1, var2);
|
||||
this.min = var3;
|
||||
this.max = var4;
|
||||
public IntSetting(String settingName, int defaultValue, int minValue, int maxValue) {
|
||||
super(settingName, defaultValue);
|
||||
this.min = minValue;
|
||||
this.max = maxValue;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -31,100 +29,25 @@ public class IntSetting extends Setting {
|
||||
return this.max;
|
||||
}
|
||||
|
||||
public IntSetting setVisibility_IntSetting(Object[] var1) {
|
||||
Predicate var4 = (Predicate)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
var2 = 3997353521073L ^ var2;
|
||||
long var5 = var2 ^ 73798710165983L;
|
||||
super.setVisibility(new Object[]{var4, var5});
|
||||
public IntSetting visibleWhen(Predicate visibilityPredicate) {
|
||||
super.setVisibility(visibilityPredicate);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public IntSetting setDescription_IntSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
public IntSetting withDescription(String newDescription) {
|
||||
super.setDescription(newDescription);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
long var5 = var3 ^ 71176956259950L;
|
||||
return this.setVisibility_IntSetting(new Object[]{var2, var5});
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
return this.visibleWhen(visibilityPredicate);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@Override
|
||||
public Setting setDescription(String var1) {
|
||||
return this.setDescription_IntSetting(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public Setting setDescription(String newDescription) {
|
||||
return this.withDescription(newDescription);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Predicate;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import org.lwjgl.glfw.GLFW;
|
||||
@@ -14,126 +12,47 @@ public class KeybindSetting extends Setting {
|
||||
return (Integer)super.getValue();
|
||||
}
|
||||
|
||||
private boolean toggleMode;
|
||||
private boolean holdMode;
|
||||
|
||||
public KeybindSetting(String var1, int var2) {
|
||||
super(var1, var2);
|
||||
public KeybindSetting(String settingName, int defaultKey) {
|
||||
super(settingName, defaultKey);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public boolean isToggleMode() {
|
||||
return this.toggleMode;
|
||||
public boolean isHoldMode() {
|
||||
return this.holdMode;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setToggleMode(boolean var1) {
|
||||
this.toggleMode = var1;
|
||||
public void setHoldMode(boolean hold) {
|
||||
this.holdMode = hold;
|
||||
}
|
||||
|
||||
public KeybindSetting setVisibility_KeybindSetting(Object[] var1) {
|
||||
Predicate var4 = (Predicate)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
var2 = 99049240658274L ^ var2;
|
||||
long var5 = var2 ^ 41186392833473L;
|
||||
super.setVisibility(new Object[]{var4, var5});
|
||||
public KeybindSetting visibleWhen(Predicate visibilityPredicate) {
|
||||
super.setVisibility(visibilityPredicate);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public KeybindSetting setDescription_KeybindSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
public KeybindSetting withDescription(String newDescription) {
|
||||
super.setDescription(newDescription);
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isPressed(Object[] var1) {
|
||||
public boolean isPressed() {
|
||||
return this.getValue() != -1 && this.getValue() > 9994
|
||||
? GLFW.glfwGetMouseButton(MinecraftClient.getInstance().getWindow().getHandle(), 9999 - (Integer)this.getValue()) == 1
|
||||
: GLFW.glfwGetKey(MinecraftClient.getInstance().getWindow().getHandle(), (Integer)this.getValue()) == 1;
|
||||
? GLFW.glfwGetMouseButton(MinecraftClient.getInstance().getWindow().getHandle(), 9999 - this.getValue()) == 1
|
||||
: GLFW.glfwGetKey(MinecraftClient.getInstance().getWindow().getHandle(), this.getValue()) == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var4 = (Predicate)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
long var5 = var2 ^ 140053625863331L;
|
||||
return this.setVisibility_KeybindSetting(new Object[]{var4, var5});
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
return this.visibleWhen(visibilityPredicate);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@Override
|
||||
public Setting setDescription(String var1) {
|
||||
return this.setDescription_KeybindSetting(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static MatchException b(MatchException var0) {
|
||||
return var0;
|
||||
public Setting setDescription(String newDescription) {
|
||||
return this.withDescription(newDescription);
|
||||
}
|
||||
}
|
||||
@@ -9,30 +9,30 @@ public class ListenerEntry {
|
||||
private final Class eventType;
|
||||
private final MethodHandle handle;
|
||||
|
||||
public ListenerEntry(Method var1, Object var2, Class var3) {
|
||||
this(var1, var2, var3, null);
|
||||
public ListenerEntry(Method subscriberMethod, Object subscriber, Class subscribedType) {
|
||||
this(subscriberMethod, subscriber, subscribedType, null);
|
||||
}
|
||||
|
||||
public ListenerEntry(Method var1, Object var2, Class var3, MethodHandle var4) {
|
||||
this.method = var1;
|
||||
this.target = var2;
|
||||
this.eventType = var3;
|
||||
this.handle = var4;
|
||||
public ListenerEntry(Method subscriberMethod, Object subscriber, Class subscribedType, MethodHandle boundHandle) {
|
||||
this.method = subscriberMethod;
|
||||
this.target = subscriber;
|
||||
this.eventType = subscribedType;
|
||||
this.handle = boundHandle;
|
||||
}
|
||||
|
||||
public Method a(Object[] var1) {
|
||||
public Method getMethod() {
|
||||
return this.method;
|
||||
}
|
||||
|
||||
public Object a_Object(Object[] var1) {
|
||||
public Object getTarget() {
|
||||
return this.target;
|
||||
}
|
||||
|
||||
public Class a_Class(Object[] var1) {
|
||||
public Class getEventType() {
|
||||
return this.eventType;
|
||||
}
|
||||
|
||||
public MethodHandle a_MethodHandle(Object[] var1) {
|
||||
public MethodHandle getHandle() {
|
||||
return this.handle;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class MenuModule extends Module {
|
||||
private final KeybindSetting menuKey;
|
||||
@@ -12,99 +10,25 @@ public class MenuModule extends Module {
|
||||
|
||||
public MenuModule() {
|
||||
dev.zprestige.prestige.ui.bridge.Bootstrap.pre(this);
|
||||
Object[] var10006 = new Object[]{null, null, 137970699205822L};
|
||||
var10006[1] = 161;
|
||||
var10006[0] = "Menu Key";
|
||||
this.menuKey = this.addKeybind(var10006);
|
||||
this.descriptionMode = this.addEnum(new Object[]{"Descriptions", "Mouse", new String[]{"Mouse", "Search Bar"}, 85198277421524L});
|
||||
var10006 = new Object[]{null, null, 136800689510088L};
|
||||
var10006[1] = false;
|
||||
var10006[0] = "Rounded";
|
||||
this.rounded = this.addBool(var10006);
|
||||
this.menuColor = this.addColor(new Object[]{"Menu Color", new Color(131, 118, 252), 17358566314135L});
|
||||
this.menuKey = this.addKeybind("Menu Key", 161);
|
||||
this.descriptionMode = this.addEnum("Descriptions", "Mouse", new String[]{"Mouse", "Search Bar"});
|
||||
this.rounded = this.addBool("Rounded", false);
|
||||
this.menuColor = this.addColor("Menu Color", new Color(131, 118, 252));
|
||||
}
|
||||
|
||||
public KeybindSetting getMenuKey(Object[] var1) {
|
||||
public KeybindSetting getMenuKey() {
|
||||
return this.menuKey;
|
||||
}
|
||||
|
||||
public EnumSetting getDescriptionMode(Object[] var1) {
|
||||
public EnumSetting getDescriptionMode() {
|
||||
return this.descriptionMode;
|
||||
}
|
||||
|
||||
public BoolSetting getRounded(Object[] var1) {
|
||||
public BoolSetting getRounded() {
|
||||
return this.rounded;
|
||||
}
|
||||
|
||||
public ColorSetting getMenuColor(Object[] var1) {
|
||||
public ColorSetting getMenuColor() {
|
||||
return this.menuColor;
|
||||
}
|
||||
|
||||
private static Field g(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 h(Class var0, String var1, Class var2) {
|
||||
Field var3 = g(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 = h(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method g(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 h(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = g(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 = h(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,17 +3,14 @@ package dev.zprestige.prestige;
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import dev.zprestige.prestige.annotation.NativeId;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import dev.zprestige.prestige.hud.ModuleNotificationsElement;
|
||||
import dev.zprestige.prestige.render.RenderContract2;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import dev.zprestige.prestige.render.MinecraftAccess;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class Module extends SettingHolder implements RenderContract2 {
|
||||
public class Module extends SettingHolder implements MinecraftAccess {
|
||||
private final List coreSettings = new ArrayList();
|
||||
private final BoolSetting enabledSetting = new BoolSetting("Enabled", false);
|
||||
private String name;
|
||||
@@ -24,139 +21,120 @@ public class Module extends SettingHolder implements RenderContract2 {
|
||||
private volatile List allSettingsCache;
|
||||
|
||||
public Module() {
|
||||
this.keybind = new KeybindSetting("Bind", -1).setDescription_KeybindSetting("Keybind for " + this.name);
|
||||
this.keybind = new KeybindSetting("Bind", -1).withDescription("Keybind for " + this.name);
|
||||
this.coreSettings.add(this.enabledSetting);
|
||||
this.coreSettings.add(this.keybind);
|
||||
}
|
||||
|
||||
public Module(String var1, String var2, int var3) {
|
||||
public Module(String moduleName, String moduleDescription, int categoryOrdinal) {
|
||||
this();
|
||||
Event.b();
|
||||
this.name = var1;
|
||||
this.description = var2;
|
||||
this.name = moduleName;
|
||||
this.description = moduleDescription;
|
||||
|
||||
for (Category var10 : Category.values()) {
|
||||
if (var10.ordinal() == var3) {
|
||||
this.category = var10;
|
||||
for (Category candidate : Category.values()) {
|
||||
if (candidate.ordinal() == categoryOrdinal) {
|
||||
this.category = candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NativeId("")
|
||||
public void a(Object var1, String var2, String var3, int var4) {
|
||||
if (var1 != null) {
|
||||
this.settings.add((Setting)var1);
|
||||
public void injectFromNative(Object injectedSetting, String moduleName, String moduleDescription, int categoryOrdinal) {
|
||||
if (injectedSetting != null) {
|
||||
this.settings.add((Setting)injectedSetting);
|
||||
this.allSettingsCache = null;
|
||||
} else {
|
||||
this.name = var2;
|
||||
this.description = var3;
|
||||
this.category = Arrays.stream(Category.values()).filter(lpL71_0 -> ((dev.zprestige.prestige.Category)lpL71_0).ordinal() == var4).findFirst().orElse(this.category);
|
||||
this.name = moduleName;
|
||||
this.description = moduleDescription;
|
||||
this.category = Arrays.stream(Category.values()).filter(candidate -> candidate.ordinal() == categoryOrdinal).findFirst().orElse(this.category);
|
||||
}
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public boolean isEnabled() {
|
||||
return (Boolean)this.enabledSetting.getValue();
|
||||
return this.enabledSetting.getValue();
|
||||
}
|
||||
|
||||
public int getKey(Object[] var1) {
|
||||
return (Integer)this.keybind.getValue();
|
||||
public int getKey() {
|
||||
return this.keybind.getValue();
|
||||
}
|
||||
|
||||
public KeybindSetting getKeybind(Object[] var1) {
|
||||
public KeybindSetting getKeybind() {
|
||||
return this.keybind;
|
||||
}
|
||||
|
||||
public void toggle(Object[] var1) {
|
||||
long var2 = (Long)var1[0];
|
||||
long var4 = var2 ^ 55958956532363L;
|
||||
long var6 = var2 ^ 15872977247914L;
|
||||
long var8 = var2 ^ 22594282158762L;
|
||||
long var10 = var2 ^ 37299566365261L;
|
||||
long var12 = var2 ^ 75993416544364L;
|
||||
long var14 = var2 ^ 86929222885577L;
|
||||
long var16 = var2 ^ 79146057582229L;
|
||||
public void toggle() {
|
||||
this.enabledSetting.setValue(!this.isEnabled());
|
||||
this.setLastEnabled(new Object[]{this.isEnabled()});
|
||||
this.setLastEnabled(this.isEnabled());
|
||||
if (this.isEnabled()) {
|
||||
Prestige.eventBus.register(new Object[]{this, var6});
|
||||
if (b.world != null && b.player != null) {
|
||||
this.onEnable(new Object[]{var8});
|
||||
Prestige.eventBus.register(this);
|
||||
if (mc.world != null && mc.player != null) {
|
||||
this.onEnable();
|
||||
} else {
|
||||
Prestige.moduleManager.queueEnable(new Object[]{this, var12});
|
||||
Prestige.moduleManager.queueEnable(this);
|
||||
}
|
||||
} else {
|
||||
Prestige.eventBus.unregister(new Object[]{this, var4});
|
||||
if (b.world != null && b.player != null) {
|
||||
this.onDisable(new Object[]{var14});
|
||||
Prestige.eventBus.unregister(this);
|
||||
if (mc.world != null && mc.player != null) {
|
||||
this.onDisable();
|
||||
} else {
|
||||
Prestige.moduleManager.queueDisable(new Object[]{this, var16});
|
||||
Prestige.moduleManager.queueDisable(this);
|
||||
}
|
||||
}
|
||||
|
||||
ModuleNotificationsElement.r(new Object[]{this, var10});
|
||||
ModuleNotificationsElement.notifyToggle(this);
|
||||
}
|
||||
|
||||
public void applyState(Object[] var1) {
|
||||
long var2 = (Long)var1[0];
|
||||
var2 = 25781655103684L ^ var2;
|
||||
long var4 = var2 ^ 120644081699938L;
|
||||
long var6 = var2 ^ 89278968246339L;
|
||||
long var8 = var2 ^ 83365083665475L;
|
||||
long var10 = var2 ^ 139299437470884L;
|
||||
long var12 = var2 ^ 28865644895877L;
|
||||
long var14 = var2 ^ 17947047808544L;
|
||||
long var16 = var2 ^ 27105383311484L;
|
||||
public void applyState() {
|
||||
if (this.isEnabled()) {
|
||||
Prestige.eventBus.register(new Object[]{this, var6});
|
||||
if (b.world != null && b.player != null) {
|
||||
this.onEnable(new Object[]{var8});
|
||||
Prestige.eventBus.register(this);
|
||||
if (mc.world != null && mc.player != null) {
|
||||
this.onEnable();
|
||||
} else {
|
||||
Prestige.moduleManager.queueEnable(new Object[]{this, var12});
|
||||
Prestige.moduleManager.queueEnable(this);
|
||||
}
|
||||
} else {
|
||||
Prestige.eventBus.unregister(new Object[]{this, var4});
|
||||
if (b.world != null && b.player != null) {
|
||||
this.onDisable(new Object[]{var14});
|
||||
Prestige.eventBus.unregister(this);
|
||||
if (mc.world != null && mc.player != null) {
|
||||
this.onDisable();
|
||||
} else {
|
||||
Prestige.moduleManager.queueDisable(new Object[]{this, var16});
|
||||
Prestige.moduleManager.queueDisable(this);
|
||||
}
|
||||
}
|
||||
|
||||
ModuleNotificationsElement.r(new Object[]{this, var10});
|
||||
ModuleNotificationsElement.notifyToggle(this);
|
||||
}
|
||||
|
||||
public void dispose(Object[] var1) {
|
||||
public void dispose() {
|
||||
this.name = null;
|
||||
Event.b();
|
||||
this.description = null;
|
||||
ArrayList var5 = new ArrayList();
|
||||
var5.addAll(this.settings);
|
||||
var5.addAll(this.coreSettings);
|
||||
ArrayList allSettings = new ArrayList();
|
||||
allSettings.addAll(this.settings);
|
||||
allSettings.addAll(this.coreSettings);
|
||||
|
||||
for (Setting var7 : (Iterable<Setting>)(var5)) {
|
||||
var7.setName(new Object[]{null});
|
||||
var7.setDescription(null);
|
||||
var7.setValue(null);
|
||||
for (Setting setting : (Iterable<Setting>)(allSettings)) {
|
||||
setting.setName(null);
|
||||
setting.setDescription(null);
|
||||
setting.setValue(null);
|
||||
}
|
||||
}
|
||||
|
||||
public void onEnable(Object[] var1) {
|
||||
public void onEnable() {
|
||||
}
|
||||
|
||||
public void onDisable(Object[] var1) {
|
||||
public void onDisable() {
|
||||
}
|
||||
|
||||
public boolean b(Object[] var1) {
|
||||
public boolean isPersistent() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public String getInfo(Object[] var1) {
|
||||
public String getInfo() {
|
||||
return "";
|
||||
}
|
||||
|
||||
public List getCoreSettings(Object[] var1) {
|
||||
public List getCoreSettings() {
|
||||
return this.coreSettings;
|
||||
}
|
||||
|
||||
@@ -165,9 +143,8 @@ public class Module extends SettingHolder implements RenderContract2 {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
this.name = var2;
|
||||
public void setName(String newName) {
|
||||
this.name = newName;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -175,9 +152,8 @@ public class Module extends SettingHolder implements RenderContract2 {
|
||||
return this.description;
|
||||
}
|
||||
|
||||
public void setDescription(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
this.description = var2;
|
||||
public void setDescription(String newDescription) {
|
||||
this.description = newDescription;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -185,123 +161,47 @@ public class Module extends SettingHolder implements RenderContract2 {
|
||||
return this.category;
|
||||
}
|
||||
|
||||
public void setCategory(Object[] var1) {
|
||||
Category var2 = (Category)var1[0];
|
||||
this.category = var2;
|
||||
public void setCategory(Category newCategory) {
|
||||
this.category = newCategory;
|
||||
}
|
||||
|
||||
public boolean getLastEnabled(Object[] var1) {
|
||||
public boolean getLastEnabled() {
|
||||
return this.lastEnabled;
|
||||
}
|
||||
|
||||
public void setLastEnabled(Object[] var1) {
|
||||
boolean var2 = (Boolean)var1[0];
|
||||
this.lastEnabled = var2;
|
||||
public void setLastEnabled(boolean wasEnabled) {
|
||||
this.lastEnabled = wasEnabled;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public List getSettings() {
|
||||
Event.b();
|
||||
List var4 = this.allSettingsCache;
|
||||
if (var4 == null) {
|
||||
ArrayList var5 = new ArrayList(this.coreSettings.size() + this.settings.size());
|
||||
var5.addAll(this.coreSettings);
|
||||
var5.addAll(this.settings);
|
||||
var4 = List.copyOf(var5);
|
||||
this.allSettingsCache = var4;
|
||||
List cachedSettings = this.allSettingsCache;
|
||||
if (cachedSettings == null) {
|
||||
ArrayList combinedSettings = new ArrayList(this.coreSettings.size() + this.settings.size());
|
||||
combinedSettings.addAll(this.coreSettings);
|
||||
combinedSettings.addAll(this.settings);
|
||||
cachedSettings = List.copyOf(combinedSettings);
|
||||
this.allSettingsCache = cachedSettings;
|
||||
}
|
||||
|
||||
return var4;
|
||||
return cachedSettings;
|
||||
}
|
||||
|
||||
public Set getGamemodes(Object[] var1) {
|
||||
public Set getGamemodes() {
|
||||
return Set.of(Gamemode.Any);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public int getGamemodeMask() {
|
||||
Set var6 = this.getGamemodes(new Object[]{33917734280704L});
|
||||
Event.b();
|
||||
int var7 = 0;
|
||||
Set gamemodes = this.getGamemodes();
|
||||
int gamemodeMask = 0;
|
||||
|
||||
for (Gamemode var9 : (Iterable<Gamemode>)(var6)) {
|
||||
if (var9 != Gamemode.Any) {
|
||||
var7 |= 1 << var9.ordinal();
|
||||
for (Gamemode gamemode : (Iterable<Gamemode>)(gamemodes)) {
|
||||
if (gamemode != Gamemode.Any) {
|
||||
gamemodeMask |= 1 << gamemode.ordinal();
|
||||
}
|
||||
}
|
||||
|
||||
return var7;
|
||||
}
|
||||
|
||||
private static Field e(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 f(Class var0, String var1, Class var2) {
|
||||
Field var3 = e(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 = f(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method e(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 f(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = e(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 = f(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static MatchException b(MatchException var0) {
|
||||
return var0;
|
||||
return gamemodeMask;
|
||||
}
|
||||
}
|
||||
@@ -2,64 +2,57 @@ package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.event.TickEvent19;
|
||||
import dev.zprestige.prestige.render.RenderContract2;
|
||||
import dev.zprestige.prestige.event.ClientTickEvent;
|
||||
import dev.zprestige.prestige.render.MinecraftAccess;
|
||||
import java.awt.Color;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
|
||||
public class ModuleManager implements RenderContract2 {
|
||||
public class ModuleManager implements MinecraftAccess {
|
||||
private final MenuModule menu;
|
||||
private List modules;
|
||||
private final ConcurrentLinkedQueue enableQueue;
|
||||
private final ConcurrentLinkedQueue disableQueue;
|
||||
public static boolean f = true;
|
||||
public static boolean headTickFallback = true;
|
||||
|
||||
public ModuleManager(long var1) {
|
||||
public ModuleManager() {
|
||||
super();
|
||||
var1 = 0L;
|
||||
var1 = 22310984220293L ^ var1;
|
||||
long var3 = var1 ^ 31757000116027L;
|
||||
this.menu = new MenuModule();
|
||||
this.modules = new ArrayList();
|
||||
this.enableQueue = new ConcurrentLinkedQueue();
|
||||
this.disableQueue = new ConcurrentLinkedQueue();
|
||||
Prestige.eventBus.register(new Object[]{this, var3});
|
||||
Prestige.eventBus.register(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onTick(TickEvent19 var1) {
|
||||
if (b.world != null && b.player != null) {
|
||||
public void onClientTick(ClientTickEvent event) {
|
||||
if (mc.world != null && mc.player != null) {
|
||||
while (!this.enableQueue.isEmpty()) {
|
||||
Module var9 = (Module)this.enableQueue.poll();
|
||||
if (var9 != null && var9.isEnabled()) {
|
||||
var9.onEnable(new Object[]{136490818940166L});
|
||||
Module pendingEnable = (Module)this.enableQueue.poll();
|
||||
if (pendingEnable != null && pendingEnable.isEnabled()) {
|
||||
pendingEnable.onEnable();
|
||||
}
|
||||
}
|
||||
|
||||
while (!this.disableQueue.isEmpty()) {
|
||||
Module var10 = (Module)this.disableQueue.poll();
|
||||
if (var10 != null && !var10.isEnabled()) {
|
||||
var10.onDisable(new Object[]{43569551062885L});
|
||||
Module pendingDisable = (Module)this.disableQueue.poll();
|
||||
if (pendingDisable != null && !pendingDisable.isEnabled()) {
|
||||
pendingDisable.onDisable();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void queueEnable(Object[] var1) {
|
||||
Module var4 = (Module)var1[0];
|
||||
if (!this.enableQueue.contains(var4)) {
|
||||
this.enableQueue.offer(var4);
|
||||
public void queueEnable(Module module) {
|
||||
if (!this.enableQueue.contains(module)) {
|
||||
this.enableQueue.offer(module);
|
||||
}
|
||||
}
|
||||
|
||||
public void queueDisable(Object[] var1) {
|
||||
Module var4 = (Module)var1[0];
|
||||
if (!this.disableQueue.contains(var4)) {
|
||||
this.disableQueue.offer(var4);
|
||||
public void queueDisable(Module module) {
|
||||
if (!this.disableQueue.contains(module)) {
|
||||
this.disableQueue.offer(module);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,89 +62,21 @@ public class ModuleManager implements RenderContract2 {
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setModules(List var1) {
|
||||
this.modules = var1;
|
||||
public void setModules(List moduleList) {
|
||||
this.modules = moduleList;
|
||||
}
|
||||
|
||||
public MenuModule getMenu(Object[] var1) {
|
||||
public MenuModule getMenu() {
|
||||
return this.menu;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setMenuColor(Color var1) {
|
||||
this.menu.getMenuColor(new Object[0]).setValue(var1);
|
||||
public void setMenuColor(Color color) {
|
||||
this.menu.getMenuColor().setValue(color);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setMenuKey(int var1) {
|
||||
this.menu.getMenuKey(new Object[0]).setValue(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public void setMenuKey(int key) {
|
||||
this.menu.getMenuKey().setValue(key);
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,6 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.Predicate;
|
||||
@@ -19,15 +16,14 @@ public class MultiSetting extends Setting {
|
||||
private final boolean[] selected;
|
||||
private final Map indexByOption;
|
||||
|
||||
public MultiSetting(String var1, String[] var2, boolean[] var3) {
|
||||
super(var1, "");
|
||||
Event.b();
|
||||
this.options = var2;
|
||||
this.selected = var3;
|
||||
this.indexByOption = new HashMap(var2.length * 2);
|
||||
public MultiSetting(String settingName, String[] optionValues, boolean[] defaultSelection) {
|
||||
super(settingName, "");
|
||||
this.options = optionValues;
|
||||
this.selected = defaultSelection;
|
||||
this.indexByOption = new HashMap(optionValues.length * 2);
|
||||
|
||||
for (int var7 = 0; var7 < var2.length; var7++) {
|
||||
this.indexByOption.put(var2[var7], var7);
|
||||
for (int index = 0; index < optionValues.length; index++) {
|
||||
this.indexByOption.put(optionValues[index], index);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,24 +32,22 @@ public class MultiSetting extends Setting {
|
||||
return this.options;
|
||||
}
|
||||
|
||||
public boolean isSelected(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
Integer var5 = (Integer)this.indexByOption.get(var2);
|
||||
if (var5 == null) {
|
||||
throw new IllegalArgumentException("Value not found: " + var2);
|
||||
public boolean isSelected(String option) {
|
||||
Integer optionIndex = (Integer)this.indexByOption.get(option);
|
||||
if (optionIndex == null) {
|
||||
throw new IllegalArgumentException("Value not found: " + option);
|
||||
} else {
|
||||
return this.selected[var5];
|
||||
return this.selected[optionIndex];
|
||||
}
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setSelected(String var1, boolean var2) {
|
||||
Event.b();
|
||||
Integer var6 = (Integer)this.indexByOption.get(var1);
|
||||
if (var6 == null) {
|
||||
throw new IllegalArgumentException("Value not found: " + var1);
|
||||
public void setSelected(String option, boolean selectedState) {
|
||||
Integer optionIndex = (Integer)this.indexByOption.get(option);
|
||||
if (optionIndex == null) {
|
||||
throw new IllegalArgumentException("Value not found: " + option);
|
||||
} else {
|
||||
this.selected[var6] = var2;
|
||||
this.selected[optionIndex] = selectedState;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,104 +56,25 @@ public class MultiSetting extends Setting {
|
||||
return this.selected;
|
||||
}
|
||||
|
||||
public MultiSetting setVisibility_MultiSetting(Object[] var1) {
|
||||
Predicate var4 = (Predicate)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
var2 = 89151985553059L ^ var2;
|
||||
long var5 = var2 ^ 96972061473817L;
|
||||
super.setVisibility(new Object[]{var4, var5});
|
||||
public MultiSetting visibleWhen(Predicate visibilityPredicate) {
|
||||
super.setVisibility(visibilityPredicate);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public MultiSetting setDescription_MultiSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
public MultiSetting withDescription(String newDescription) {
|
||||
super.setDescription(newDescription);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var4 = (Predicate)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
long var5 = var2 ^ 10064201577146L;
|
||||
return this.setVisibility_MultiSetting(new Object[]{var4, var5});
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
return this.visibleWhen(visibilityPredicate);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@Override
|
||||
public Setting setDescription(String var1) {
|
||||
return this.setDescription_MultiSetting(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static IllegalArgumentException a(IllegalArgumentException var0) {
|
||||
return var0;
|
||||
public Setting setDescription(String newDescription) {
|
||||
return this.withDescription(newDescription);
|
||||
}
|
||||
}
|
||||
@@ -4,46 +4,46 @@ import dev.zprestige.prestige.annotation.NativeId;
|
||||
import java.util.List;
|
||||
|
||||
public class Native {
|
||||
public static Class a;
|
||||
public static Class callbackClass;
|
||||
|
||||
@NativeId("f29b5f2e-3df2-4db8-bb6e-1c01a5f91f12")
|
||||
public static void a(List var0) {
|
||||
public static void registerModules(List modules) {
|
||||
}
|
||||
|
||||
@NativeId("6937e6e7-60ef-45de-98e1-f177ec613e99")
|
||||
public static void b(int var0, StringBuilder var1) {
|
||||
public static void fetchString(int id, StringBuilder out) {
|
||||
}
|
||||
|
||||
@NativeId("c4f1db16-7850-44eb-8f8a-863dfe33ab26")
|
||||
public static void c(StringBuilder var0) {
|
||||
public static void fetchStatus(StringBuilder out) {
|
||||
}
|
||||
|
||||
@NativeId("774de945-aba3-4038-b5ae-d8ff48635feb")
|
||||
public static void d(String var0, String var1, boolean var2, String var3, StringBuilder var4, String var5) {
|
||||
public static void request(String key, String value, boolean flag, String extra, StringBuilder out, String context) {
|
||||
}
|
||||
|
||||
@NativeId("b6356619-bb5a-4616-a076-93f620a7d9de")
|
||||
public static void e(int var0, StringBuilder var1) {
|
||||
public static void fetchText(int id, StringBuilder out) {
|
||||
}
|
||||
|
||||
@NativeId("9ae73026-310d-4cbc-b283-12f3f530fe67")
|
||||
public static void f(int var0, String var1, StringBuilder var2) {
|
||||
public static void fetchField(int id, String key, StringBuilder out) {
|
||||
}
|
||||
|
||||
@NativeId("08dcf01c-9943-4f66-8dfd-120714d7abdd")
|
||||
public static void g(String var0) {
|
||||
public static void submit(String message) {
|
||||
}
|
||||
|
||||
@NativeId("018b2f19-e79e-7d6a-a56d-29feb6211b04")
|
||||
public static void h() {
|
||||
public static void onClientTick() {
|
||||
}
|
||||
|
||||
@NativeId("70d16b96-40d4-4e4b-8d11-111b87ee88c2")
|
||||
public static void i() {
|
||||
public static void toggleMenu() {
|
||||
}
|
||||
|
||||
@NativeId("0dfaa780-8d92-4e8f-aa2e-9dae747c4dd6")
|
||||
public static boolean j() {
|
||||
public static boolean isMenuOpen() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,7 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import dev.zprestige.prestige.render.RenderUtil5;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import dev.zprestige.prestige.render.RandomUtil;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class RangeSetting extends Setting {
|
||||
@@ -19,13 +17,13 @@ public class RangeSetting extends Setting {
|
||||
private float high;
|
||||
private float rolled;
|
||||
|
||||
public RangeSetting(String var1, float var2, float var3, float var4, float var5) {
|
||||
super(var1, var2);
|
||||
this.low = var2;
|
||||
this.high = var3;
|
||||
this.min = var4;
|
||||
this.max = var5;
|
||||
this.rolled = var2;
|
||||
public RangeSetting(String settingName, float defaultLow, float defaultHigh, float minValue, float maxValue) {
|
||||
super(settingName, defaultLow);
|
||||
this.low = defaultLow;
|
||||
this.high = defaultHigh;
|
||||
this.min = minValue;
|
||||
this.max = maxValue;
|
||||
this.rolled = defaultLow;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -34,8 +32,8 @@ public class RangeSetting extends Setting {
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setLow(float var1) {
|
||||
this.low = var1;
|
||||
public void setLow(float newLow) {
|
||||
this.low = newLow;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -44,8 +42,8 @@ public class RangeSetting extends Setting {
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setHigh(float var1) {
|
||||
this.high = var1;
|
||||
public void setHigh(float newHigh) {
|
||||
this.high = newHigh;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -58,128 +56,41 @@ public class RangeSetting extends Setting {
|
||||
return this.max;
|
||||
}
|
||||
|
||||
public float getRolled(Object[] var1) {
|
||||
public float getRolled() {
|
||||
return this.rolled;
|
||||
}
|
||||
|
||||
public void setRolled(Object[] var1) {
|
||||
float var2 = (Float)var1[0];
|
||||
this.rolled = var2;
|
||||
public void setRolled(float newRolled) {
|
||||
this.rolled = newRolled;
|
||||
}
|
||||
|
||||
public void reroll(Object[] var1) {
|
||||
long var2 = (Long)var1[0];
|
||||
var2 = 104704689118488L ^ var2;
|
||||
long var4 = var2 ^ 118870168785476L;
|
||||
this.rolled = this.randomInRange(new Object[]{var4});
|
||||
public void reroll() {
|
||||
this.rolled = this.randomInRange();
|
||||
}
|
||||
|
||||
public float randomInRange(Object[] var1) {
|
||||
long var2 = (Long)var1[0];
|
||||
var2 = 104704689118488L ^ var2;
|
||||
long var4 = var2 ^ 76056962614760L;
|
||||
float var10000 = this.low;
|
||||
float var10001 = this.high;
|
||||
Object[] var10004 = new Object[]{null, null, var4};
|
||||
var10004[1] = var10001;
|
||||
var10004[0] = var10000;
|
||||
return RenderUtil5.a(var10004);
|
||||
public float randomInRange() {
|
||||
return RandomUtil.randomFloat(this.low, this.high);
|
||||
}
|
||||
|
||||
public RangeSetting setVisibility_RangeSetting(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
var3 = 104704689118488L ^ var3;
|
||||
long var5 = var3 ^ 113704341411105L;
|
||||
super.setVisibility(new Object[]{var2, var5});
|
||||
public RangeSetting visibleWhen(Predicate visibilityPredicate) {
|
||||
super.setVisibility(visibilityPredicate);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public RangeSetting setDescription_RangeSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
public RangeSetting withDescription(String newDescription) {
|
||||
super.setDescription(newDescription);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
long var5 = var3 ^ 61932072339513L;
|
||||
return this.setVisibility_RangeSetting(new Object[]{var2, var5});
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
return this.visibleWhen(visibilityPredicate);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@Override
|
||||
public Setting setDescription(String var1) {
|
||||
return this.setDescription_RangeSetting(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public Setting setDescription(String newDescription) {
|
||||
return this.withDescription(newDescription);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public abstract class Setting {
|
||||
@@ -10,11 +8,10 @@ public abstract class Setting {
|
||||
private Object value;
|
||||
private String description;
|
||||
private Predicate visibility;
|
||||
private static int[] e;
|
||||
|
||||
public Setting(String var1, Object var2) {
|
||||
this.name = var1;
|
||||
this.value = var2;
|
||||
public Setting(String settingName, Object defaultValue) {
|
||||
this.name = settingName;
|
||||
this.value = defaultValue;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -22,9 +19,8 @@ public abstract class Setting {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
this.name = var2;
|
||||
public void setName(String newName) {
|
||||
this.name = newName;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -33,8 +29,8 @@ public abstract class Setting {
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setValue(Object var1) {
|
||||
this.value = var1;
|
||||
public void setValue(Object newValue) {
|
||||
this.value = newValue;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@@ -43,14 +39,13 @@ public abstract class Setting {
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public Setting setDescription(String var1) {
|
||||
this.description = var1;
|
||||
public Setting setDescription(String newDescription) {
|
||||
this.description = newDescription;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
this.visibility = var2;
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
this.visibility = visibilityPredicate;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -58,84 +53,4 @@ public abstract class Setting {
|
||||
public boolean isVisible() {
|
||||
return this.visibility == null || this.visibility.test(this.getValue());
|
||||
}
|
||||
|
||||
public static void b(int[] var0) {
|
||||
e = var0;
|
||||
}
|
||||
|
||||
public static int[] b() {
|
||||
return e;
|
||||
}
|
||||
|
||||
static {
|
||||
b();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,111 +1,32 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class SettingHolder {
|
||||
public final ArrayList settings = new ArrayList();
|
||||
|
||||
public KeybindSetting addKeybind(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
int var5 = (Integer)var1[1];
|
||||
KeybindSetting var6 = new KeybindSetting(var2, var5);
|
||||
this.settings.add(var6);
|
||||
return var6;
|
||||
public KeybindSetting addKeybind(String settingName, int defaultKey) {
|
||||
KeybindSetting createdSetting = new KeybindSetting(settingName, defaultKey);
|
||||
this.settings.add(createdSetting);
|
||||
return createdSetting;
|
||||
}
|
||||
|
||||
public BoolSetting addBool(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
boolean var3 = (Boolean)var1[1];
|
||||
BoolSetting var6 = new BoolSetting(var2, var3);
|
||||
this.settings.add(var6);
|
||||
return var6;
|
||||
public BoolSetting addBool(String settingName, boolean defaultValue) {
|
||||
BoolSetting createdSetting = new BoolSetting(settingName, defaultValue);
|
||||
this.settings.add(createdSetting);
|
||||
return createdSetting;
|
||||
}
|
||||
|
||||
public EnumSetting addEnum(Object[] var1) {
|
||||
String var4 = (String)var1[0];
|
||||
String var2 = (String)var1[1];
|
||||
String[] var3 = (String[])var1[2];
|
||||
EnumSetting var7 = new EnumSetting(var4, var2, var3);
|
||||
this.settings.add(var7);
|
||||
return var7;
|
||||
public EnumSetting addEnum(String settingName, String defaultOption, String[] optionValues) {
|
||||
EnumSetting createdSetting = new EnumSetting(settingName, defaultOption, optionValues);
|
||||
this.settings.add(createdSetting);
|
||||
return createdSetting;
|
||||
}
|
||||
|
||||
public ColorSetting addColor(Object[] var1) {
|
||||
String var4 = (String)var1[0];
|
||||
Color var5 = (Color)var1[1];
|
||||
ColorSetting var6 = new ColorSetting(var4, var5);
|
||||
this.settings.add(var6);
|
||||
return var6;
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public ColorSetting addColor(String settingName, Color defaultColor) {
|
||||
ColorSetting createdSetting = new ColorSetting(settingName, defaultColor);
|
||||
this.settings.add(createdSetting);
|
||||
return createdSetting;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class TextSetting extends Setting {
|
||||
@@ -14,109 +12,34 @@ public class TextSetting extends Setting {
|
||||
|
||||
private final String placeholder;
|
||||
|
||||
public TextSetting(String var1, String var2, String var3) {
|
||||
super(var1, var2);
|
||||
this.placeholder = var3;
|
||||
public TextSetting(String settingName, String defaultText, String placeholderText) {
|
||||
super(settingName, defaultText);
|
||||
this.placeholder = placeholderText;
|
||||
}
|
||||
|
||||
public String getPlaceholder(Object[] var1) {
|
||||
public String getPlaceholder() {
|
||||
return this.placeholder;
|
||||
}
|
||||
|
||||
public TextSetting setVisibility_TextSetting(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
var3 = 90219420051481L ^ var3;
|
||||
long var5 = var3 ^ 38810053965316L;
|
||||
super.setVisibility(new Object[]{var2, var5});
|
||||
public TextSetting visibleWhen(Predicate visibilityPredicate) {
|
||||
super.setVisibility(visibilityPredicate);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public TextSetting setDescription_TextSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
public TextSetting withDescription(String newDescription) {
|
||||
super.setDescription(newDescription);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var4 = (Predicate)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
long var5 = var2 ^ 124528063749661L;
|
||||
return this.setVisibility_TextSetting(new Object[]{var4, var5});
|
||||
public Setting setVisibility(Predicate visibilityPredicate) {
|
||||
return this.visibleWhen(visibilityPredicate);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
@Override
|
||||
public Setting setDescription(String var1) {
|
||||
return this.setDescription_TextSetting(var1);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public Setting setDescription(String newDescription) {
|
||||
return this.withDescription(newDescription);
|
||||
}
|
||||
}
|
||||
@@ -4,247 +4,144 @@ import dev.zprestige.prestige.EventBus;
|
||||
import dev.zprestige.prestige.Module;
|
||||
import dev.zprestige.prestige.ModuleManager;
|
||||
import dev.zprestige.prestige.Native;
|
||||
import dev.zprestige.prestige.Setting;
|
||||
import dev.zprestige.prestige.combat.AimManager;
|
||||
import dev.zprestige.prestige.combat.DamageUtil;
|
||||
import dev.zprestige.prestige.combat.RotationManager;
|
||||
import dev.zprestige.prestige.combat.TargetManager;
|
||||
import dev.zprestige.prestige.combat.ClickScheduler;
|
||||
import dev.zprestige.prestige.combat.ExplosionDamageCalculator;
|
||||
import dev.zprestige.prestige.combat.VisualRotationManager;
|
||||
import dev.zprestige.prestige.combat.BotFilter;
|
||||
import dev.zprestige.prestige.combat.TargetTracker;
|
||||
import dev.zprestige.prestige.config.ConfigManager;
|
||||
import dev.zprestige.prestige.event.EventManager;
|
||||
import dev.zprestige.prestige.event.TickEvent24;
|
||||
import dev.zprestige.prestige.event.TickEvent25;
|
||||
import dev.zprestige.prestige.event.TickEvent27;
|
||||
import dev.zprestige.prestige.event.ModuleStateSync;
|
||||
import dev.zprestige.prestige.event.FrameEvent;
|
||||
import dev.zprestige.prestige.event.Render2DEvent;
|
||||
import dev.zprestige.prestige.event.Render3DEvent;
|
||||
import dev.zprestige.prestige.gui.ClickGuiScreen;
|
||||
import dev.zprestige.prestige.gui.HudEditorScreen;
|
||||
import dev.zprestige.prestige.input.MouseManager;
|
||||
import dev.zprestige.prestige.network.PacketManager;
|
||||
import dev.zprestige.prestige.network.PacketQueue;
|
||||
import dev.zprestige.prestige.network.PingManager;
|
||||
import dev.zprestige.prestige.render.ESPUtil;
|
||||
import dev.zprestige.prestige.input.KeybindManager;
|
||||
import dev.zprestige.prestige.network.SilentSlotManager;
|
||||
import dev.zprestige.prestige.network.InventorySwapQueue;
|
||||
import dev.zprestige.prestige.network.TotemPopManager;
|
||||
import dev.zprestige.prestige.render.EspShaderManager;
|
||||
import dev.zprestige.prestige.render.FontManager;
|
||||
import dev.zprestige.prestige.render.MatrixStack;
|
||||
import dev.zprestige.prestige.render.RenderContract2;
|
||||
import dev.zprestige.prestige.render.RenderContract5;
|
||||
import dev.zprestige.prestige.render.RenderContract6;
|
||||
import dev.zprestige.prestige.render.RenderState;
|
||||
import dev.zprestige.prestige.render.RenderUtil;
|
||||
import dev.zprestige.prestige.render.Renderer2D;
|
||||
import dev.zprestige.prestige.render.Render2D;
|
||||
import dev.zprestige.prestige.render.MinecraftAccess;
|
||||
import dev.zprestige.prestige.render.RenderEvents;
|
||||
import dev.zprestige.prestige.render.RenderCallback;
|
||||
import dev.zprestige.prestige.render.ShapeRenderer;
|
||||
import dev.zprestige.prestige.render.RenderCore;
|
||||
import dev.zprestige.prestige.render.SilentRotationManager;
|
||||
import dev.zprestige.prestige.social.FriendManager;
|
||||
import dev.zprestige.prestige.util.BindManager;
|
||||
import dev.zprestige.prestige.util.Timer;
|
||||
import dev.zprestige.prestige.util.TpsTimer;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import dev.zprestige.prestige.util.SimulatedClickManager;
|
||||
import dev.zprestige.prestige.util.FrameDeltaTimer;
|
||||
import dev.zprestige.prestige.util.NotificationManager;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.screen.ChatScreen;
|
||||
|
||||
public class Prestige implements ModInitializer {
|
||||
private static final AtomicBoolean a = new AtomicBoolean(false);
|
||||
private static final AtomicBoolean initialized = new AtomicBoolean(false);
|
||||
public static EventBus eventBus;
|
||||
public static FontManager c;
|
||||
public static FontManager fontManager;
|
||||
public static ModuleManager moduleManager;
|
||||
public static ConfigManager e;
|
||||
public static DamageUtil f;
|
||||
public static FriendManager g;
|
||||
public static Timer h;
|
||||
public static TargetManager i;
|
||||
public static AimManager j;
|
||||
public static ClickGuiScreen k;
|
||||
public static HudEditorScreen l;
|
||||
public static EventManager m;
|
||||
public static TargetTracker n;
|
||||
public static Renderer2D o;
|
||||
public static RotationManager p;
|
||||
public static BindManager q;
|
||||
public static PingManager r;
|
||||
public static MouseManager s;
|
||||
public static PacketManager t;
|
||||
public static PacketQueue u;
|
||||
public static TpsTimer v;
|
||||
public static boolean w = false;
|
||||
private static Setting[] x;
|
||||
public static ConfigManager configManager;
|
||||
public static ExplosionDamageCalculator damageCalculator;
|
||||
public static FriendManager friendManager;
|
||||
public static FrameDeltaTimer frameDeltaTimer;
|
||||
public static BotFilter botFilter;
|
||||
public static ClickScheduler clickScheduler;
|
||||
public static ClickGuiScreen clickGuiScreen;
|
||||
public static HudEditorScreen hudEditorScreen;
|
||||
public static ModuleStateSync moduleStateSync;
|
||||
public static TargetTracker targetTracker;
|
||||
public static SilentRotationManager silentRotationManager;
|
||||
public static VisualRotationManager visualRotationManager;
|
||||
public static SimulatedClickManager simulatedClickManager;
|
||||
public static TotemPopManager totemPopManager;
|
||||
public static KeybindManager keybindManager;
|
||||
public static SilentSlotManager silentSlotManager;
|
||||
public static InventorySwapQueue inventorySwapQueue;
|
||||
public static NotificationManager notificationManager;
|
||||
public static boolean selfDestructed = false;
|
||||
|
||||
public void init() {
|
||||
b();
|
||||
boolean var34 = false;
|
||||
boolean partiallyInitialized = false;
|
||||
try {
|
||||
if (a.compareAndSet(false, true)) {
|
||||
if (initialized.compareAndSet(false, true)) {
|
||||
eventBus = new EventBus();
|
||||
moduleManager = new ModuleManager(121395157283000L);
|
||||
Native.a(moduleManager.getModules());
|
||||
c = new FontManager();
|
||||
e = new ConfigManager();
|
||||
f = new DamageUtil(41691316515293L);
|
||||
g = new FriendManager();
|
||||
h = new Timer(111601052018604L);
|
||||
i = new TargetManager(137451367958631L);
|
||||
j = new AimManager();
|
||||
k = new ClickGuiScreen();
|
||||
var34 = true;
|
||||
l = new HudEditorScreen(90003821237034L);
|
||||
m = new EventManager(53157928465092L);
|
||||
n = new TargetTracker(139559845293095L);
|
||||
o = new Renderer2D(112473680974252L);
|
||||
p = new RotationManager(101976830556898L);
|
||||
q = new BindManager(139206864016440L);
|
||||
r = new PingManager(57309624251050L);
|
||||
t = new PacketManager(117193470404248L);
|
||||
u = new PacketQueue(87229227786379L);
|
||||
s = new MouseManager(82291833307369L);
|
||||
v = new TpsTimer(55175676787666L);
|
||||
RenderUtil.g(new Object[]{Thread.currentThread()});
|
||||
RenderContract5.a
|
||||
moduleManager = new ModuleManager();
|
||||
Native.registerModules(moduleManager.getModules());
|
||||
fontManager = new FontManager();
|
||||
configManager = new ConfigManager();
|
||||
damageCalculator = new ExplosionDamageCalculator();
|
||||
friendManager = new FriendManager();
|
||||
frameDeltaTimer = new FrameDeltaTimer();
|
||||
botFilter = new BotFilter();
|
||||
clickScheduler = new ClickScheduler();
|
||||
clickGuiScreen = new ClickGuiScreen();
|
||||
partiallyInitialized = true;
|
||||
hudEditorScreen = new HudEditorScreen();
|
||||
moduleStateSync = new ModuleStateSync();
|
||||
targetTracker = new TargetTracker();
|
||||
silentRotationManager = new SilentRotationManager();
|
||||
visualRotationManager = new VisualRotationManager();
|
||||
simulatedClickManager = new SimulatedClickManager();
|
||||
totemPopManager = new TotemPopManager();
|
||||
silentSlotManager = new SilentSlotManager();
|
||||
inventorySwapQueue = new InventorySwapQueue();
|
||||
keybindManager = new KeybindManager();
|
||||
notificationManager = new NotificationManager();
|
||||
RenderCore.setRenderThread(Thread.currentThread());
|
||||
RenderEvents.HUD_RENDER
|
||||
.register(
|
||||
(RenderContract6)(lpL44_0, lpL44_1) -> {
|
||||
b();
|
||||
if (!w) {
|
||||
(RenderCallback)(hudRenderer, hudContext) -> {
|
||||
if (!selfDestructed) {
|
||||
if (MinecraftClient.getInstance().world != null && MinecraftClient.getInstance().player != null) {
|
||||
if ((RenderContract2.b.currentScreen == null || RenderContract2.b.currentScreen instanceof ChatScreen)
|
||||
&& eventBus.hasListeners(new Object[]{TickEvent25.class, 135978089436075L})) {
|
||||
new TickEvent25(((dev.zprestige.prestige.render.RenderHelper8)lpL44_0), ((dev.zprestige.prestige.data.MatrixCameraData)lpL44_1)).b_boolean__(new Object[]{122499962143880L});
|
||||
if ((MinecraftAccess.mc.currentScreen == null || MinecraftAccess.mc.currentScreen instanceof ChatScreen)
|
||||
&& eventBus.hasListeners(Render2DEvent.class)) {
|
||||
new Render2DEvent((hudRenderer), (hudContext)).post();
|
||||
}
|
||||
|
||||
new TickEvent24(((dev.zprestige.prestige.render.RenderHelper8)lpL44_0), ((dev.zprestige.prestige.data.MatrixCameraData)lpL44_1)).b_boolean__(new Object[]{122499962143880L});
|
||||
RenderState.b(new Object[]{93665931432117L});
|
||||
new FrameEvent((hudRenderer), (hudContext)).post();
|
||||
ShapeRenderer.flushDrawQueue();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
RenderContract5.b.register((RenderContract6)(lpL43_0, lpL43_1) -> {
|
||||
b();
|
||||
if (!w) {
|
||||
RenderEvents.WORLD_RENDER.register((RenderCallback)(worldRenderer, worldContext) -> {
|
||||
if (!selfDestructed) {
|
||||
if (MinecraftClient.getInstance().world != null && MinecraftClient.getInstance().player != null) {
|
||||
MatrixStack.a(new Object[]{14373979246969L});
|
||||
new TickEvent27(((dev.zprestige.prestige.render.RenderHelper8)lpL43_0), ((dev.zprestige.prestige.data.MatrixCameraData)lpL43_1)).b_boolean__(new Object[]{122499962143880L});
|
||||
Render2D.captureViewport();
|
||||
new Render3DEvent((worldRenderer), (worldContext)).post();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Throwable var35) {
|
||||
if (!var34) {
|
||||
a.set(false);
|
||||
} catch (Throwable error) {
|
||||
if (!partiallyInitialized) {
|
||||
initialized.set(false);
|
||||
}
|
||||
|
||||
var35.printStackTrace();
|
||||
error.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean a(Object[] var0) {
|
||||
long var1 = (Long)var0[0];
|
||||
var1 = 9499999619609L ^ var1;
|
||||
long var3 = var1 ^ 18103143018681L;
|
||||
b();
|
||||
return ESPUtil.e || eventBus != null && eventBus.hasListeners(new Object[]{TickEvent27.class, var3});
|
||||
public static boolean needsWorldRender() {
|
||||
return EspShaderManager.enabled || eventBus != null && eventBus.hasListeners(Render3DEvent.class);
|
||||
}
|
||||
|
||||
public static boolean b(Object[] var0) {
|
||||
long var1 = (Long)var0[0];
|
||||
var1 = 9499999619609L ^ var1;
|
||||
long var3 = var1 ^ 11198839193506L;
|
||||
long var5 = var1 ^ 39355797438358L;
|
||||
long var7 = var1 ^ 65000825783606L;
|
||||
long var9 = var1 ^ 20328730886810L;
|
||||
long var11 = var1 ^ 20640679731384L;
|
||||
b();
|
||||
public static boolean needsHudRender() {
|
||||
return eventBus == null
|
||||
? false
|
||||
: a(new Object[]{var5})
|
||||
|| eventBus.hasListeners(new Object[]{TickEvent25.class, var7})
|
||||
|| eventBus.hasListenerOfType(new Object[]{TickEvent24.class, Module.class, var11})
|
||||
|| l != null && l.c_boolean_(new Object[]{var3})
|
||||
|| v != null && v.a_boolean______________________________________________(new Object[]{var9});
|
||||
: needsWorldRender()
|
||||
|| eventBus.hasListeners(Render2DEvent.class)
|
||||
|| eventBus.hasListenerOfType(FrameEvent.class, Module.class)
|
||||
|| hudEditorScreen != null && hudEditorScreen.shouldRenderHud()
|
||||
|| notificationManager != null && notificationManager.hasNotifications();
|
||||
}
|
||||
|
||||
public static void a_void(Object[] var0) {
|
||||
long var1 = (Long)var0[0];
|
||||
var1 = 9499999619609L ^ var1;
|
||||
long var3 = var1 ^ 34804161661929L;
|
||||
b();
|
||||
if (!w && eventBus != null && RenderContract2.b.world != null && RenderContract2.b.player != null) {
|
||||
new TickEvent24(RenderUtil.b, null).b_boolean__(new Object[]{var3});
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
b(null);
|
||||
}
|
||||
|
||||
public static void b(Setting[] var0) {
|
||||
x = var0;
|
||||
}
|
||||
|
||||
public static Setting[] b() {
|
||||
return x;
|
||||
}
|
||||
|
||||
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;
|
||||
public static void postFrameEvent() {
|
||||
if (!selfDestructed && eventBus != null && MinecraftAccess.mc.world != null && MinecraftAccess.mc.player != null) {
|
||||
new FrameEvent(RenderCore.BUFFER_SOURCE, null).post();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,8 +149,4 @@ public class Prestige implements ModInitializer {
|
||||
public void onInitialize() {
|
||||
this.init();
|
||||
}
|
||||
|
||||
private static Throwable a(Throwable var0) {
|
||||
return var0;
|
||||
}
|
||||
}
|
||||
@@ -1,141 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderContract2;
|
||||
import dev.zprestige.prestige.render.RenderHelper10;
|
||||
import dev.zprestige.prestige.render.RenderHelper36;
|
||||
import dev.zprestige.prestige.render.RenderUtil5;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class AimManager implements RenderContract2 {
|
||||
private RenderHelper10 a = null;
|
||||
|
||||
public boolean a(Object[] var1) {
|
||||
long var2 = (Long)var1[0];
|
||||
var2 = 68553623989839L ^ var2;
|
||||
long var4 = var2 ^ 127895873690737L;
|
||||
if (this.a != null) {
|
||||
if ((float)(System.currentTimeMillis() - this.a.a_long_(new Object[0])) > this.a.a_float________________(new Object[0])
|
||||
&& !this.a.a_boolean_________________________________________(new Object[0])) {
|
||||
RenderHelper36 var10000 = new RenderHelper36(b.mouse);
|
||||
long var10001 = b.getWindow().getHandle();
|
||||
int var10002 = this.a.a(new Object[0]);
|
||||
Object[] var10007 = new Object[]{null, null, null, null, var4};
|
||||
var10007[3] = 0;
|
||||
var10007[2] = 1;
|
||||
var10007[1] = var10002;
|
||||
var10007[0] = var10001;
|
||||
var10000.a(var10007);
|
||||
this.a.a_void____________________(new Object[]{true});
|
||||
}
|
||||
|
||||
if ((float)(System.currentTimeMillis() - this.a.a_long_(new Object[0])) > this.a.a_float________________(new Object[0])
|
||||
&& (float)(System.currentTimeMillis() - this.a.a_long_(new Object[0]))
|
||||
> this.a.a_float________________(new Object[0]) + this.a.b(new Object[0])) {
|
||||
RenderHelper36 var7 = new RenderHelper36(b.mouse);
|
||||
long var8 = b.getWindow().getHandle();
|
||||
int var9 = this.a.a(new Object[0]);
|
||||
Object[] var10 = new Object[]{null, null, null, null, var4};
|
||||
var10[3] = 0;
|
||||
var10[2] = 0;
|
||||
var10[1] = var9;
|
||||
var10[0] = var8;
|
||||
var7.a(var10);
|
||||
this.a = null;
|
||||
}
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public void a_void_(Object[] var1) {
|
||||
int var4 = (Integer)var1[0];
|
||||
float var5 = (Float)var1[1];
|
||||
long var2 = (Long)var1[2];
|
||||
var2 = 68553623989839L ^ var2;
|
||||
long var6 = var2 ^ 21461094467110L;
|
||||
long var10004 = System.currentTimeMillis();
|
||||
Object[] var10010 = new Object[]{null, null, var6};
|
||||
var10010[1] = 15.0F;
|
||||
var10010[0] = 5.0F;
|
||||
float var10006 = RenderUtil5.a(var10010);
|
||||
Object[] var10011 = new Object[]{null, null, var6};
|
||||
var10011[1] = 55.0F;
|
||||
var10011[0] = 35.0F;
|
||||
float var10007 = RenderUtil5.a(var10011);
|
||||
var10010 = new Object[]{null, null, var6};
|
||||
var10010[1] = var10007;
|
||||
var10010[0] = var10006;
|
||||
this.a = new RenderHelper10(var4, var10004, var5, RenderUtil5.a(var10010), false);
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
|
||||
// $VF: synthetic class
|
||||
public class AutoArmorHelper {
|
||||
public static final int[] a = new int[EquipmentSlot.values().length];
|
||||
|
||||
static {
|
||||
try {
|
||||
a[EquipmentSlot.HEAD.ordinal()] = 1;
|
||||
} catch (NoSuchFieldError var3) {
|
||||
}
|
||||
|
||||
try {
|
||||
a[EquipmentSlot.CHEST.ordinal()] = 2;
|
||||
} catch (NoSuchFieldError var2) {
|
||||
}
|
||||
|
||||
try {
|
||||
a[EquipmentSlot.LEGS.ordinal()] = 3;
|
||||
} catch (NoSuchFieldError var1) {
|
||||
}
|
||||
|
||||
try {
|
||||
a[EquipmentSlot.FEET.ordinal()] = 4;
|
||||
} catch (NoSuchFieldError var0) {
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.Subscribe;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.event.BotCheckEvent;
|
||||
import dev.zprestige.prestige.event.ClientTickEvent;
|
||||
import dev.zprestige.prestige.event.GameJoinEvent;
|
||||
import dev.zprestige.prestige.event.AntiBotQueryEvent;
|
||||
import dev.zprestige.prestige.render.MinecraftAccess;
|
||||
import java.util.HashSet;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
|
||||
public class BotFilter implements MinecraftAccess {
|
||||
private final Set validatedPlayers;
|
||||
private final Map validityCache;
|
||||
|
||||
public BotFilter() {
|
||||
super();
|
||||
this.validatedPlayers = new HashSet();
|
||||
this.validityCache = new IdentityHashMap();
|
||||
Prestige.eventBus.register(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onClientTick(ClientTickEvent event) {
|
||||
this.validityCache.clear();
|
||||
if (!this.validatedPlayers.isEmpty()) {
|
||||
this.validatedPlayers.removeIf(player -> !((net.minecraft.entity.Entity)player).isAlive());
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onGameJoin(GameJoinEvent event) {
|
||||
this.validatedPlayers.clear();
|
||||
}
|
||||
|
||||
public void markValidated(PlayerEntity player) {
|
||||
this.validatedPlayers.add(player);
|
||||
}
|
||||
|
||||
public Set getValidatedPlayers() {
|
||||
return this.validatedPlayers;
|
||||
}
|
||||
|
||||
public boolean isValidTarget(Entity entity) {
|
||||
if (entity == mc.player) {
|
||||
return false;
|
||||
} else {
|
||||
Boolean cached = (Boolean)this.validityCache.get(entity);
|
||||
if (cached != null) {
|
||||
return cached;
|
||||
} else {
|
||||
boolean valid = this.checkValidTarget(entity);
|
||||
this.validityCache.put(entity, valid);
|
||||
return valid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkValidTarget(Entity entity) {
|
||||
if (!(entity instanceof PlayerEntity)) {
|
||||
return true;
|
||||
} else if (!Prestige.eventBus.hasListeners(AntiBotQueryEvent.class)) {
|
||||
return true;
|
||||
} else if (!new AntiBotQueryEvent().post()) {
|
||||
return true;
|
||||
} else {
|
||||
return Prestige.eventBus.hasListeners(BotCheckEvent.class) && new BotCheckEvent((PlayerEntity)entity).post()
|
||||
? false
|
||||
: this.validatedPlayers.contains(entity) && entity.isAlive();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.render.MinecraftAccess;
|
||||
import dev.zprestige.prestige.render.ScheduledClick;
|
||||
import dev.zprestige.prestige.render.MouseAccessor;
|
||||
import dev.zprestige.prestige.render.RandomUtil;
|
||||
|
||||
public class ClickScheduler implements MinecraftAccess {
|
||||
private ScheduledClick pendingClick = null;
|
||||
|
||||
public boolean processPendingClick() {
|
||||
if (this.pendingClick != null) {
|
||||
if ((float)(System.currentTimeMillis() - this.pendingClick.getScheduledAt()) > this.pendingClick.getPressDelay()
|
||||
&& !this.pendingClick.isPressed()) {
|
||||
new MouseAccessor(mc.mouse).invokeMouseButton(mc.getWindow().getHandle(), this.pendingClick.getButton(), 1, 0);
|
||||
this.pendingClick.setPressed(true);
|
||||
}
|
||||
|
||||
if ((float)(System.currentTimeMillis() - this.pendingClick.getScheduledAt()) > this.pendingClick.getPressDelay()
|
||||
&& (float)(System.currentTimeMillis() - this.pendingClick.getScheduledAt())
|
||||
> this.pendingClick.getPressDelay() + this.pendingClick.getHoldDuration()) {
|
||||
new MouseAccessor(mc.mouse).invokeMouseButton(mc.getWindow().getHandle(), this.pendingClick.getButton(), 0, 0);
|
||||
this.pendingClick = null;
|
||||
}
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public void scheduleClick(int button, float delayMs) {
|
||||
this.pendingClick = new ScheduledClick(button, System.currentTimeMillis(), delayMs, RandomUtil.randomFloat(RandomUtil.randomFloat(5.0F, 15.0F), RandomUtil.randomFloat(35.0F, 55.0F)), false);
|
||||
}
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public final class CombatHelper {
|
||||
public String a = "";
|
||||
public String b;
|
||||
public Color c = Color.WHITE;
|
||||
public int d;
|
||||
public int e;
|
||||
public boolean f;
|
||||
public float g;
|
||||
|
||||
public CombatHelper(long var1) {
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,94 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.reflect.FieldAccessor;
|
||||
import dev.zprestige.prestige.reflect.FieldValue;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
|
||||
public class CombatHelper2 {
|
||||
private final LivingEntity a;
|
||||
private static final String c = "jumpingCooldown";
|
||||
|
||||
public CombatHelper2(LivingEntity var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public void a(Object[] var1) {
|
||||
int var4 = (Integer)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
var2 = 55898427641531L ^ var2;
|
||||
long var5 = var2 ^ 35550231918533L;
|
||||
long var7 = var2 ^ 25339285087169L;
|
||||
FieldValue var9 = FieldAccessor.b(new Object[]{this.a, c, LivingEntity.class, int.class, var7});
|
||||
var9.a_void_____________(new Object[]{var4, var5});
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.reflect.FieldAccessor;
|
||||
import dev.zprestige.prestige.reflect.FieldValue;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
|
||||
public class CombatHelper3 {
|
||||
private final MinecraftClient a;
|
||||
|
||||
public CombatHelper3(MinecraftClient var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public int a(Object[] var1) {
|
||||
long var2 = (Long)var1[0];
|
||||
var2 = 20571854547171L ^ var2;
|
||||
long var4 = var2 ^ 50573642575059L;
|
||||
long var6 = var2 ^ 97271680844069L;
|
||||
FieldValue var8 = FieldAccessor.b(new Object[]{this.a, "itemUseCooldown", MinecraftClient.class, int.class, var6});
|
||||
return (Integer)var8.a(new Object[]{var4});
|
||||
}
|
||||
|
||||
public void a_void__(Object[] var1) {
|
||||
int var4 = (Integer)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
var2 = 20571854547171L ^ var2;
|
||||
long var5 = var2 ^ 36864578943679L;
|
||||
long var7 = var2 ^ 25124917358267L;
|
||||
FieldValue var9 = FieldAccessor.b(new Object[]{this.a, "itemUseCooldown", MinecraftClient.class, int.class, var7});
|
||||
var9.a_void_____________(new Object[]{var4, var5});
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,214 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import dev.zprestige.prestige.render.RenderContract2;
|
||||
import dev.zprestige.prestige.world.PositionUtil;
|
||||
import dev.zprestige.prestige.world.WorldUtil;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.minecraft.client.network.PlayerListEntry;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public class CombatUtil implements RenderContract2 {
|
||||
public static boolean a(Object[] var0) {
|
||||
Entity var1 = (Entity)var0[0];
|
||||
long var2 = (Long)var0[1];
|
||||
var2 = 42632450102655L ^ var2;
|
||||
long var4 = var2 ^ 57986789991100L;
|
||||
if (var1 instanceof PlayerEntity) {
|
||||
return true;
|
||||
} else if (var1 instanceof LivingEntity && b.getNetworkHandler() != null) {
|
||||
String var7 = var1.getName().getString();
|
||||
|
||||
for (PlayerListEntry var9 : b.getNetworkHandler().getPlayerList()) {
|
||||
if (PositionUtil.a_String________(new Object[]{var9.getProfile(), var4}).equals(var7)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static PlayerEntity a_class_1657(Object[] var0) {
|
||||
long var1 = (Long)var0[0];
|
||||
var1 = 42632450102655L ^ var1;
|
||||
long var3 = var1 ^ 69502222699245L;
|
||||
long var5 = var1 ^ 27342419042136L;
|
||||
PlayerEntity var8 = null;
|
||||
Event.b();
|
||||
|
||||
for (PlayerEntity var10 : b.world.getPlayers()) {
|
||||
if (var10.isAlive()
|
||||
&& !var10.equals(b.player)
|
||||
&& !Prestige.g.a(new Object[]{var10.getName().getString(), var3})
|
||||
&& Prestige.i.a_boolean_(new Object[]{var10, var5})
|
||||
&& (var8 == null || b.player.squaredDistanceTo(var10) < b.player.squaredDistanceTo(var8))) {
|
||||
var8 = var10;
|
||||
}
|
||||
}
|
||||
|
||||
return var8;
|
||||
}
|
||||
|
||||
public static PlayerEntity b(Object[] var0) {
|
||||
float var1 = (Float)var0[0];
|
||||
long var2 = (Long)var0[1];
|
||||
var2 = 42632450102655L ^ var2;
|
||||
long var4 = var2 ^ 92283722434249L;
|
||||
long var6 = var2 ^ 57728975127273L;
|
||||
long var8 = var2 ^ 127570764469116L;
|
||||
long var10 = var2 ^ 70986972797420L;
|
||||
Event.b();
|
||||
PlayerEntity var13 = null;
|
||||
|
||||
for (PlayerEntity var15 : b.world.getPlayers()) {
|
||||
if (var15.isAlive()
|
||||
&& !var15.equals(b.player)
|
||||
&& !Prestige.g.a(new Object[]{var15.getName().getString(), var4})
|
||||
&& Prestige.i.a_boolean_(new Object[]{var15, var8})
|
||||
&& (var13 == null || b.player.squaredDistanceTo(var15) < b.player.squaredDistanceTo(var13))
|
||||
&& !(WorldUtil.a(new Object[]{WorldUtil.a_RenderBatch_(new Object[]{var15.getEyePos(), var10}), var6}) > var1)) {
|
||||
var13 = var15;
|
||||
}
|
||||
}
|
||||
|
||||
return var13;
|
||||
}
|
||||
|
||||
public static Entity a_class_1297(Object[] var0) {
|
||||
long var1 = (Long)var0[0];
|
||||
var1 = 42632450102655L ^ var1;
|
||||
long var3 = var1 ^ 20222013439035L;
|
||||
long var5 = var1 ^ 58876846827918L;
|
||||
Entity var8 = null;
|
||||
Event.b();
|
||||
|
||||
for (Entity var10 : b.world.getEntities()) {
|
||||
if (var10.isAlive()
|
||||
&& !var10.equals(b.player)
|
||||
&& !Prestige.g.a(new Object[]{var10.getName().getString(), var3})
|
||||
&& var10.isAttackable()
|
||||
&& Prestige.i.a_boolean_(new Object[]{var10, var5})
|
||||
&& (var8 == null || b.player.squaredDistanceTo(var10) < b.player.squaredDistanceTo(var8))) {
|
||||
var8 = var10;
|
||||
}
|
||||
}
|
||||
|
||||
return var8;
|
||||
}
|
||||
|
||||
public static boolean b_boolean(Object[] var0) {
|
||||
PlayerEntity var1 = (PlayerEntity)var0[0];
|
||||
long var2 = (Long)var0[1];
|
||||
var2 = 42632450102655L ^ var2;
|
||||
long var4 = var2 ^ 91326150591869L;
|
||||
return (
|
||||
var1.getMainHandStack().getItem() == Items.SHIELD
|
||||
|| var1.getOffHandStack().getItem() == Items.SHIELD && var1.getMainHandStack().get(DataComponentTypes.FOOD) == null
|
||||
)
|
||||
&& var1.isUsingItem()
|
||||
&& !c(new Object[]{var1, var4});
|
||||
}
|
||||
|
||||
private static boolean c(Object[] var0) {
|
||||
PlayerEntity var3 = (PlayerEntity)var0[0];
|
||||
long var1 = (Long)var0[1];
|
||||
var1 = 42632450102655L ^ var1;
|
||||
long var4 = var1 ^ 105124625454497L;
|
||||
long var6 = var1 ^ 10499210163888L;
|
||||
if (b.player != null && var3 != null) {
|
||||
Vec3d var9 = PositionUtil.b(new Object[]{var6});
|
||||
Vec3d var10 = PositionUtil.a(new Object[]{var3, var4});
|
||||
Vec3d var11 = var9.subtract(var10).normalize();
|
||||
float var12 = var3.getYaw();
|
||||
float var13 = var3.getPitch();
|
||||
Vec3d var14 = new Vec3d(
|
||||
-Math.sin(Math.toRadians(var12)) * Math.cos(Math.toRadians(var13)),
|
||||
-Math.sin(Math.toRadians(var13)),
|
||||
Math.cos(Math.toRadians(var12)) * Math.cos(Math.toRadians(var13))
|
||||
)
|
||||
.normalize();
|
||||
double var15 = var14.dotProduct(var11);
|
||||
return var15 < 0.0;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,230 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.inventory.InventoryUtil;
|
||||
import dev.zprestige.prestige.render.RenderHelper26;
|
||||
import dev.zprestige.prestige.type.BlockBreakType;
|
||||
import dev.zprestige.prestige.world.WorldUtil2;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.EnumSet;
|
||||
import java.util.function.Predicate;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.decoration.EndCrystalEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.state.property.Properties;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public final class CombatUtil2 {
|
||||
private static final MinecraftClient a = MinecraftClient.getInstance();
|
||||
private static final int b = 5;
|
||||
private static final double c = 5.0;
|
||||
public static final RenderHelper26 d = new RenderHelper26(null, 0.0F, 0.0F);
|
||||
|
||||
private CombatUtil2() {
|
||||
}
|
||||
|
||||
public static RenderHelper26 a(Object[] var0) {
|
||||
PlayerEntity var1 = (PlayerEntity)var0[0];
|
||||
EnumSet var4 = (EnumSet)var0[1];
|
||||
float var5 = (Float)var0[2];
|
||||
long var2 = (Long)var0[3];
|
||||
var2 = 5849964192769L ^ var2;
|
||||
long var6 = var2 ^ 34097876804470L;
|
||||
long var8 = var2 ^ 86803075311893L;
|
||||
long var10 = var2 ^ 13231043016274L;
|
||||
long var12 = var2 ^ 33321315552121L;
|
||||
long var14 = var2 ^ 45904547140773L;
|
||||
if (a.player != null && a.world != null && var1 != null) {
|
||||
RenderHelper26 var17 = d;
|
||||
if (var4.contains(BlockBreakType.CRYSTAL)) {
|
||||
for (Entity var19 : a.world.getEntities()) {
|
||||
if (var19 instanceof EndCrystalEntity) {
|
||||
float var20 = (float)Prestige.f.a(new Object[]{a.player, var19.getBlockPos().toCenterPos(), var10});
|
||||
BlockBreakType var10001 = BlockBreakType.CRYSTAL;
|
||||
Object[] var10006 = new Object[]{null, null, null, null, var6};
|
||||
var10006[3] = var5;
|
||||
var10006[2] = var20;
|
||||
var10006[1] = var10001;
|
||||
var10006[0] = var17;
|
||||
var17 = c(var10006);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var4.contains(BlockBreakType.ANCHOR)) {
|
||||
Object[] var10004 = new Object[]{
|
||||
null,
|
||||
(Predicate<BlockPos>)lpL319_0 -> a_boolean(new Object[]{var1, ((net.minecraft.util.math.BlockPos)lpL319_0), 127524255025262L})
|
||||
&& a.world.getBlockState(((net.minecraft.util.math.BlockPos)lpL319_0)).getBlock() == Blocks.RESPAWN_ANCHOR
|
||||
&& a.world.getBlockState(((net.minecraft.util.math.BlockPos)lpL319_0)).get(Properties.CHARGES) != 0,
|
||||
var8
|
||||
};
|
||||
var10004[0] = 5;
|
||||
|
||||
for (BlockPos var28 : (Iterable<BlockPos>)(WorldUtil2.a_List___(var10004))) {
|
||||
float var21 = (float)Prestige.f.k(new Object[]{a.player, var28.toCenterPos(), var14});
|
||||
BlockBreakType var31 = BlockBreakType.ANCHOR;
|
||||
Object[] var35 = new Object[]{null, null, null, null, var6};
|
||||
var35[3] = var5;
|
||||
var35[2] = var21;
|
||||
var35[1] = var31;
|
||||
var35[0] = var17;
|
||||
var17 = c(var35);
|
||||
}
|
||||
}
|
||||
|
||||
if (var4.contains(BlockBreakType.OBSIDIAN) && !a.player.isOnGround()) {
|
||||
Object[] var34 = new Object[]{
|
||||
null,
|
||||
(Predicate<BlockPos>)lpL318_0 -> ((net.minecraft.util.math.BlockPos)lpL318_0).getY() < a.player.getY()
|
||||
&& a_boolean(new Object[]{var1, ((net.minecraft.util.math.BlockPos)lpL318_0), 127524255025262L})
|
||||
&& a.world.getBlockState(((net.minecraft.util.math.BlockPos)lpL318_0)).getBlock() == Blocks.OBSIDIAN
|
||||
&& a.world.getBlockState(((net.minecraft.util.math.BlockPos)lpL318_0).up()).getBlock() == Blocks.AIR,
|
||||
var8
|
||||
};
|
||||
var34[0] = 5;
|
||||
|
||||
for (BlockPos var29 : (Iterable<BlockPos>)(WorldUtil2.a_List___(var34))) {
|
||||
float var30 = (float)Prestige.f.a(new Object[]{a.player, var29.up().toCenterPos(), var10});
|
||||
BlockBreakType var32 = BlockBreakType.OBSIDIAN;
|
||||
Object[] var36 = new Object[]{null, null, null, null, var6};
|
||||
var36[3] = var5;
|
||||
var36[2] = var30;
|
||||
var36[1] = var32;
|
||||
var36[0] = var17;
|
||||
var17 = c(var36);
|
||||
}
|
||||
}
|
||||
|
||||
if (var4.contains(BlockBreakType.MACE)) {
|
||||
float var25 = a_float(new Object[]{var1, var12});
|
||||
if (var25 > 0.0F) {
|
||||
BlockBreakType var33 = BlockBreakType.MACE;
|
||||
Object[] var37 = new Object[]{null, null, null, null, var6};
|
||||
var37[3] = var5;
|
||||
var37[2] = var25;
|
||||
var37[1] = var33;
|
||||
var37[0] = var17;
|
||||
var17 = c(var37);
|
||||
}
|
||||
}
|
||||
|
||||
return var17;
|
||||
} else {
|
||||
return d;
|
||||
}
|
||||
}
|
||||
|
||||
public static RenderHelper26 b(Object[] var0) {
|
||||
PlayerEntity var4 = (PlayerEntity)var0[0];
|
||||
EnumSet var1 = (EnumSet)var0[1];
|
||||
long var2 = (Long)var0[2];
|
||||
var2 = 5849964192769L ^ var2;
|
||||
long var5 = var2 ^ 29537693058044L;
|
||||
Object[] var10005 = new Object[]{null, null, null, var5};
|
||||
var10005[2] = 1.0F;
|
||||
var10005[1] = var1;
|
||||
var10005[0] = var4;
|
||||
return a(var10005);
|
||||
}
|
||||
|
||||
public static float a_float(Object[] var0) {
|
||||
PlayerEntity var1 = (PlayerEntity)var0[0];
|
||||
long var2 = (Long)var0[1];
|
||||
var2 = 5849964192769L ^ var2;
|
||||
long var4 = var2 ^ 43436368200278L;
|
||||
return InventoryUtil.o(new Object[]{var1.getMainHandStack(), var4}) && !(var1.fallDistance <= 1.5) && !(var1.getY() <= a.player.getY())
|
||||
? (float)(6.0 + var1.fallDistance * 5.0)
|
||||
: 0.0F;
|
||||
}
|
||||
|
||||
private static boolean a_boolean(Object[] var0) {
|
||||
PlayerEntity var4 = (PlayerEntity)var0[0];
|
||||
BlockPos var3 = (BlockPos)var0[1];
|
||||
return var4.squaredDistanceTo(var3.getX() + 0.5, var3.getY() + 0.5, var3.getZ() + 0.5) < 25.0;
|
||||
}
|
||||
|
||||
private static RenderHelper26 c(Object[] var0) {
|
||||
RenderHelper26 var6 = (RenderHelper26)var0[0];
|
||||
BlockBreakType var1 = (BlockBreakType)var0[1];
|
||||
float var4 = (Float)var0[2];
|
||||
float var5 = (Float)var0[3];
|
||||
if (var4 <= 0.0F) {
|
||||
return var6;
|
||||
} else {
|
||||
float var8 = var4 * var1.confidence * var5;
|
||||
return var8 <= var6.c ? var6 : new RenderHelper26(var1, var4, var8);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,723 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.Subscribe;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.data.DoubleBoolData;
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import dev.zprestige.prestige.event.TickEvent3;
|
||||
import dev.zprestige.prestige.math.MathHelper3;
|
||||
import dev.zprestige.prestige.render.RenderContract2;
|
||||
import dev.zprestige.prestige.world.PositionUtil;
|
||||
import dev.zprestige.prestige.world.WorldHelper;
|
||||
import dev.zprestige.prestige.world.WorldHelper10;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMaps;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.component.type.AttributeModifierSlot;
|
||||
import net.minecraft.component.type.ItemEnchantmentsComponent;
|
||||
import net.minecraft.enchantment.Enchantments;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.attribute.EntityAttributes;
|
||||
import net.minecraft.entity.damage.DamageSource;
|
||||
import net.minecraft.entity.effect.StatusEffects;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.registry.RegistryKey;
|
||||
import net.minecraft.registry.entry.RegistryEntry;
|
||||
import net.minecraft.registry.tag.DamageTypeTags;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.hit.HitResult.Type;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Box;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.shape.VoxelShape;
|
||||
import net.minecraft.util.shape.VoxelShapes;
|
||||
import net.minecraft.world.BlockView;
|
||||
import net.minecraft.world.GameMode;
|
||||
import net.minecraft.world.RaycastContext;
|
||||
import net.minecraft.world.RaycastContext.FluidHandling;
|
||||
import net.minecraft.world.RaycastContext.ShapeType;
|
||||
import net.minecraft.world.explosion.Explosion;
|
||||
|
||||
public class DamageUtil implements RenderContract2 {
|
||||
private final Vec3d a;
|
||||
private Explosion c;
|
||||
private RaycastContext d;
|
||||
private volatile long e;
|
||||
private final ConcurrentHashMap f;
|
||||
private static final ThreadLocal g = ThreadLocal.withInitial(Object2IntOpenHashMap::new);
|
||||
private static final long i = Long.MIN_VALUE;
|
||||
|
||||
public DamageUtil(long var1) {
|
||||
super();
|
||||
var1 = 0L;
|
||||
var1 = 18350856574938L ^ var1;
|
||||
long var3 = var1 ^ 91927560072961L;
|
||||
this.a = new Vec3d(0.0, 0.0, 0.0);
|
||||
this.e = i;
|
||||
this.f = new ConcurrentHashMap();
|
||||
Prestige.eventBus.register(new Object[]{this, var3});
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void a(TickEvent3 var1) {
|
||||
this.d = new RaycastContext(null, null, ShapeType.COLLIDER, FluidHandling.ANY, b.player);
|
||||
}
|
||||
|
||||
public double a(Object[] var1) {
|
||||
LivingEntity var5 = (LivingEntity)var1[0];
|
||||
Vec3d var4 = (Vec3d)var1[1];
|
||||
long var2 = (Long)var1[2];
|
||||
var2 = 18350856574938L ^ var2;
|
||||
long var6 = var2 ^ 62045040412105L;
|
||||
Object[] var10008 = new Object[]{null, null, null, null, null, var6};
|
||||
var10008[4] = false;
|
||||
var10008[3] = null;
|
||||
var10008[2] = false;
|
||||
var10008[1] = var4;
|
||||
var10008[0] = var5;
|
||||
return this.b(var10008);
|
||||
}
|
||||
|
||||
public double b(Object[] var1) {
|
||||
LivingEntity var2 = (LivingEntity)var1[0];
|
||||
Vec3d var4 = (Vec3d)var1[1];
|
||||
boolean var7 = (Boolean)var1[2];
|
||||
BlockPos var3 = (BlockPos)var1[3];
|
||||
boolean var8 = (Boolean)var1[4];
|
||||
long var5 = (Long)var1[5];
|
||||
var5 = 18350856574938L ^ var5;
|
||||
long var9 = var5 ^ 60394376658852L;
|
||||
Event.b();
|
||||
long var12 = b.world.getTime();
|
||||
if (var12 != this.e) {
|
||||
this.f.clear();
|
||||
this.e = var12;
|
||||
}
|
||||
|
||||
DoubleBoolData var14 = new DoubleBoolData(var2, var4.x, var4.y, var4.z, var7, var3, var8);
|
||||
Double var15 = (Double)this.f.get(var14);
|
||||
if (var15 != null) {
|
||||
return var15;
|
||||
} else {
|
||||
Object[] var10008 = new Object[]{null, null, null, null, null, var9};
|
||||
var10008[4] = var8;
|
||||
var10008[3] = var3;
|
||||
var10008[2] = var7;
|
||||
var10008[1] = var4;
|
||||
var10008[0] = var2;
|
||||
double var16 = this.c(var10008);
|
||||
this.f.put(var14, var16);
|
||||
return var16;
|
||||
}
|
||||
}
|
||||
|
||||
private double c(Object[] var1) {
|
||||
LivingEntity var2 = (LivingEntity)var1[0];
|
||||
Vec3d var7 = (Vec3d)var1[1];
|
||||
boolean var3 = (Boolean)var1[2];
|
||||
BlockPos var4 = (BlockPos)var1[3];
|
||||
boolean var8 = (Boolean)var1[4];
|
||||
long var5 = (Long)var1[5];
|
||||
var5 = 18350856574938L ^ var5;
|
||||
long var9 = var5 ^ 70663714774065L;
|
||||
long var11 = var5 ^ 116854953095835L;
|
||||
long var13 = var5 ^ 140262527072875L;
|
||||
long var15 = var5 ^ 45612110305298L;
|
||||
long var17 = var5 ^ 23558358614720L;
|
||||
long var19 = var5 ^ 125910066054471L;
|
||||
if (var2 instanceof PlayerEntity
|
||||
&& b.getNetworkHandler().getPlayerListEntry(var2.getUuid()) != null
|
||||
&& b.getNetworkHandler().getPlayerListEntry(var2.getUuid()).getGameMode() == GameMode.CREATIVE) {
|
||||
return 0.0;
|
||||
} else {
|
||||
Vec3d var22 = PositionUtil.a(new Object[]{var2, var11});
|
||||
MathHelper3 var10000 = new MathHelper3(this.a);
|
||||
double var10001 = var22.x;
|
||||
double var10002 = var22.y;
|
||||
double var10003 = var22.z;
|
||||
Object[] var10006 = new Object[]{null, null, null, var15};
|
||||
var10006[2] = var10003;
|
||||
var10006[1] = var10002;
|
||||
var10006[0] = var10001;
|
||||
var10000.d(var10006);
|
||||
if (var3) {
|
||||
var10000 = new MathHelper3(this.a);
|
||||
var10001 = this.a.x + var2.getVelocity().x;
|
||||
var10002 = this.a.y + var2.getVelocity().y;
|
||||
var10003 = this.a.z + var2.getVelocity().z;
|
||||
var10006 = new Object[]{null, null, null, var15};
|
||||
var10006[2] = var10003;
|
||||
var10006[1] = var10002;
|
||||
var10006[0] = var10001;
|
||||
var10000.d(var10006);
|
||||
}
|
||||
|
||||
double var23 = Math.sqrt(this.a.squaredDistanceTo(var7));
|
||||
if (var23 > 12.0) {
|
||||
return 0.0;
|
||||
} else {
|
||||
RaycastContext var10004 = this.d;
|
||||
Object[] var10012 = new Object[]{null, null, null, null, null, null, null, null, null, var9};
|
||||
var10012[5] = var8;
|
||||
var10012[4] = var4;
|
||||
var10012[3] = var10004;
|
||||
var10012[2] = var3;
|
||||
var10012[1] = var2;
|
||||
var10012[0] = var7;
|
||||
double var25 = this.o(var10012);
|
||||
double var27 = (1.0 - var23 / 12.0) * var25;
|
||||
double var29 = (var27 * var27 + var27) / 2.0 * 7.0 * 12.0 + 1.0;
|
||||
Object[] var40 = new Object[]{null, var17};
|
||||
var40[0] = var29;
|
||||
var29 = this.m(var40);
|
||||
var29 = net.minecraft.entity.DamageUtil.getDamageLeft(
|
||||
var2,
|
||||
(float)var29,
|
||||
b.world.getDamageSources().explosion(null),
|
||||
var2.getArmor(),
|
||||
(float)var2.getAttributeInstance(EntityAttributes.ARMOR_TOUGHNESS).getValue()
|
||||
);
|
||||
Object[] var10005 = new Object[]{null, null, var19};
|
||||
var10005[1] = var29;
|
||||
var10005[0] = var2;
|
||||
var29 = this.n(var10005);
|
||||
var10005 = new Object[]{null, null, b.world.getDamageSources().explosion(null), var13};
|
||||
var10005[1] = var29;
|
||||
var10005[0] = var2;
|
||||
var29 = j(var10005);
|
||||
return var29 < 0.0 ? 0.0 : var29;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double d(Object[] var1) {
|
||||
LivingEntity var3 = (LivingEntity)var1[0];
|
||||
Vec3d var7 = (Vec3d)var1[1];
|
||||
Vec3d var6 = (Vec3d)var1[2];
|
||||
BlockPos var2 = (BlockPos)var1[3];
|
||||
long var4 = (Long)var1[4];
|
||||
var4 = 18350856574938L ^ var4;
|
||||
long var8 = var4 ^ 140583619040745L;
|
||||
long var10 = var4 ^ 38438316372702L;
|
||||
long var12 = var4 ^ 60626111085102L;
|
||||
long var14 = var4 ^ 107516225165399L;
|
||||
long var16 = var4 ^ 103216323854981L;
|
||||
long var18 = var4 ^ 63983453963522L;
|
||||
if (var3 instanceof PlayerEntity
|
||||
&& b.getNetworkHandler().getPlayerListEntry(var3.getUuid()) != null
|
||||
&& b.getNetworkHandler().getPlayerListEntry(var3.getUuid()).getGameMode() == GameMode.CREATIVE) {
|
||||
return 0.0;
|
||||
} else {
|
||||
MathHelper3 var10000 = new MathHelper3(this.a);
|
||||
double var10001 = var6.x;
|
||||
double var10002 = var6.y;
|
||||
double var10003 = var6.z;
|
||||
Object[] var10006 = new Object[]{null, null, null, var14};
|
||||
var10006[2] = var10003;
|
||||
var10006[1] = var10002;
|
||||
var10006[0] = var10001;
|
||||
var10000.d(var10006);
|
||||
double var21 = Math.sqrt(this.a.squaredDistanceTo(var7));
|
||||
if (var21 > 12.0) {
|
||||
return 0.0;
|
||||
} else {
|
||||
Vec3d var23 = var6.subtract(PositionUtil.a(new Object[]{var3, var10}));
|
||||
RaycastContext var10004 = this.d;
|
||||
Object[] var10012 = new Object[]{null, null, null, null, null, null, null, null, null, var8};
|
||||
var10012[5] = false;
|
||||
var10012[4] = var2;
|
||||
var10012[3] = var10004;
|
||||
var10012[2] = var23;
|
||||
var10012[1] = var3;
|
||||
var10012[0] = var7;
|
||||
double var24 = this.p(var10012);
|
||||
double var26 = (1.0 - var21 / 12.0) * var24;
|
||||
double var28 = (var26 * var26 + var26) / 2.0 * 7.0 * 12.0 + 1.0;
|
||||
Object[] var35 = new Object[]{null, var16};
|
||||
var35[0] = var28;
|
||||
var28 = this.m(var35);
|
||||
var28 = net.minecraft.entity.DamageUtil.getDamageLeft(
|
||||
var3,
|
||||
(float)var28,
|
||||
b.world.getDamageSources().explosion(null),
|
||||
var3.getArmor(),
|
||||
(float)var3.getAttributeInstance(EntityAttributes.ARMOR_TOUGHNESS).getValue()
|
||||
);
|
||||
Object[] var10005 = new Object[]{null, null, var18};
|
||||
var10005[1] = var28;
|
||||
var10005[0] = var3;
|
||||
var28 = this.n(var10005);
|
||||
var10005 = new Object[]{null, null, b.world.getDamageSources().explosion(null), var12};
|
||||
var10005[1] = var28;
|
||||
var10005[0] = var3;
|
||||
var28 = j(var10005);
|
||||
return var28 < 0.0 ? 0.0 : var28;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private double f(Object[] var1) {
|
||||
LivingEntity var2 = (LivingEntity)var1[0];
|
||||
Vec3d var4 = (Vec3d)var1[1];
|
||||
BlockPos var5 = (BlockPos)var1[2];
|
||||
BlockPos var3 = (BlockPos)var1[3];
|
||||
BlockState var8 = (BlockState)var1[4];
|
||||
long var6 = (Long)var1[5];
|
||||
var6 = 18350856574938L ^ var6;
|
||||
long var9 = var6 ^ 137608125675640L;
|
||||
long var11 = var6 ^ 73609917046306L;
|
||||
long var13 = var6 ^ 44044175812233L;
|
||||
long var15 = var6 ^ 87825474003214L;
|
||||
if (var2 instanceof PlayerEntity && ((PlayerEntity)var2).getAbilities().creativeMode) {
|
||||
return 0.0;
|
||||
} else {
|
||||
double var18 = Math.sqrt(var2.squaredDistanceTo(var4));
|
||||
if (var18 > 10.0) {
|
||||
return 0.0;
|
||||
} else {
|
||||
RaycastContext var10004 = this.d;
|
||||
Object[] var10012 = new Object[]{null, null, null, null, null, null, var5, var3, var8, var9};
|
||||
var10012[5] = false;
|
||||
var10012[4] = null;
|
||||
var10012[3] = var10004;
|
||||
var10012[2] = false;
|
||||
var10012[1] = var2;
|
||||
var10012[0] = var4;
|
||||
double var20 = this.o(var10012);
|
||||
double var22 = (1.0 - var18 / 10.0) * var20;
|
||||
double var24 = (var22 * var22 + var22) / 2.0 * 7.0 * 10.0 + 1.0;
|
||||
Object[] var31 = new Object[]{null, var13};
|
||||
var31[0] = var24;
|
||||
var24 = this.m(var31);
|
||||
Object[] var10005 = new Object[]{null, null, var15};
|
||||
var10005[1] = var24;
|
||||
var10005[0] = var2;
|
||||
var24 = this.n(var10005);
|
||||
var24 = net.minecraft.entity.DamageUtil.getDamageLeft(
|
||||
var2,
|
||||
(float)var24,
|
||||
b.world.getDamageSources().explosion(null),
|
||||
var2.getArmor(),
|
||||
(float)var2.getAttributeInstance(EntityAttributes.ARMOR_TOUGHNESS).getValue()
|
||||
);
|
||||
var10005 = new Object[]{null, null, b.world.getDamageSources().explosion(null), var11};
|
||||
var10005[1] = var24;
|
||||
var10005[0] = var2;
|
||||
var24 = j(var10005);
|
||||
return var24 < 0.0 ? 0.0 : var24;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double g(Object[] var1) {
|
||||
LivingEntity var2 = (LivingEntity)var1[0];
|
||||
Vec3d var7 = (Vec3d)var1[1];
|
||||
double var3 = (Double)var1[2];
|
||||
long var5 = (Long)var1[3];
|
||||
var5 = 18350856574938L ^ var5;
|
||||
long var8 = var5 ^ 50002521674027L;
|
||||
Object[] var10009 = new Object[]{null, null, null, null, null, null, var8};
|
||||
var10009[2] = var3;
|
||||
var10009[1] = var7;
|
||||
var10009[0] = var2;
|
||||
return this.i(var10009);
|
||||
}
|
||||
|
||||
public double h(Object[] var1) {
|
||||
LivingEntity var5 = (LivingEntity)var1[0];
|
||||
Vec3d var3 = (Vec3d)var1[1];
|
||||
double var7 = (Double)var1[2];
|
||||
BlockPos var6 = (BlockPos)var1[3];
|
||||
BlockPos var2 = (BlockPos)var1[4];
|
||||
BlockState var4 = (BlockState)var1[5];
|
||||
long var9 = (Long)var1[6];
|
||||
var9 = 18350856574938L ^ var9;
|
||||
long var11 = var9 ^ 93789556771378L;
|
||||
Object[] var10009 = new Object[]{null, null, null, var6, var2, var4, var11};
|
||||
var10009[2] = var7;
|
||||
var10009[1] = var3;
|
||||
var10009[0] = var5;
|
||||
return this.i(var10009);
|
||||
}
|
||||
|
||||
private double i(Object[] var1) {
|
||||
LivingEntity var10 = (LivingEntity)var1[0];
|
||||
Vec3d var8 = (Vec3d)var1[1];
|
||||
double var6 = (Double)var1[2];
|
||||
BlockPos var4 = (BlockPos)var1[3];
|
||||
BlockPos var9 = (BlockPos)var1[4];
|
||||
BlockState var5 = (BlockState)var1[5];
|
||||
long var2 = (Long)var1[6];
|
||||
var2 = 18350856574938L ^ var2;
|
||||
long var11 = var2 ^ 79313669683112L;
|
||||
long var13 = var2 ^ 131904361501170L;
|
||||
long var15 = var2 ^ 31933369002329L;
|
||||
long var17 = var2 ^ 135126957141726L;
|
||||
if (var10 instanceof PlayerEntity && ((PlayerEntity)var10).getAbilities().creativeMode) {
|
||||
return 0.0;
|
||||
} else {
|
||||
double var20 = 4.0 + 1.5 * Math.min(var6, 5.0);
|
||||
double var22 = Math.sqrt(var10.squaredDistanceTo(var8));
|
||||
if (var22 > var20 * 2.0) {
|
||||
return 0.0;
|
||||
} else {
|
||||
RaycastContext var10004 = this.d;
|
||||
Object[] var10012 = new Object[]{null, null, null, null, null, null, null, var9, var5, var11};
|
||||
var10012[5] = false;
|
||||
var10012[4] = var4;
|
||||
var10012[3] = var10004;
|
||||
var10012[2] = false;
|
||||
var10012[1] = var10;
|
||||
var10012[0] = var8;
|
||||
double var24 = this.o(var10012);
|
||||
double var26 = (1.0 - var22 / (var20 * 2.0)) * var24;
|
||||
double var28 = (var26 * var26 + var26) / 2.0 * 7.0 * (var20 * 2.0) + 1.0;
|
||||
Object[] var35 = new Object[]{null, var15};
|
||||
var35[0] = var28;
|
||||
var28 = this.m(var35);
|
||||
Object[] var10005 = new Object[]{null, null, var17};
|
||||
var10005[1] = var28;
|
||||
var10005[0] = var10;
|
||||
var28 = this.n(var10005);
|
||||
var28 = net.minecraft.entity.DamageUtil.getDamageLeft(
|
||||
var10,
|
||||
(float)var28,
|
||||
b.world.getDamageSources().explosion(null),
|
||||
var10.getArmor(),
|
||||
(float)var10.getAttributeInstance(EntityAttributes.ARMOR_TOUGHNESS).getValue()
|
||||
);
|
||||
var10005 = new Object[]{null, null, b.world.getDamageSources().explosion(null), var13};
|
||||
var10005[1] = var28;
|
||||
var10005[0] = var10;
|
||||
var28 = j(var10005);
|
||||
return var28 < 0.0 ? 0.0 : var28;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static double j(Object[] var0) {
|
||||
LivingEntity var3 = (LivingEntity)var0[0];
|
||||
double var1 = (Double)var0[1];
|
||||
DamageSource var6 = (DamageSource)var0[2];
|
||||
long var4 = (Long)var0[3];
|
||||
var4 = 18350856574938L ^ var4;
|
||||
long var7 = var4 ^ 63254382195539L;
|
||||
long var9 = var4 ^ 137971209152305L;
|
||||
if (var6.isIn(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
||||
return var1;
|
||||
} else {
|
||||
int var12 = 0;
|
||||
Object2IntMap var13 = (Object2IntMap)g.get();
|
||||
|
||||
for (EquipmentSlot var15 : AttributeModifierSlot.ARMOR) {
|
||||
ItemStack var16 = var3.getEquippedStack(var15);
|
||||
a_void___(new Object[]{var16, var13, var7});
|
||||
int var17 = a_int(new Object[]{var13, Enchantments.PROTECTION, var9});
|
||||
if (var17 > 0) {
|
||||
var12 += var17;
|
||||
}
|
||||
|
||||
int var18 = a_int(new Object[]{var13, Enchantments.FIRE_PROTECTION, var9});
|
||||
if (var18 > 0 && var6.isIn(DamageTypeTags.IS_FIRE)) {
|
||||
var12 += 2 * var18;
|
||||
}
|
||||
|
||||
int var19 = a_int(new Object[]{var13, Enchantments.BLAST_PROTECTION, var9});
|
||||
if (var19 > 0 && var6.isIn(DamageTypeTags.IS_EXPLOSION)) {
|
||||
var12 += 2 * var19;
|
||||
}
|
||||
|
||||
int var20 = a_int(new Object[]{var13, Enchantments.PROJECTILE_PROTECTION, var9});
|
||||
if (var20 > 0 && var6.isIn(DamageTypeTags.IS_PROJECTILE)) {
|
||||
var12 += 2 * var20;
|
||||
}
|
||||
|
||||
int var21 = a_int(new Object[]{var13, Enchantments.FEATHER_FALLING, var9});
|
||||
if (var21 > 0 && var6.isIn(DamageTypeTags.IS_FALL)) {
|
||||
var12 += 3 * var21;
|
||||
}
|
||||
}
|
||||
|
||||
return net.minecraft.entity.DamageUtil.getInflictedDamage((float)var1, var12);
|
||||
}
|
||||
}
|
||||
|
||||
public static void a_void___(Object[] var0) {
|
||||
ItemStack var4 = (ItemStack)var0[0];
|
||||
Object2IntMap var1 = (Object2IntMap)var0[1];
|
||||
Event.b();
|
||||
var1.clear();
|
||||
if (!var4.isEmpty()) {
|
||||
for (Entry var8 : var4.getItem() == Items.ENCHANTED_BOOK
|
||||
? var4.getOrDefault(DataComponentTypes.STORED_ENCHANTMENTS, ItemEnchantmentsComponent.DEFAULT).getEnchantmentEntries()
|
||||
: var4.getEnchantments().getEnchantmentEntries()) {
|
||||
var1.put((RegistryEntry)var8.getKey(), var8.getIntValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static int a_int(Object[] var0) {
|
||||
Object2IntMap var4 = (Object2IntMap)var0[0];
|
||||
RegistryKey var1 = (RegistryKey)var0[1];
|
||||
Event.b();
|
||||
|
||||
for (Entry var7 : (Iterable<Entry>)(Object2IntMaps.fastIterable(var4))) {
|
||||
if (((RegistryEntry)var7.getKey()).matchesKey(var1)) {
|
||||
return var7.getIntValue();
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public double k(Object[] var1) {
|
||||
LivingEntity var2 = (LivingEntity)var1[0];
|
||||
Vec3d var3 = (Vec3d)var1[1];
|
||||
long var4 = (Long)var1[2];
|
||||
var4 = 18350856574938L ^ var4;
|
||||
long var6 = var4 ^ 7577744648969L;
|
||||
return this.f(new Object[]{var2, var3, BlockPos.ofFloored(var3), null, null, var6});
|
||||
}
|
||||
|
||||
public double l(Object[] var1) {
|
||||
LivingEntity var6 = (LivingEntity)var1[0];
|
||||
Vec3d var4 = (Vec3d)var1[1];
|
||||
BlockPos var5 = (BlockPos)var1[2];
|
||||
BlockState var7 = (BlockState)var1[3];
|
||||
long var2 = (Long)var1[4];
|
||||
var2 = 18350856574938L ^ var2;
|
||||
long var8 = var2 ^ 64892925663312L;
|
||||
return this.f(new Object[]{var6, var4, BlockPos.ofFloored(var4), var5, var7, var8});
|
||||
}
|
||||
|
||||
private double m(Object[] var1) {
|
||||
double var2 = (Double)var1[0];
|
||||
|
||||
return switch (WorldHelper.a[b.world.getDifficulty().ordinal()]) {
|
||||
case 1 -> 0.0;
|
||||
case 2 -> Math.min(var2 / 2.0 + 1.0, var2);
|
||||
case 3 -> var2 * 3.0 / 2.0;
|
||||
default -> var2;
|
||||
};
|
||||
}
|
||||
|
||||
private double n(Object[] var1) {
|
||||
LivingEntity var2 = (LivingEntity)var1[0];
|
||||
double var3 = (Double)var1[1];
|
||||
Event.b();
|
||||
double var8 = var3;
|
||||
if (var2.hasStatusEffect(StatusEffects.RESISTANCE)) {
|
||||
int var10 = var2.getStatusEffect(StatusEffects.RESISTANCE).getAmplifier() + 1;
|
||||
var8 = var3 * (1.0 - var10 * 0.2);
|
||||
}
|
||||
|
||||
return var8 < 0.0 ? 0.0 : var8;
|
||||
}
|
||||
|
||||
private double o(Object[] var1) {
|
||||
Vec3d var5 = (Vec3d)var1[0];
|
||||
Entity var8 = (Entity)var1[1];
|
||||
boolean var9 = (Boolean)var1[2];
|
||||
RaycastContext var10 = (RaycastContext)var1[3];
|
||||
BlockPos var6 = (BlockPos)var1[4];
|
||||
boolean var3 = (Boolean)var1[5];
|
||||
BlockPos var4 = (BlockPos)var1[6];
|
||||
BlockPos var7 = (BlockPos)var1[7];
|
||||
BlockState var2 = (BlockState)var1[8];
|
||||
long var11 = (Long)var1[9];
|
||||
var11 = 18350856574938L ^ var11;
|
||||
long var13 = var11 ^ 113914657529415L;
|
||||
Vec3d var10003 = var9 ? var8.getVelocity() : null;
|
||||
Object[] var10012 = new Object[]{null, null, null, null, null, null, var4, var7, var2, var13};
|
||||
var10012[5] = var3;
|
||||
var10012[4] = var6;
|
||||
var10012[3] = var10;
|
||||
var10012[2] = var10003;
|
||||
var10012[1] = var8;
|
||||
var10012[0] = var5;
|
||||
return this.p(var10012);
|
||||
}
|
||||
|
||||
private double p(Object[] var1) {
|
||||
Vec3d var3 = (Vec3d)var1[0];
|
||||
Entity var8 = (Entity)var1[1];
|
||||
Vec3d var4 = (Vec3d)var1[2];
|
||||
RaycastContext var10 = (RaycastContext)var1[3];
|
||||
BlockPos var5 = (BlockPos)var1[4];
|
||||
boolean var2 = (Boolean)var1[5];
|
||||
BlockPos var9 = (BlockPos)var1[6];
|
||||
BlockPos var11 = (BlockPos)var1[7];
|
||||
BlockState var12 = (BlockState)var1[8];
|
||||
long var6 = (Long)var1[9];
|
||||
var6 = 18350856574938L ^ var6;
|
||||
long var13 = var6 ^ 54174853893221L;
|
||||
long var15 = var6 ^ 53612852969307L;
|
||||
long var17 = var6 ^ 16104425364068L;
|
||||
Event.b();
|
||||
Box var20 = var8.getBoundingBox();
|
||||
if (var4 != null) {
|
||||
var20 = var20.offset(var4.x, var4.y, var4.z);
|
||||
}
|
||||
|
||||
double var21 = 1.0 / ((var20.maxX - var20.minX) * 2.0 + 1.0);
|
||||
double var23 = 1.0 / ((var20.maxY - var20.minY) * 2.0 + 1.0);
|
||||
double var25 = 1.0 / ((var20.maxZ - var20.minZ) * 2.0 + 1.0);
|
||||
double var27 = (1.0 - Math.floor(1.0 / var21) * var21) / 2.0;
|
||||
double var29 = (1.0 - Math.floor(1.0 / var25) * var25) / 2.0;
|
||||
if (var21 >= 0.0 && var23 >= 0.0 && var25 >= 0.0) {
|
||||
int var31 = 0;
|
||||
int var32 = 0;
|
||||
MathHelper3 var33 = new MathHelper3(this.a);
|
||||
WorldHelper10 var34 = new WorldHelper10(var10);
|
||||
|
||||
for (double var35 = 0.0; var35 <= 1.0; var35 += var21) {
|
||||
for (double var37 = 0.0; var37 <= 1.0; var37 += var23) {
|
||||
for (double var39 = 0.0; var39 <= 1.0; var39 += var25) {
|
||||
double var41 = MathHelper.lerp(var35, var20.minX, var20.maxX);
|
||||
double var43 = MathHelper.lerp(var37, var20.minY, var20.maxY);
|
||||
double var45 = MathHelper.lerp(var39, var20.minZ, var20.maxZ);
|
||||
double var10001 = var41 + var27;
|
||||
double var10003 = var45 + var29;
|
||||
Object[] var10006 = new Object[]{null, null, null, var17};
|
||||
var10006[2] = var10003;
|
||||
var10006[1] = var43;
|
||||
var10006[0] = var10001;
|
||||
var33.d(var10006);
|
||||
var34.f(new Object[]{this.a, var3, ShapeType.COLLIDER, FluidHandling.NONE, var8, var15});
|
||||
Object[] var10009 = new Object[]{null, null, null, var9, var11, var12, var13};
|
||||
var10009[2] = var2;
|
||||
var10009[1] = var5;
|
||||
var10009[0] = var10;
|
||||
if (this.a_class_3965(var10009).getType() == Type.MISS) {
|
||||
var31++;
|
||||
}
|
||||
|
||||
var32++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (double)var31 / var32;
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
private BlockHitResult a_class_3965(Object[] var1) {
|
||||
RaycastContext var7 = (RaycastContext)var1[0];
|
||||
BlockPos var8 = (BlockPos)var1[1];
|
||||
boolean var9 = (Boolean)var1[2];
|
||||
BlockPos var5 = (BlockPos)var1[3];
|
||||
BlockPos var2 = (BlockPos)var1[4];
|
||||
BlockState var6 = (BlockState)var1[5];
|
||||
return BlockView.raycast(var7.getStart(), var7.getEnd(), var7, (lpL1_0, lpL1_1) -> {
|
||||
BlockState var10;
|
||||
if (var5 != null && ((net.minecraft.util.math.BlockPos)lpL1_1).equals(var5)) {
|
||||
var10 = Blocks.AIR.getDefaultState();
|
||||
} else if (var2 != null && ((net.minecraft.util.math.BlockPos)lpL1_1).equals(var2)) {
|
||||
var10 = var6;
|
||||
} else if (((net.minecraft.util.math.BlockPos)lpL1_1).equals(var8)) {
|
||||
var10 = Blocks.OBSIDIAN.getDefaultState();
|
||||
} else {
|
||||
var10 = b.world.getBlockState(((net.minecraft.util.math.BlockPos)lpL1_1));
|
||||
if (var10.getBlock().getBlastResistance() < 600.0F && var9) {
|
||||
var10 = Blocks.AIR.getDefaultState();
|
||||
}
|
||||
}
|
||||
|
||||
Vec3d var11 = ((net.minecraft.world.RaycastContext)lpL1_0).getStart();
|
||||
Vec3d var12 = ((net.minecraft.world.RaycastContext)lpL1_0).getEnd();
|
||||
VoxelShape var13 = ((net.minecraft.world.RaycastContext)lpL1_0).getBlockShape(var10, b.world, ((net.minecraft.util.math.BlockPos)lpL1_1));
|
||||
BlockHitResult var14 = b.world.raycastBlock(var11, var12, ((net.minecraft.util.math.BlockPos)lpL1_1), var13, var10);
|
||||
VoxelShape var15 = VoxelShapes.empty();
|
||||
BlockHitResult var16 = var15.raycast(var11, var12, ((net.minecraft.util.math.BlockPos)lpL1_1));
|
||||
double var17 = var14 == null ? Double.MAX_VALUE : ((net.minecraft.world.RaycastContext)lpL1_0).getStart().squaredDistanceTo(var14.getPos());
|
||||
double var19 = var16 == null ? Double.MAX_VALUE : ((net.minecraft.world.RaycastContext)lpL1_0).getStart().squaredDistanceTo(var16.getPos());
|
||||
return var17 <= var19 ? var14 : var16;
|
||||
}, lpL0_0 -> {
|
||||
Vec3d var3 = ((net.minecraft.world.RaycastContext)lpL0_0).getStart().subtract(((net.minecraft.world.RaycastContext)lpL0_0).getEnd());
|
||||
return BlockHitResult.createMissed(((net.minecraft.world.RaycastContext)lpL0_0).getEnd(), Direction.getFacing(var3.x, var3.y, var3.z), BlockPos.ofFloored(((net.minecraft.world.RaycastContext)lpL0_0).getEnd()));
|
||||
});
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
|
||||
// $VF: synthetic class
|
||||
public class EquipmentSlotSwitchMap {
|
||||
public static final int[] SWITCH_MAP = new int[EquipmentSlot.values().length];
|
||||
|
||||
static {
|
||||
try {
|
||||
SWITCH_MAP[EquipmentSlot.HEAD.ordinal()] = 1;
|
||||
} catch (NoSuchFieldError headMissing) {
|
||||
}
|
||||
|
||||
try {
|
||||
SWITCH_MAP[EquipmentSlot.CHEST.ordinal()] = 2;
|
||||
} catch (NoSuchFieldError chestMissing) {
|
||||
}
|
||||
|
||||
try {
|
||||
SWITCH_MAP[EquipmentSlot.LEGS.ordinal()] = 3;
|
||||
} catch (NoSuchFieldError legsMissing) {
|
||||
}
|
||||
|
||||
try {
|
||||
SWITCH_MAP[EquipmentSlot.FEET.ordinal()] = 4;
|
||||
} catch (NoSuchFieldError feetMissing) {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,371 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.Subscribe;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.data.ExplosionDamageKey;
|
||||
import dev.zprestige.prestige.event.GameJoinEvent;
|
||||
import dev.zprestige.prestige.math.Vec3dMutator;
|
||||
import dev.zprestige.prestige.render.MinecraftAccess;
|
||||
import dev.zprestige.prestige.world.PositionUtil;
|
||||
import dev.zprestige.prestige.world.DifficultySwitchMap;
|
||||
import dev.zprestige.prestige.world.RaycastContextAccessor;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMaps;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.component.type.AttributeModifierSlot;
|
||||
import net.minecraft.component.type.ItemEnchantmentsComponent;
|
||||
import net.minecraft.enchantment.Enchantments;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.attribute.EntityAttributes;
|
||||
import net.minecraft.entity.damage.DamageSource;
|
||||
import net.minecraft.entity.effect.StatusEffects;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.registry.RegistryKey;
|
||||
import net.minecraft.registry.entry.RegistryEntry;
|
||||
import net.minecraft.registry.tag.DamageTypeTags;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.hit.HitResult.Type;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Box;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.shape.VoxelShape;
|
||||
import net.minecraft.util.shape.VoxelShapes;
|
||||
import net.minecraft.world.BlockView;
|
||||
import net.minecraft.world.GameMode;
|
||||
import net.minecraft.world.RaycastContext;
|
||||
import net.minecraft.world.RaycastContext.FluidHandling;
|
||||
import net.minecraft.world.RaycastContext.ShapeType;
|
||||
|
||||
public class ExplosionDamageCalculator implements MinecraftAccess {
|
||||
private final Vec3d scratchPos;
|
||||
private RaycastContext raycastContext;
|
||||
private volatile long cacheTime;
|
||||
private final ConcurrentHashMap damageCache;
|
||||
private static final ThreadLocal ENCHANTMENT_BUFFER = ThreadLocal.withInitial(Object2IntOpenHashMap::new);
|
||||
private static final long NO_CACHE_TIME = Long.MIN_VALUE;
|
||||
|
||||
public ExplosionDamageCalculator() {
|
||||
super();
|
||||
this.scratchPos = new Vec3d(0.0, 0.0, 0.0);
|
||||
this.cacheTime = NO_CACHE_TIME;
|
||||
this.damageCache = new ConcurrentHashMap();
|
||||
Prestige.eventBus.register(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onGameJoin(GameJoinEvent event) {
|
||||
this.raycastContext = new RaycastContext(null, null, ShapeType.COLLIDER, FluidHandling.ANY, mc.player);
|
||||
}
|
||||
|
||||
public double getCrystalDamage(LivingEntity target, Vec3d crystalPos) {
|
||||
return this.getCrystalDamage(target, crystalPos, false, null, false);
|
||||
}
|
||||
|
||||
public double getCrystalDamage(LivingEntity target, Vec3d crystalPos, boolean predictMotion, BlockPos obsidianPos, boolean ignoreTerrain) {
|
||||
long worldTime = mc.world.getTime();
|
||||
if (worldTime != this.cacheTime) {
|
||||
this.damageCache.clear();
|
||||
this.cacheTime = worldTime;
|
||||
}
|
||||
|
||||
ExplosionDamageKey cacheKey = new ExplosionDamageKey(target, crystalPos.x, crystalPos.y, crystalPos.z, predictMotion, obsidianPos, ignoreTerrain);
|
||||
Double cached = (Double)this.damageCache.get(cacheKey);
|
||||
if (cached != null) {
|
||||
return cached;
|
||||
} else {
|
||||
double damage = this.computeCrystalDamage(target, crystalPos, predictMotion, obsidianPos, ignoreTerrain);
|
||||
this.damageCache.put(cacheKey, damage);
|
||||
return damage;
|
||||
}
|
||||
}
|
||||
|
||||
private double computeCrystalDamage(LivingEntity target, Vec3d crystalPos, boolean predictMotion, BlockPos obsidianPos, boolean ignoreTerrain) {
|
||||
if (target instanceof PlayerEntity
|
||||
&& mc.getNetworkHandler().getPlayerListEntry(target.getUuid()) != null
|
||||
&& mc.getNetworkHandler().getPlayerListEntry(target.getUuid()).getGameMode() == GameMode.CREATIVE) {
|
||||
return 0.0;
|
||||
} else {
|
||||
Vec3d targetPos = PositionUtil.getEntityPos(target);
|
||||
new Vec3dMutator(this.scratchPos).set(targetPos.x, targetPos.y, targetPos.z);
|
||||
if (predictMotion) {
|
||||
new Vec3dMutator(this.scratchPos).set(this.scratchPos.x + target.getVelocity().x, this.scratchPos.y + target.getVelocity().y, this.scratchPos.z + target.getVelocity().z);
|
||||
}
|
||||
|
||||
double distance = Math.sqrt(this.scratchPos.squaredDistanceTo(crystalPos));
|
||||
if (distance > 12.0) {
|
||||
return 0.0;
|
||||
} else {
|
||||
double exposure = this.getExposure(crystalPos, target, predictMotion, this.raycastContext, obsidianPos, ignoreTerrain, null, null, null);
|
||||
double impact = (1.0 - distance / 12.0) * exposure;
|
||||
double damage = (impact * impact + impact) / 2.0 * 7.0 * 12.0 + 1.0;
|
||||
damage = this.scaleByDifficulty(damage);
|
||||
damage = net.minecraft.entity.DamageUtil.getDamageLeft(
|
||||
target,
|
||||
(float)damage,
|
||||
mc.world.getDamageSources().explosion(null),
|
||||
target.getArmor(),
|
||||
(float)target.getAttributeInstance(EntityAttributes.ARMOR_TOUGHNESS).getValue()
|
||||
);
|
||||
damage = this.applyResistance(target, damage);
|
||||
damage = applyProtectionEnchantments(target, damage, mc.world.getDamageSources().explosion(null));
|
||||
return damage < 0.0 ? 0.0 : damage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double getCrystalDamageAt(LivingEntity target, Vec3d crystalPos, Vec3d predictedPos, BlockPos obsidianPos) {
|
||||
if (target instanceof PlayerEntity
|
||||
&& mc.getNetworkHandler().getPlayerListEntry(target.getUuid()) != null
|
||||
&& mc.getNetworkHandler().getPlayerListEntry(target.getUuid()).getGameMode() == GameMode.CREATIVE) {
|
||||
return 0.0;
|
||||
} else {
|
||||
new Vec3dMutator(this.scratchPos).set(predictedPos.x, predictedPos.y, predictedPos.z);
|
||||
double distance = Math.sqrt(this.scratchPos.squaredDistanceTo(crystalPos));
|
||||
if (distance > 12.0) {
|
||||
return 0.0;
|
||||
} else {
|
||||
double exposure = this.getExposureWithOffset(crystalPos, target, predictedPos.subtract(PositionUtil.getEntityPos(target)), this.raycastContext, obsidianPos, false, null, null, null);
|
||||
double impact = (1.0 - distance / 12.0) * exposure;
|
||||
double damage = (impact * impact + impact) / 2.0 * 7.0 * 12.0 + 1.0;
|
||||
damage = this.scaleByDifficulty(damage);
|
||||
damage = net.minecraft.entity.DamageUtil.getDamageLeft(
|
||||
target,
|
||||
(float)damage,
|
||||
mc.world.getDamageSources().explosion(null),
|
||||
target.getArmor(),
|
||||
(float)target.getAttributeInstance(EntityAttributes.ARMOR_TOUGHNESS).getValue()
|
||||
);
|
||||
damage = this.applyResistance(target, damage);
|
||||
damage = applyProtectionEnchantments(target, damage, mc.world.getDamageSources().explosion(null));
|
||||
return damage < 0.0 ? 0.0 : damage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private double computeAnchorDamage(LivingEntity target, Vec3d anchorPos, BlockPos anchorBlockPos, BlockPos placedBlockPos, BlockState placedBlockState) {
|
||||
if (target instanceof PlayerEntity && ((PlayerEntity)target).getAbilities().creativeMode) {
|
||||
return 0.0;
|
||||
} else {
|
||||
double distance = Math.sqrt(target.squaredDistanceTo(anchorPos));
|
||||
if (distance > 10.0) {
|
||||
return 0.0;
|
||||
} else {
|
||||
double exposure = this.getExposure(anchorPos, target, false, this.raycastContext, null, false, anchorBlockPos, placedBlockPos, placedBlockState);
|
||||
double impact = (1.0 - distance / 10.0) * exposure;
|
||||
double damage = (impact * impact + impact) / 2.0 * 7.0 * 10.0 + 1.0;
|
||||
damage = this.scaleByDifficulty(damage);
|
||||
damage = this.applyResistance(target, damage);
|
||||
damage = net.minecraft.entity.DamageUtil.getDamageLeft(
|
||||
target,
|
||||
(float)damage,
|
||||
mc.world.getDamageSources().explosion(null),
|
||||
target.getArmor(),
|
||||
(float)target.getAttributeInstance(EntityAttributes.ARMOR_TOUGHNESS).getValue()
|
||||
);
|
||||
damage = applyProtectionEnchantments(target, damage, mc.world.getDamageSources().explosion(null));
|
||||
return damage < 0.0 ? 0.0 : damage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double getTntCartDamage(LivingEntity target, Vec3d cartPos, double cartSpeed) {
|
||||
return this.computeTntCartDamage(target, cartPos, cartSpeed, null, null, null);
|
||||
}
|
||||
|
||||
public double getTntCartDamage(LivingEntity target, Vec3d cartPos, double cartSpeed, BlockPos obsidianPos, BlockPos placedBlockPos, BlockState placedBlockState) {
|
||||
return this.computeTntCartDamage(target, cartPos, cartSpeed, obsidianPos, placedBlockPos, placedBlockState);
|
||||
}
|
||||
|
||||
private double computeTntCartDamage(LivingEntity target, Vec3d cartPos, double cartSpeed, BlockPos obsidianPos, BlockPos placedBlockPos, BlockState placedBlockState) {
|
||||
if (target instanceof PlayerEntity && ((PlayerEntity)target).getAbilities().creativeMode) {
|
||||
return 0.0;
|
||||
} else {
|
||||
double power = 4.0 + 1.5 * Math.min(cartSpeed, 5.0);
|
||||
double distance = Math.sqrt(target.squaredDistanceTo(cartPos));
|
||||
if (distance > power * 2.0) {
|
||||
return 0.0;
|
||||
} else {
|
||||
double exposure = this.getExposure(cartPos, target, false, this.raycastContext, obsidianPos, false, null, placedBlockPos, placedBlockState);
|
||||
double impact = (1.0 - distance / (power * 2.0)) * exposure;
|
||||
double damage = (impact * impact + impact) / 2.0 * 7.0 * (power * 2.0) + 1.0;
|
||||
damage = this.scaleByDifficulty(damage);
|
||||
damage = this.applyResistance(target, damage);
|
||||
damage = net.minecraft.entity.DamageUtil.getDamageLeft(
|
||||
target,
|
||||
(float)damage,
|
||||
mc.world.getDamageSources().explosion(null),
|
||||
target.getArmor(),
|
||||
(float)target.getAttributeInstance(EntityAttributes.ARMOR_TOUGHNESS).getValue()
|
||||
);
|
||||
damage = applyProtectionEnchantments(target, damage, mc.world.getDamageSources().explosion(null));
|
||||
return damage < 0.0 ? 0.0 : damage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static double applyProtectionEnchantments(LivingEntity target, double damage, DamageSource source) {
|
||||
if (source.isIn(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
||||
return damage;
|
||||
} else {
|
||||
int protectionFactor = 0;
|
||||
Object2IntMap enchantments = (Object2IntMap)ENCHANTMENT_BUFFER.get();
|
||||
|
||||
for (EquipmentSlot slot : AttributeModifierSlot.ARMOR) {
|
||||
collectEnchantments(target.getEquippedStack(slot), enchantments);
|
||||
int protection = getEnchantmentLevel(enchantments, Enchantments.PROTECTION);
|
||||
if (protection > 0) {
|
||||
protectionFactor += protection;
|
||||
}
|
||||
|
||||
int fireProtection = getEnchantmentLevel(enchantments, Enchantments.FIRE_PROTECTION);
|
||||
if (fireProtection > 0 && source.isIn(DamageTypeTags.IS_FIRE)) {
|
||||
protectionFactor += 2 * fireProtection;
|
||||
}
|
||||
|
||||
int blastProtection = getEnchantmentLevel(enchantments, Enchantments.BLAST_PROTECTION);
|
||||
if (blastProtection > 0 && source.isIn(DamageTypeTags.IS_EXPLOSION)) {
|
||||
protectionFactor += 2 * blastProtection;
|
||||
}
|
||||
|
||||
int projectileProtection = getEnchantmentLevel(enchantments, Enchantments.PROJECTILE_PROTECTION);
|
||||
if (projectileProtection > 0 && source.isIn(DamageTypeTags.IS_PROJECTILE)) {
|
||||
protectionFactor += 2 * projectileProtection;
|
||||
}
|
||||
|
||||
int featherFalling = getEnchantmentLevel(enchantments, Enchantments.FEATHER_FALLING);
|
||||
if (featherFalling > 0 && source.isIn(DamageTypeTags.IS_FALL)) {
|
||||
protectionFactor += 3 * featherFalling;
|
||||
}
|
||||
}
|
||||
|
||||
return net.minecraft.entity.DamageUtil.getInflictedDamage((float)damage, protectionFactor);
|
||||
}
|
||||
}
|
||||
|
||||
public static void collectEnchantments(ItemStack stack, Object2IntMap enchantments) {
|
||||
enchantments.clear();
|
||||
if (!stack.isEmpty()) {
|
||||
for (Entry entry : stack.getItem() == Items.ENCHANTED_BOOK
|
||||
? stack.getOrDefault(DataComponentTypes.STORED_ENCHANTMENTS, ItemEnchantmentsComponent.DEFAULT).getEnchantmentEntries()
|
||||
: stack.getEnchantments().getEnchantmentEntries()) {
|
||||
enchantments.put((RegistryEntry)entry.getKey(), entry.getIntValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static int getEnchantmentLevel(Object2IntMap enchantments, RegistryKey enchantmentKey) {
|
||||
for (Entry entry : (Iterable<Entry>)(Object2IntMaps.fastIterable(enchantments))) {
|
||||
if (((RegistryEntry)entry.getKey()).matchesKey(enchantmentKey)) {
|
||||
return entry.getIntValue();
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public double getAnchorDamage(LivingEntity target, Vec3d anchorPos) {
|
||||
return this.computeAnchorDamage(target, anchorPos, BlockPos.ofFloored(anchorPos), null, null);
|
||||
}
|
||||
|
||||
public double getAnchorDamage(LivingEntity target, Vec3d anchorPos, BlockPos placedBlockPos, BlockState placedBlockState) {
|
||||
return this.computeAnchorDamage(target, anchorPos, BlockPos.ofFloored(anchorPos), placedBlockPos, placedBlockState);
|
||||
}
|
||||
|
||||
private double scaleByDifficulty(double damage) {
|
||||
return switch (DifficultySwitchMap.CASE_BY_ORDINAL[mc.world.getDifficulty().ordinal()]) {
|
||||
case 1 -> 0.0;
|
||||
case 2 -> Math.min(damage / 2.0 + 1.0, damage);
|
||||
case 3 -> damage * 3.0 / 2.0;
|
||||
default -> damage;
|
||||
};
|
||||
}
|
||||
|
||||
private double applyResistance(LivingEntity target, double damage) {
|
||||
double reduced = damage;
|
||||
if (target.hasStatusEffect(StatusEffects.RESISTANCE)) {
|
||||
reduced = damage * (1.0 - (target.getStatusEffect(StatusEffects.RESISTANCE).getAmplifier() + 1) * 0.2);
|
||||
}
|
||||
|
||||
return reduced < 0.0 ? 0.0 : reduced;
|
||||
}
|
||||
|
||||
private double getExposure(Vec3d source, Entity entity, boolean predictMotion, RaycastContext context, BlockPos obsidianPos, boolean ignoreTerrain, BlockPos airPos, BlockPos placedBlockPos, BlockState placedBlockState) {
|
||||
return this.getExposureWithOffset(source, entity, predictMotion ? entity.getVelocity() : null, context, obsidianPos, ignoreTerrain, airPos, placedBlockPos, placedBlockState);
|
||||
}
|
||||
|
||||
private double getExposureWithOffset(Vec3d source, Entity entity, Vec3d boxOffset, RaycastContext context, BlockPos obsidianPos, boolean ignoreTerrain, BlockPos airPos, BlockPos placedBlockPos, BlockState placedBlockState) {
|
||||
Box box = entity.getBoundingBox();
|
||||
if (boxOffset != null) {
|
||||
box = box.offset(boxOffset.x, boxOffset.y, boxOffset.z);
|
||||
}
|
||||
|
||||
double stepX = 1.0 / ((box.maxX - box.minX) * 2.0 + 1.0);
|
||||
double stepY = 1.0 / ((box.maxY - box.minY) * 2.0 + 1.0);
|
||||
double stepZ = 1.0 / ((box.maxZ - box.minZ) * 2.0 + 1.0);
|
||||
double offsetX = (1.0 - Math.floor(1.0 / stepX) * stepX) / 2.0;
|
||||
double offsetZ = (1.0 - Math.floor(1.0 / stepZ) * stepZ) / 2.0;
|
||||
if (stepX >= 0.0 && stepY >= 0.0 && stepZ >= 0.0) {
|
||||
int unobstructed = 0;
|
||||
int samples = 0;
|
||||
Vec3dMutator sampleSetter = new Vec3dMutator(this.scratchPos);
|
||||
RaycastContextAccessor contextSetter = new RaycastContextAccessor(context);
|
||||
|
||||
for (double fracX = 0.0; fracX <= 1.0; fracX += stepX) {
|
||||
for (double fracY = 0.0; fracY <= 1.0; fracY += stepY) {
|
||||
for (double fracZ = 0.0; fracZ <= 1.0; fracZ += stepZ) {
|
||||
sampleSetter.set(MathHelper.lerp(fracX, box.minX, box.maxX) + offsetX, MathHelper.lerp(fracY, box.minY, box.maxY), MathHelper.lerp(fracZ, box.minZ, box.maxZ) + offsetZ);
|
||||
contextSetter.setAll(this.scratchPos, source, ShapeType.COLLIDER, FluidHandling.NONE, entity);
|
||||
if (this.raycastWithOverrides(context, obsidianPos, ignoreTerrain, airPos, placedBlockPos, placedBlockState).getType() == Type.MISS) {
|
||||
unobstructed++;
|
||||
}
|
||||
|
||||
samples++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (double)unobstructed / samples;
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
private BlockHitResult raycastWithOverrides(RaycastContext context, BlockPos obsidianPos, boolean ignoreTerrain, BlockPos airPos, BlockPos placedBlockPos, BlockState placedBlockState) {
|
||||
return BlockView.raycast(context.getStart(), context.getEnd(), context, (ctx, blockPos) -> {
|
||||
BlockState state;
|
||||
if (airPos != null && blockPos.equals(airPos)) {
|
||||
state = Blocks.AIR.getDefaultState();
|
||||
} else if (placedBlockPos != null && blockPos.equals(placedBlockPos)) {
|
||||
state = placedBlockState;
|
||||
} else if (blockPos.equals(obsidianPos)) {
|
||||
state = Blocks.OBSIDIAN.getDefaultState();
|
||||
} else {
|
||||
state = mc.world.getBlockState(blockPos);
|
||||
if (state.getBlock().getBlastResistance() < 600.0F && ignoreTerrain) {
|
||||
state = Blocks.AIR.getDefaultState();
|
||||
}
|
||||
}
|
||||
|
||||
Vec3d start = ctx.getStart();
|
||||
Vec3d end = ctx.getEnd();
|
||||
VoxelShape shape = ctx.getBlockShape(state, mc.world, blockPos);
|
||||
BlockHitResult blockHit = mc.world.raycastBlock(start, end, blockPos, shape, state);
|
||||
BlockHitResult emptyHit = VoxelShapes.empty().raycast(start, end, blockPos);
|
||||
return (blockHit == null ? Double.MAX_VALUE : ctx.getStart().squaredDistanceTo(blockHit.getPos())) <= (emptyHit == null ? Double.MAX_VALUE : ctx.getStart().squaredDistanceTo(emptyHit.getPos())) ? blockHit : emptyHit;
|
||||
}, missCtx -> {
|
||||
Vec3d delta = missCtx.getStart().subtract(missCtx.getEnd());
|
||||
return BlockHitResult.createMissed(missCtx.getEnd(), Direction.getFacing(delta.x, delta.y, delta.z), BlockPos.ofFloored(missCtx.getEnd()));
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
public final class HudStyle {
|
||||
public static final float SCALE_SMALL = 0.65F;
|
||||
public static final float SCALE_MEDIUM = 0.75F;
|
||||
public static final float SCALE_ROW = 0.9F;
|
||||
public static final float SCALE_TITLE = 1.0F;
|
||||
public static final float SCALE_VALUE = 1.0F;
|
||||
public static final float SCALE_NORMAL = 1.0F;
|
||||
public static final float CORNER_RADIUS = 4.0F;
|
||||
public static final float PADDING_Y = 3.0F;
|
||||
public static final float BADGE_PADDING = 1.5F;
|
||||
public static final int BLUR_RADIUS = 5;
|
||||
public static final float PADDING_X = 5.5F;
|
||||
public static final float DIVIDER_INSET = 3.0F;
|
||||
public static final float ROW_SPACING = 3.0F;
|
||||
public static final float LINE_GAP = 1.0F;
|
||||
public static final float DIVIDER_WIDTH = 0.5F;
|
||||
public static final float BAR_HEIGHT = 4.0F;
|
||||
public static final float BAR_GAP = 1.0F;
|
||||
public static final Color BACKGROUND_COLOR = new Color(14, 14, 14, 200);
|
||||
public static final Color TEXT_COLOR = Color.WHITE;
|
||||
public static final Color SECONDARY_TEXT_COLOR = new Color(200, 200, 200, 220);
|
||||
public static final Color MUTED_TEXT_COLOR = new Color(160, 160, 168, 200);
|
||||
public static final Color DIVIDER_COLOR = new Color(255, 255, 255, 40);
|
||||
|
||||
private HudStyle() {
|
||||
}
|
||||
|
||||
public static float getRowHeight(float fontHeight, float scale) {
|
||||
return fontHeight * scale + 6.0F;
|
||||
}
|
||||
|
||||
public static float getCardHeight(float fontHeight) {
|
||||
return 3.0F + fontHeight * 1.0F + 1.0F + 4.0F + 3.0F;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.reflect.FieldAccessor;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
|
||||
public class ItemUseCooldownAccessor {
|
||||
private final MinecraftClient client;
|
||||
|
||||
public ItemUseCooldownAccessor(MinecraftClient minecraftClient) {
|
||||
this.client = minecraftClient;
|
||||
}
|
||||
|
||||
public int getItemUseCooldown() {
|
||||
return (Integer)FieldAccessor.bindMapped(this.client, "itemUseCooldown", MinecraftClient.class, int.class).get();
|
||||
}
|
||||
|
||||
public void setItemUseCooldown(int ticks) {
|
||||
FieldAccessor.bindMapped(this.client, "itemUseCooldown", MinecraftClient.class, int.class).set(ticks);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.reflect.FieldAccessor;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
|
||||
public class JumpCooldownAccessor {
|
||||
private final LivingEntity entity;
|
||||
private static final String JUMPING_COOLDOWN_FIELD = "jumpingCooldown";
|
||||
|
||||
public JumpCooldownAccessor(LivingEntity livingEntity) {
|
||||
this.entity = livingEntity;
|
||||
}
|
||||
|
||||
public void setJumpingCooldown(int ticks) {
|
||||
FieldAccessor.bindMapped(this.entity, JUMPING_COOLDOWN_FIELD, LivingEntity.class, int.class).set(ticks);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class NameTagEntry {
|
||||
public NameTagEntry() {
|
||||
dev.zprestige.prestige.ui.bridge.Bootstrap.pre(this);
|
||||
}
|
||||
|
||||
public String name;
|
||||
public Color nameColor;
|
||||
public int pops;
|
||||
public String popText;
|
||||
public float healthRatio;
|
||||
public float displayedHealthRatio;
|
||||
public Color healthColor;
|
||||
public String healthText;
|
||||
public float nameWidth;
|
||||
public float popTextWidth;
|
||||
public float healthTextWidth;
|
||||
public List items = new ArrayList();
|
||||
public List enchantLabels = new ArrayList();
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class NameTags {
|
||||
public NameTags() {
|
||||
dev.zprestige.prestige.ui.bridge.Bootstrap.pre(this);
|
||||
}
|
||||
|
||||
public String a;
|
||||
public Color b;
|
||||
public int c;
|
||||
public String d;
|
||||
public float e;
|
||||
public float f;
|
||||
public Color g;
|
||||
public String h;
|
||||
public float i;
|
||||
public float j;
|
||||
public float k;
|
||||
public List l = new ArrayList();
|
||||
public List m = new ArrayList();
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public final class NameTagsUtil {
|
||||
public static final float a = 0.65F;
|
||||
public static final float b = 0.75F;
|
||||
public static final float c = 0.9F;
|
||||
public static final float d = 1.0F;
|
||||
public static final float e = 1.0F;
|
||||
public static final float f = 1.0F;
|
||||
public static final float g = 4.0F;
|
||||
public static final float h = 3.0F;
|
||||
public static final float i = 1.5F;
|
||||
public static final int j = 5;
|
||||
public static final float k = 5.5F;
|
||||
public static final float l = 3.0F;
|
||||
public static final float m = 3.0F;
|
||||
public static final float n = 1.0F;
|
||||
public static final float o = 0.5F;
|
||||
public static final float p = 4.0F;
|
||||
public static final float q = 1.0F;
|
||||
public static final Color r = new Color(14, 14, 14, 200);
|
||||
public static final Color s = Color.WHITE;
|
||||
public static final Color t = new Color(200, 200, 200, 220);
|
||||
public static final Color u = new Color(160, 160, 168, 200);
|
||||
public static final Color v = new Color(255, 255, 255, 40);
|
||||
|
||||
private NameTagsUtil() {
|
||||
}
|
||||
|
||||
public static float a(Object[] var0) {
|
||||
float var1 = (Float)var0[0];
|
||||
float var2 = (Float)var0[1];
|
||||
return var1 * var2 + 6.0F;
|
||||
}
|
||||
|
||||
public static float b(Object[] var0) {
|
||||
float var1 = (Float)var0[0];
|
||||
return 3.0F + var1 * 1.0F + 1.0F + 4.0F + 3.0F;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,151 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.projectile.PersistentProjectileEntity;
|
||||
import net.minecraft.entity.projectile.ProjectileUtil;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.hit.EntityHitResult;
|
||||
import net.minecraft.util.hit.HitResult;
|
||||
import net.minecraft.util.hit.HitResult.Type;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class PearlFollowHelper extends PersistentProjectileEntity {
|
||||
public boolean a;
|
||||
|
||||
public PearlFollowHelper(World var1, LivingEntity var2, ItemStack var3, long var4) {
|
||||
super(EntityType.ARROW, var2, var1, var3, var3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
Event.b();
|
||||
HitResult var4 = ProjectileUtil.getCollision(this, lpL396_0 -> this.canHit(((net.minecraft.entity.Entity)lpL396_0)));
|
||||
if (var4.getType() != Type.MISS) {
|
||||
this.onCollision(var4);
|
||||
} else {
|
||||
this.tickBlockCollision();
|
||||
if (!this.a) {
|
||||
Vec3d var5 = this.getVelocity();
|
||||
double var6 = this.getX() + var5.x;
|
||||
double var8 = this.getY() + var5.y;
|
||||
double var10 = this.getZ() + var5.z;
|
||||
this.updateRotation();
|
||||
float var12 = this.isTouchingWater() ? 0.8F : 0.99F;
|
||||
this.setVelocity(var5.multiply(var12));
|
||||
if (!this.hasNoGravity()) {
|
||||
Vec3d var13 = this.getVelocity();
|
||||
this.setVelocity(var13.x, var13.y - 0.03, var13.z);
|
||||
}
|
||||
|
||||
this.setPosition(var6, var8, var10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHit(BlockHitResult blockHitResult) {
|
||||
this.a = true;
|
||||
this.setPosition(blockHitResult.getPos());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityHit(EntityHitResult entityHitResult) {
|
||||
this.a = true;
|
||||
this.setPosition(entityHitResult.getPos());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack asItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getDefaultItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVelocity(double x, double y, double z, float power, float uncertainty) {
|
||||
Vec3d var11 = new Vec3d(x, y, z).normalize().multiply(power);
|
||||
this.setVelocity(var11);
|
||||
this.setYaw((float)(MathHelper.atan2(var11.x, var11.z) * 180.0F / (float)Math.PI));
|
||||
this.setPitch((float)(MathHelper.atan2(var11.y, var11.horizontalLength()) * 180.0F / (float)Math.PI));
|
||||
this.lastYaw = this.getYaw();
|
||||
this.lastPitch = this.getPitch();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.projectile.PersistentProjectileEntity;
|
||||
import net.minecraft.entity.projectile.ProjectileUtil;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.hit.EntityHitResult;
|
||||
import net.minecraft.util.hit.HitResult;
|
||||
import net.minecraft.util.hit.HitResult.Type;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class PearlFollowSimulatedPearl extends PersistentProjectileEntity {
|
||||
public boolean landed;
|
||||
|
||||
public PearlFollowSimulatedPearl(World worldIn, LivingEntity shooter, ItemStack pearlStack) {
|
||||
super(EntityType.ARROW, shooter, worldIn, pearlStack, pearlStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
HitResult hitResult = ProjectileUtil.getCollision(this, candidate -> this.canHit(candidate));
|
||||
if (hitResult.getType() != Type.MISS) {
|
||||
this.onCollision(hitResult);
|
||||
} else {
|
||||
this.tickBlockCollision();
|
||||
if (!this.landed) {
|
||||
Vec3d motion = this.getVelocity();
|
||||
double nextX = this.getX() + motion.x;
|
||||
double nextY = this.getY() + motion.y;
|
||||
double nextZ = this.getZ() + motion.z;
|
||||
this.updateRotation();
|
||||
this.setVelocity(motion.multiply(this.isTouchingWater() ? 0.8F : 0.99F));
|
||||
if (!this.hasNoGravity()) {
|
||||
Vec3d currentMotion = this.getVelocity();
|
||||
this.setVelocity(currentMotion.x, currentMotion.y - 0.03, currentMotion.z);
|
||||
}
|
||||
|
||||
this.setPosition(nextX, nextY, nextZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHit(BlockHitResult blockHitResult) {
|
||||
this.landed = true;
|
||||
this.setPosition(blockHitResult.getPos());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityHit(EntityHitResult entityHitResult) {
|
||||
this.landed = true;
|
||||
this.setPosition(entityHitResult.getPos());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack asItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getDefaultItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVelocity(double x, double y, double z, float power, float uncertainty) {
|
||||
Vec3d scaledMotion = new Vec3d(x, y, z).normalize().multiply(power);
|
||||
this.setVelocity(scaledMotion);
|
||||
this.setYaw((float)(MathHelper.atan2(scaledMotion.x, scaledMotion.z) * 180.0F / (float)Math.PI));
|
||||
this.setPitch((float)(MathHelper.atan2(scaledMotion.y, scaledMotion.horizontalLength()) * 180.0F / (float)Math.PI));
|
||||
this.lastYaw = this.getYaw();
|
||||
this.lastPitch = this.getPitch();
|
||||
}
|
||||
}
|
||||
@@ -1,147 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.projectile.PersistentProjectileEntity;
|
||||
import net.minecraft.entity.projectile.ProjectileUtil;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.hit.EntityHitResult;
|
||||
import net.minecraft.util.hit.HitResult;
|
||||
import net.minecraft.util.hit.HitResult.Type;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class PearlTrajectoryHelper extends PersistentProjectileEntity {
|
||||
public boolean a;
|
||||
|
||||
public PearlTrajectoryHelper(World var1, LivingEntity var2, ItemStack var3, long var4) {
|
||||
super(EntityType.ARROW, var2, var1, var3, var3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
Event.b();
|
||||
HitResult var4 = ProjectileUtil.getCollision(this, lpL397_0 -> this.canHit(((net.minecraft.entity.Entity)lpL397_0)));
|
||||
if (var4.getType() != Type.MISS) {
|
||||
this.onCollision(var4);
|
||||
}
|
||||
|
||||
this.tickBlockCollision();
|
||||
Vec3d var5 = this.getVelocity();
|
||||
double var6 = this.getX() + var5.x;
|
||||
double var8 = this.getY() + var5.y;
|
||||
double var10 = this.getZ() + var5.z;
|
||||
this.updateRotation();
|
||||
float var12 = this.isTouchingWater() ? 0.8F : 0.99F;
|
||||
this.setVelocity(var5.multiply(var12));
|
||||
if (!this.hasNoGravity()) {
|
||||
Vec3d var13 = this.getVelocity();
|
||||
this.setVelocity(var13.x, var13.y - 0.03, var13.z);
|
||||
}
|
||||
|
||||
this.setPosition(var6, var8, var10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHit(BlockHitResult blockHitResult) {
|
||||
this.a = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityHit(EntityHitResult entityHitResult) {
|
||||
this.a = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack asItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getDefaultItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVelocity(double x, double y, double z, float power, float uncertainty) {
|
||||
Vec3d var11 = new Vec3d(x, y, z).normalize().multiply(power);
|
||||
this.setVelocity(var11);
|
||||
this.setYaw((float)(MathHelper.atan2(var11.x, var11.z) * 180.0F / (float)Math.PI));
|
||||
this.setPitch((float)(MathHelper.atan2(var11.y, var11.horizontalLength()) * 180.0F / (float)Math.PI));
|
||||
this.lastYaw = this.getYaw();
|
||||
this.lastPitch = this.getPitch();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.projectile.PersistentProjectileEntity;
|
||||
import net.minecraft.entity.projectile.ProjectileUtil;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.hit.EntityHitResult;
|
||||
import net.minecraft.util.hit.HitResult;
|
||||
import net.minecraft.util.hit.HitResult.Type;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class PearlTrajectorySimulatedPearl extends PersistentProjectileEntity {
|
||||
public boolean landed;
|
||||
|
||||
public PearlTrajectorySimulatedPearl(World worldIn, LivingEntity shooter, ItemStack pearlStack) {
|
||||
super(EntityType.ARROW, shooter, worldIn, pearlStack, pearlStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
HitResult hitResult = ProjectileUtil.getCollision(this, candidate -> this.canHit(candidate));
|
||||
if (hitResult.getType() != Type.MISS) {
|
||||
this.onCollision(hitResult);
|
||||
}
|
||||
|
||||
this.tickBlockCollision();
|
||||
Vec3d motion = this.getVelocity();
|
||||
double nextX = this.getX() + motion.x;
|
||||
double nextY = this.getY() + motion.y;
|
||||
double nextZ = this.getZ() + motion.z;
|
||||
this.updateRotation();
|
||||
this.setVelocity(motion.multiply(this.isTouchingWater() ? 0.8F : 0.99F));
|
||||
if (!this.hasNoGravity()) {
|
||||
Vec3d currentMotion = this.getVelocity();
|
||||
this.setVelocity(currentMotion.x, currentMotion.y - 0.03, currentMotion.z);
|
||||
}
|
||||
|
||||
this.setPosition(nextX, nextY, nextZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHit(BlockHitResult blockHitResult) {
|
||||
this.landed = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityHit(EntityHitResult entityHitResult) {
|
||||
this.landed = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack asItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getDefaultItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVelocity(double x, double y, double z, float power, float uncertainty) {
|
||||
Vec3d scaledMotion = new Vec3d(x, y, z).normalize().multiply(power);
|
||||
this.setVelocity(scaledMotion);
|
||||
this.setYaw((float)(MathHelper.atan2(scaledMotion.x, scaledMotion.z) * 180.0F / (float)Math.PI));
|
||||
this.setPitch((float)(MathHelper.atan2(scaledMotion.y, scaledMotion.horizontalLength()) * 180.0F / (float)Math.PI));
|
||||
this.lastYaw = this.getYaw();
|
||||
this.lastPitch = this.getPitch();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
public final class PotionDisplayEntry {
|
||||
public String name = "";
|
||||
public String levelText;
|
||||
public Color color = Color.WHITE;
|
||||
public int duration;
|
||||
public int maxDuration;
|
||||
public boolean infinite;
|
||||
public float visibility;
|
||||
|
||||
public PotionDisplayEntry() {
|
||||
}
|
||||
}
|
||||
@@ -1,190 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.Subscribe;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.event.EntityEvent4;
|
||||
import dev.zprestige.prestige.event.TickEvent19;
|
||||
import dev.zprestige.prestige.render.RenderBatch;
|
||||
import dev.zprestige.prestige.render.RenderContract2;
|
||||
import dev.zprestige.prestige.type.EventPhase;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
public class RotationManager implements RenderContract2 {
|
||||
private static final float a = 0.4F;
|
||||
private static final float c = 0.5F;
|
||||
private boolean d;
|
||||
private float e;
|
||||
private float f;
|
||||
private float g;
|
||||
private float h;
|
||||
private boolean i;
|
||||
private float j;
|
||||
private float k;
|
||||
private float l;
|
||||
private float m;
|
||||
private float n;
|
||||
private float o;
|
||||
private float p;
|
||||
private float q;
|
||||
|
||||
public RotationManager(long var1) {
|
||||
super();
|
||||
var1 = 0L;
|
||||
var1 = 60632727332545L ^ var1;
|
||||
long var3 = var1 ^ 14681560044837L;
|
||||
this.d = false;
|
||||
this.i = false;
|
||||
Prestige.eventBus.register(new Object[]{this, var3});
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void a(TickEvent19 var1) {
|
||||
if (b.player == null) {
|
||||
this.d = false;
|
||||
} else if (!this.d) {
|
||||
this.e = b.player.getYaw();
|
||||
this.f = b.player.getPitch();
|
||||
this.g = this.e;
|
||||
this.h = this.f;
|
||||
this.d = true;
|
||||
} else {
|
||||
RenderBatch var5 = Prestige.o.b_RenderBatch____________(new Object[0]);
|
||||
if (var5 == null) {
|
||||
this.e = b.player.getYaw();
|
||||
this.f = b.player.getPitch();
|
||||
this.g = this.e;
|
||||
this.h = this.f;
|
||||
} else {
|
||||
this.g = this.e;
|
||||
this.h = this.f;
|
||||
float var6 = MathHelper.wrapDegrees(var5.a(new Object[0]) - this.e);
|
||||
float var7 = var5.b(new Object[0]) - this.f;
|
||||
this.e = MathHelper.wrapDegrees(this.e + var6 * 0.4F);
|
||||
this.f = MathHelper.clamp(this.f + var7 * 0.4F, -90.0F, 90.0F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void a(EntityEvent4 var1) {
|
||||
if (var1.a == b.player && this.d) {
|
||||
if (var1.a_EventPhase(new Object[0]) == EventPhase.PRE) {
|
||||
if (this.i) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Prestige.o.b_RenderBatch____________(new Object[0]) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
float var5 = Math.abs(MathHelper.wrapDegrees(this.e - b.player.getYaw()));
|
||||
float var6 = Math.abs(this.f - b.player.getPitch());
|
||||
if (var5 < 0.5F && var6 < 0.5F) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.j = b.player.getYaw();
|
||||
this.k = b.player.getPitch();
|
||||
this.l = b.player.bodyYaw;
|
||||
this.m = b.player.headYaw;
|
||||
this.n = b.player.lastYaw;
|
||||
this.o = b.player.lastPitch;
|
||||
this.p = b.player.lastBodyYaw;
|
||||
this.q = b.player.lastHeadYaw;
|
||||
b.player.setYaw(this.e);
|
||||
b.player.setPitch(this.f);
|
||||
b.player.bodyYaw = this.e;
|
||||
b.player.headYaw = this.e;
|
||||
b.player.lastYaw = this.g;
|
||||
b.player.lastPitch = this.h;
|
||||
b.player.lastBodyYaw = this.g;
|
||||
b.player.lastHeadYaw = this.g;
|
||||
this.i = true;
|
||||
} else if (var1.a_EventPhase(new Object[0]) == EventPhase.POST && this.i) {
|
||||
b.player.setYaw(this.j);
|
||||
b.player.setPitch(this.k);
|
||||
b.player.bodyYaw = this.l;
|
||||
b.player.headYaw = this.m;
|
||||
b.player.lastYaw = this.n;
|
||||
b.player.lastPitch = this.o;
|
||||
b.player.lastBodyYaw = this.p;
|
||||
b.player.lastHeadYaw = this.q;
|
||||
this.i = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean a(Object[] var1) {
|
||||
return this.i;
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,162 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.Subscribe;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import dev.zprestige.prestige.event.PlayerEvent;
|
||||
import dev.zprestige.prestige.event.TickEvent19;
|
||||
import dev.zprestige.prestige.event.TickEvent3;
|
||||
import dev.zprestige.prestige.event.TickEvent6;
|
||||
import dev.zprestige.prestige.render.RenderContract2;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.HashSet;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
|
||||
public class TargetManager implements RenderContract2 {
|
||||
private final Set a;
|
||||
private final Map c;
|
||||
|
||||
public TargetManager(long var1) {
|
||||
super();
|
||||
var1 = 0L;
|
||||
var1 = 135428133275062L ^ var1;
|
||||
long var3 = var1 ^ 106554379797719L;
|
||||
this.a = new HashSet();
|
||||
this.c = new IdentityHashMap();
|
||||
Prestige.eventBus.register(new Object[]{this, var3});
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void a(TickEvent19 var1) {
|
||||
Event.b();
|
||||
this.c.clear();
|
||||
if (!this.a.isEmpty()) {
|
||||
this.a.removeIf(lpL9_0 -> !((net.minecraft.entity.Entity)lpL9_0).isAlive());
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void a(TickEvent3 var1) {
|
||||
this.a.clear();
|
||||
}
|
||||
|
||||
public void a(Object[] var1) {
|
||||
PlayerEntity var2 = (PlayerEntity)var1[0];
|
||||
this.a.add(var2);
|
||||
}
|
||||
|
||||
public Set a_Set(Object[] var1) {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public boolean a_boolean_(Object[] var1) {
|
||||
Entity var2 = (Entity)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
var3 = 135428133275062L ^ var3;
|
||||
long var5 = var3 ^ 5217238789553L;
|
||||
if (var2 == b.player) {
|
||||
return false;
|
||||
} else {
|
||||
Boolean var8 = (Boolean)this.c.get(var2);
|
||||
if (var8 != null) {
|
||||
return var8;
|
||||
} else {
|
||||
boolean var9 = this.b(new Object[]{var2, var5});
|
||||
this.c.put(var2, var9);
|
||||
return var9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean b(Object[] var1) {
|
||||
Entity var4 = (Entity)var1[0];
|
||||
long var2 = (Long)var1[1];
|
||||
var2 = 135428133275062L ^ var2;
|
||||
long var5 = var2 ^ 99671251868934L;
|
||||
long var7 = var2 ^ 86195271010853L;
|
||||
if (!(var4 instanceof PlayerEntity)) {
|
||||
return true;
|
||||
} else if (!Prestige.eventBus.hasListeners(new Object[]{TickEvent6.class, var7})) {
|
||||
return true;
|
||||
} else if (!new TickEvent6().b_boolean__(new Object[]{var5})) {
|
||||
return true;
|
||||
} else {
|
||||
return Prestige.eventBus.hasListeners(new Object[]{PlayerEvent.class, var7}) && new PlayerEvent((PlayerEntity)var4).b_boolean__(new Object[]{var5})
|
||||
? false
|
||||
: this.a.contains(var4) && var4.isAlive();
|
||||
}
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.render.MinecraftAccess;
|
||||
import dev.zprestige.prestige.world.PositionUtil;
|
||||
import dev.zprestige.prestige.world.RotationUtil;
|
||||
import net.minecraft.client.network.PlayerListEntry;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public class TargetSelector implements MinecraftAccess {
|
||||
public static boolean isPlayer(Entity entity) {
|
||||
if (entity instanceof PlayerEntity) {
|
||||
return true;
|
||||
} else if (entity instanceof LivingEntity && mc.getNetworkHandler() != null) {
|
||||
String entityName = entity.getName().getString();
|
||||
|
||||
for (PlayerListEntry entry : mc.getNetworkHandler().getPlayerList()) {
|
||||
if (PositionUtil.getProfileName(entry.getProfile()).equals(entityName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static PlayerEntity getClosestEnemy() {
|
||||
PlayerEntity closest = null;
|
||||
|
||||
for (PlayerEntity player : mc.world.getPlayers()) {
|
||||
if (player.isAlive()
|
||||
&& !player.equals(mc.player)
|
||||
&& !Prestige.friendManager.isFriend(player.getName().getString())
|
||||
&& Prestige.botFilter.isValidTarget(player)
|
||||
&& (closest == null || mc.player.squaredDistanceTo(player) < mc.player.squaredDistanceTo(closest))) {
|
||||
closest = player;
|
||||
}
|
||||
}
|
||||
|
||||
return closest;
|
||||
}
|
||||
|
||||
public static PlayerEntity getClosestEnemyInFov(float maxAngle) {
|
||||
PlayerEntity closest = null;
|
||||
|
||||
for (PlayerEntity player : mc.world.getPlayers()) {
|
||||
if (player.isAlive()
|
||||
&& !player.equals(mc.player)
|
||||
&& !Prestige.friendManager.isFriend(player.getName().getString())
|
||||
&& Prestige.botFilter.isValidTarget(player)
|
||||
&& (closest == null || mc.player.squaredDistanceTo(player) < mc.player.squaredDistanceTo(closest))
|
||||
&& !(RotationUtil.getAngleFromPlayerRotation(RotationUtil.getRotationTo(player.getEyePos())) > maxAngle)) {
|
||||
closest = player;
|
||||
}
|
||||
}
|
||||
|
||||
return closest;
|
||||
}
|
||||
|
||||
public static Entity getClosestEntity() {
|
||||
Entity closest = null;
|
||||
|
||||
for (Entity entity : mc.world.getEntities()) {
|
||||
if (entity.isAlive()
|
||||
&& !entity.equals(mc.player)
|
||||
&& !Prestige.friendManager.isFriend(entity.getName().getString())
|
||||
&& entity.isAttackable()
|
||||
&& Prestige.botFilter.isValidTarget(entity)
|
||||
&& (closest == null || mc.player.squaredDistanceTo(entity) < mc.player.squaredDistanceTo(closest))) {
|
||||
closest = entity;
|
||||
}
|
||||
}
|
||||
|
||||
return closest;
|
||||
}
|
||||
|
||||
public static boolean isBlockingWithShield(PlayerEntity player) {
|
||||
return (
|
||||
player.getMainHandStack().getItem() == Items.SHIELD
|
||||
|| player.getOffHandStack().getItem() == Items.SHIELD && player.getMainHandStack().get(DataComponentTypes.FOOD) == null
|
||||
)
|
||||
&& player.isUsingItem()
|
||||
&& !isFacingAway(player);
|
||||
}
|
||||
|
||||
private static boolean isFacingAway(PlayerEntity player) {
|
||||
if (mc.player != null && player != null) {
|
||||
Vec3d toSelf = PositionUtil.getPlayerPos().subtract(PositionUtil.getEntityPos(player)).normalize();
|
||||
float yaw = player.getYaw();
|
||||
float pitch = player.getPitch();
|
||||
return new Vec3d(
|
||||
-Math.sin(Math.toRadians(yaw)) * Math.cos(Math.toRadians(pitch)),
|
||||
-Math.sin(Math.toRadians(pitch)),
|
||||
Math.cos(Math.toRadians(yaw)) * Math.cos(Math.toRadians(pitch))
|
||||
)
|
||||
.normalize().dotProduct(toSelf) < 0.0;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,135 +2,56 @@ package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.Subscribe;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.event.EntityEvent;
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import dev.zprestige.prestige.event.TickEvent19;
|
||||
import dev.zprestige.prestige.render.RenderContract2;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import dev.zprestige.prestige.event.AttackEntityEvent;
|
||||
import dev.zprestige.prestige.event.ClientTickEvent;
|
||||
import dev.zprestige.prestige.render.MinecraftAccess;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.decoration.EndCrystalEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
|
||||
public class TargetTracker implements RenderContract2 {
|
||||
private PlayerEntity a;
|
||||
private long c;
|
||||
public class TargetTracker implements MinecraftAccess {
|
||||
private PlayerEntity target;
|
||||
private long lastAttackTime;
|
||||
|
||||
public TargetTracker(long var1) {
|
||||
public TargetTracker() {
|
||||
super();
|
||||
var1 = 0L;
|
||||
var1 = 108076624727597L ^ var1;
|
||||
long var3 = var1 ^ 134580352215820L;
|
||||
this.a = null;
|
||||
this.c = 0L;
|
||||
Prestige.eventBus.register(new Object[]{this, var3});
|
||||
this.target = null;
|
||||
this.lastAttackTime = 0L;
|
||||
Prestige.eventBus.register(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void a(TickEvent19 var1) {
|
||||
if (this.a != null && (b.world == null || !this.a.isAlive() || this.a.distanceTo(b.player) > 15.0F || System.currentTimeMillis() - this.c > 5000L)) {
|
||||
this.a = null;
|
||||
public void onClientTick(ClientTickEvent event) {
|
||||
if (this.target != null && (mc.world == null || !this.target.isAlive() || this.target.distanceTo(mc.player) > 15.0F || System.currentTimeMillis() - this.lastAttackTime > 5000L)) {
|
||||
this.target = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void a(EntityEvent var1) {
|
||||
Event.b();
|
||||
Entity var9 = var1.a(new Object[0]);
|
||||
if (var9 instanceof PlayerEntity var10) {
|
||||
this.a_void____(new Object[]{var10, 64033097141446L});
|
||||
} else if (var9 instanceof EndCrystalEntity) {
|
||||
for (PlayerEntity var12 : b.world.getPlayers()) {
|
||||
if (var12 != null
|
||||
&& var12 != b.player
|
||||
&& !Prestige.g.a(new Object[]{var12.getName().getString(), 24848952222090L})
|
||||
&& var12.distanceTo(var9) <= 5.0F) {
|
||||
this.a_void____(new Object[]{var12, 64033097141446L});
|
||||
public void onAttackEntity(AttackEntityEvent event) {
|
||||
Entity attacked = event.getTarget();
|
||||
if (attacked instanceof PlayerEntity attackedPlayer) {
|
||||
this.setTarget(attackedPlayer);
|
||||
} else if (attacked instanceof EndCrystalEntity) {
|
||||
for (PlayerEntity player : mc.world.getPlayers()) {
|
||||
if (player != null
|
||||
&& player != mc.player
|
||||
&& !Prestige.friendManager.isFriend(player.getName().getString())
|
||||
&& player.distanceTo(attacked) <= 5.0F) {
|
||||
this.setTarget(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public PlayerEntity a(Object[] var1) {
|
||||
return this.a;
|
||||
public PlayerEntity getTarget() {
|
||||
return this.target;
|
||||
}
|
||||
|
||||
public void a_void____(Object[] var1) {
|
||||
PlayerEntity var2 = (PlayerEntity)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
var3 = 108076624727597L ^ var3;
|
||||
long var5 = var3 ^ 86787500893025L;
|
||||
if (!Prestige.g.a(new Object[]{var2.getName().getString(), var5})) {
|
||||
this.a = var2;
|
||||
this.c = System.currentTimeMillis();
|
||||
}
|
||||
}
|
||||
|
||||
private static Field c(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 d(Class var0, String var1, Class var2) {
|
||||
Field var3 = c(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 = d(var4[var5], var1, var2);
|
||||
if (var3 != null) {
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Method c(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 d(Class var0, String var1, Class var2, int var3, Class[] var4) {
|
||||
Method var5 = c(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 = d(var6[var7], var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
public void setTarget(PlayerEntity newTarget) {
|
||||
if (!Prestige.friendManager.isFriend(newTarget.getName().getString())) {
|
||||
this.target = newTarget;
|
||||
this.lastAttackTime = System.currentTimeMillis();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.inventory.InventoryUtil;
|
||||
import dev.zprestige.prestige.render.ThreatAssessment;
|
||||
import dev.zprestige.prestige.type.ThreatType;
|
||||
import dev.zprestige.prestige.world.BlockUtil;
|
||||
import java.util.EnumSet;
|
||||
import java.util.function.Predicate;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.decoration.EndCrystalEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.state.property.Properties;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public final class ThreatAssessor {
|
||||
private static final MinecraftClient mc = MinecraftClient.getInstance();
|
||||
public static final ThreatAssessment NO_THREAT = new ThreatAssessment(null, 0.0F, 0.0F);
|
||||
|
||||
private ThreatAssessor() {
|
||||
}
|
||||
|
||||
public static ThreatAssessment findBiggestThreat(PlayerEntity enemy, EnumSet threatTypes, float sensitivity) {
|
||||
if (mc.player != null && mc.world != null && enemy != null) {
|
||||
ThreatAssessment biggest = NO_THREAT;
|
||||
if (threatTypes.contains(ThreatType.CRYSTAL)) {
|
||||
for (Entity entity : mc.world.getEntities()) {
|
||||
if (entity instanceof EndCrystalEntity) {
|
||||
biggest = keepBiggerThreat(biggest, ThreatType.CRYSTAL, (float)Prestige.damageCalculator.getCrystalDamage(mc.player, entity.getBlockPos().toCenterPos()), sensitivity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (threatTypes.contains(ThreatType.ANCHOR)) {
|
||||
for (BlockPos anchorPos : (Iterable<BlockPos>)(BlockUtil.getBlocksInRadius(5, (Predicate<BlockPos>)anchorCandidate -> isNearPlayer(enemy, anchorCandidate)
|
||||
&& mc.world.getBlockState(anchorCandidate).getBlock() == Blocks.RESPAWN_ANCHOR
|
||||
&& mc.world.getBlockState(anchorCandidate).get(Properties.CHARGES) != 0))) {
|
||||
biggest = keepBiggerThreat(biggest, ThreatType.ANCHOR, (float)Prestige.damageCalculator.getAnchorDamage(mc.player, anchorPos.toCenterPos()), sensitivity);
|
||||
}
|
||||
}
|
||||
|
||||
if (threatTypes.contains(ThreatType.OBSIDIAN) && !mc.player.isOnGround()) {
|
||||
for (BlockPos obsidianPos : (Iterable<BlockPos>)(BlockUtil.getBlocksInRadius(5, (Predicate<BlockPos>)obsidianCandidate -> obsidianCandidate.getY() < mc.player.getY()
|
||||
&& isNearPlayer(enemy, obsidianCandidate)
|
||||
&& mc.world.getBlockState(obsidianCandidate).getBlock() == Blocks.OBSIDIAN
|
||||
&& mc.world.getBlockState(obsidianCandidate.up()).getBlock() == Blocks.AIR))) {
|
||||
biggest = keepBiggerThreat(biggest, ThreatType.OBSIDIAN, (float)Prestige.damageCalculator.getCrystalDamage(mc.player, obsidianPos.up().toCenterPos()), sensitivity);
|
||||
}
|
||||
}
|
||||
|
||||
if (threatTypes.contains(ThreatType.MACE)) {
|
||||
float maceDamage = getMaceDamage(enemy);
|
||||
if (maceDamage > 0.0F) {
|
||||
biggest = keepBiggerThreat(biggest, ThreatType.MACE, maceDamage, sensitivity);
|
||||
}
|
||||
}
|
||||
|
||||
return biggest;
|
||||
} else {
|
||||
return NO_THREAT;
|
||||
}
|
||||
}
|
||||
|
||||
public static ThreatAssessment findBiggestThreat(PlayerEntity enemy, EnumSet threatTypes) {
|
||||
return findBiggestThreat(enemy, threatTypes, 1.0F);
|
||||
}
|
||||
|
||||
public static float getMaceDamage(PlayerEntity attacker) {
|
||||
return InventoryUtil.isMace(attacker.getMainHandStack()) && !(attacker.fallDistance <= 1.5) && !(attacker.getY() <= mc.player.getY())
|
||||
? (float)(6.0 + attacker.fallDistance * 5.0)
|
||||
: 0.0F;
|
||||
}
|
||||
|
||||
private static boolean isNearPlayer(PlayerEntity player, BlockPos pos) {
|
||||
return player.squaredDistanceTo(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5) < 25.0;
|
||||
}
|
||||
|
||||
private static ThreatAssessment keepBiggerThreat(ThreatAssessment current, ThreatType type, float damage, float sensitivity) {
|
||||
if (damage <= 0.0F) {
|
||||
return current;
|
||||
} else {
|
||||
float weightedDamage = damage * type.confidence * sensitivity;
|
||||
return weightedDamage <= current.weightedDamage ? current : new ThreatAssessment(type, damage, weightedDamage);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,147 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.projectile.PersistentProjectileEntity;
|
||||
import net.minecraft.entity.projectile.ProjectileUtil;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.hit.EntityHitResult;
|
||||
import net.minecraft.util.hit.HitResult;
|
||||
import net.minecraft.util.hit.HitResult.Type;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class TrajectoriesHelper extends PersistentProjectileEntity {
|
||||
public boolean a;
|
||||
|
||||
public TrajectoriesHelper(World var1, LivingEntity var2, ItemStack var3, long var4) {
|
||||
super(EntityType.ARROW, var2, var1, var3, var3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
Event.b();
|
||||
HitResult var4 = ProjectileUtil.getCollision(this, lpL398_0 -> this.canHit(((net.minecraft.entity.Entity)lpL398_0)));
|
||||
if (var4.getType() != Type.MISS) {
|
||||
this.onCollision(var4);
|
||||
}
|
||||
|
||||
this.tickBlockCollision();
|
||||
Vec3d var5 = this.getVelocity();
|
||||
double var6 = this.getX() + var5.x;
|
||||
double var8 = this.getY() + var5.y;
|
||||
double var10 = this.getZ() + var5.z;
|
||||
this.updateRotation();
|
||||
float var12 = this.isTouchingWater() ? 0.8F : 0.99F;
|
||||
this.setVelocity(var5.multiply(var12));
|
||||
if (!this.hasNoGravity()) {
|
||||
Vec3d var13 = this.getVelocity();
|
||||
this.setVelocity(var13.x, var13.y - 0.03, var13.z);
|
||||
}
|
||||
|
||||
this.setPosition(var6, var8, var10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHit(BlockHitResult blockHitResult) {
|
||||
this.a = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack asItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getDefaultItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityHit(EntityHitResult entityHitResult) {
|
||||
this.a = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVelocity(double x, double y, double z, float power, float uncertainty) {
|
||||
Vec3d var11 = new Vec3d(x, y, z).normalize().multiply(power);
|
||||
this.setVelocity(var11);
|
||||
this.setYaw((float)(MathHelper.atan2(var11.x, var11.z) * 180.0F / (float)Math.PI));
|
||||
this.setPitch((float)(MathHelper.atan2(var11.y, var11.horizontalLength()) * 180.0F / (float)Math.PI));
|
||||
this.lastYaw = this.getYaw();
|
||||
this.lastPitch = this.getPitch();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.projectile.PersistentProjectileEntity;
|
||||
import net.minecraft.entity.projectile.ProjectileUtil;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.hit.EntityHitResult;
|
||||
import net.minecraft.util.hit.HitResult;
|
||||
import net.minecraft.util.hit.HitResult.Type;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class TrajectoriesSimulatedPearl extends PersistentProjectileEntity {
|
||||
public boolean landed;
|
||||
|
||||
public TrajectoriesSimulatedPearl(World worldIn, LivingEntity shooter, ItemStack pearlStack) {
|
||||
super(EntityType.ARROW, shooter, worldIn, pearlStack, pearlStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
HitResult hitResult = ProjectileUtil.getCollision(this, candidate -> this.canHit(candidate));
|
||||
if (hitResult.getType() != Type.MISS) {
|
||||
this.onCollision(hitResult);
|
||||
}
|
||||
|
||||
this.tickBlockCollision();
|
||||
Vec3d motion = this.getVelocity();
|
||||
double nextX = this.getX() + motion.x;
|
||||
double nextY = this.getY() + motion.y;
|
||||
double nextZ = this.getZ() + motion.z;
|
||||
this.updateRotation();
|
||||
this.setVelocity(motion.multiply(this.isTouchingWater() ? 0.8F : 0.99F));
|
||||
if (!this.hasNoGravity()) {
|
||||
Vec3d currentMotion = this.getVelocity();
|
||||
this.setVelocity(currentMotion.x, currentMotion.y - 0.03, currentMotion.z);
|
||||
}
|
||||
|
||||
this.setPosition(nextX, nextY, nextZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHit(BlockHitResult blockHitResult) {
|
||||
this.landed = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack asItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getDefaultItemStack() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityHit(EntityHitResult entityHitResult) {
|
||||
this.landed = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVelocity(double x, double y, double z, float power, float uncertainty) {
|
||||
Vec3d scaledMotion = new Vec3d(x, y, z).normalize().multiply(power);
|
||||
this.setVelocity(scaledMotion);
|
||||
this.setYaw((float)(MathHelper.atan2(scaledMotion.x, scaledMotion.z) * 180.0F / (float)Math.PI));
|
||||
this.setPitch((float)(MathHelper.atan2(scaledMotion.y, scaledMotion.horizontalLength()) * 180.0F / (float)Math.PI));
|
||||
this.lastYaw = this.getYaw();
|
||||
this.lastPitch = this.getPitch();
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
|
||||
public final class TwoDESPHelper {
|
||||
public PlayerEntity a;
|
||||
public String b;
|
||||
public float c;
|
||||
public float d;
|
||||
public float e;
|
||||
public float f;
|
||||
public float g;
|
||||
public boolean h;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
|
||||
public final class TwoDEspTarget {
|
||||
public PlayerEntity player;
|
||||
public String name;
|
||||
public float health;
|
||||
public float maxHealth;
|
||||
public float width;
|
||||
public float height;
|
||||
public float distance;
|
||||
public boolean friend;
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package dev.zprestige.prestige.combat;
|
||||
|
||||
import dev.zprestige.prestige.Subscribe;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.event.PlayerRenderStateEvent;
|
||||
import dev.zprestige.prestige.event.ClientTickEvent;
|
||||
import dev.zprestige.prestige.render.Rotation;
|
||||
import dev.zprestige.prestige.render.MinecraftAccess;
|
||||
import dev.zprestige.prestige.type.EventPhase;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
public class VisualRotationManager implements MinecraftAccess {
|
||||
private boolean initialized;
|
||||
private float renderYaw;
|
||||
private float renderPitch;
|
||||
private float prevRenderYaw;
|
||||
private float prevRenderPitch;
|
||||
private boolean applied;
|
||||
private float savedYaw;
|
||||
private float savedPitch;
|
||||
private float savedBodyYaw;
|
||||
private float savedHeadYaw;
|
||||
private float savedLastYaw;
|
||||
private float savedLastPitch;
|
||||
private float savedLastBodyYaw;
|
||||
private float savedLastHeadYaw;
|
||||
|
||||
public VisualRotationManager() {
|
||||
super();
|
||||
this.initialized = false;
|
||||
this.applied = false;
|
||||
Prestige.eventBus.register(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onClientTick(ClientTickEvent event) {
|
||||
if (mc.player == null) {
|
||||
this.initialized = false;
|
||||
} else if (!this.initialized) {
|
||||
this.renderYaw = mc.player.getYaw();
|
||||
this.renderPitch = mc.player.getPitch();
|
||||
this.prevRenderYaw = this.renderYaw;
|
||||
this.prevRenderPitch = this.renderPitch;
|
||||
this.initialized = true;
|
||||
} else {
|
||||
Rotation targetRotation = Prestige.silentRotationManager.getServerRotation();
|
||||
if (targetRotation == null) {
|
||||
this.renderYaw = mc.player.getYaw();
|
||||
this.renderPitch = mc.player.getPitch();
|
||||
this.prevRenderYaw = this.renderYaw;
|
||||
this.prevRenderPitch = this.renderPitch;
|
||||
} else {
|
||||
this.prevRenderYaw = this.renderYaw;
|
||||
this.prevRenderPitch = this.renderPitch;
|
||||
float yawDelta = MathHelper.wrapDegrees(targetRotation.getYaw() - this.renderYaw);
|
||||
float pitchDelta = targetRotation.getPitch() - this.renderPitch;
|
||||
this.renderYaw = MathHelper.wrapDegrees(this.renderYaw + yawDelta * 0.4F);
|
||||
this.renderPitch = MathHelper.clamp(this.renderPitch + pitchDelta * 0.4F, -90.0F, 90.0F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onPlayerRenderState(PlayerRenderStateEvent event) {
|
||||
if (event.entity == mc.player && this.initialized) {
|
||||
if (event.getPhase() == EventPhase.PRE) {
|
||||
if (this.applied) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Prestige.silentRotationManager.getServerRotation() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
float yawDiff = Math.abs(MathHelper.wrapDegrees(this.renderYaw - mc.player.getYaw()));
|
||||
float pitchDiff = Math.abs(this.renderPitch - mc.player.getPitch());
|
||||
if (yawDiff < 0.5F && pitchDiff < 0.5F) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.savedYaw = mc.player.getYaw();
|
||||
this.savedPitch = mc.player.getPitch();
|
||||
this.savedBodyYaw = mc.player.bodyYaw;
|
||||
this.savedHeadYaw = mc.player.headYaw;
|
||||
this.savedLastYaw = mc.player.lastYaw;
|
||||
this.savedLastPitch = mc.player.lastPitch;
|
||||
this.savedLastBodyYaw = mc.player.lastBodyYaw;
|
||||
this.savedLastHeadYaw = mc.player.lastHeadYaw;
|
||||
mc.player.setYaw(this.renderYaw);
|
||||
mc.player.setPitch(this.renderPitch);
|
||||
mc.player.bodyYaw = this.renderYaw;
|
||||
mc.player.headYaw = this.renderYaw;
|
||||
mc.player.lastYaw = this.prevRenderYaw;
|
||||
mc.player.lastPitch = this.prevRenderPitch;
|
||||
mc.player.lastBodyYaw = this.prevRenderYaw;
|
||||
mc.player.lastHeadYaw = this.prevRenderYaw;
|
||||
this.applied = true;
|
||||
} else if (event.getPhase() == EventPhase.POST && this.applied) {
|
||||
mc.player.setYaw(this.savedYaw);
|
||||
mc.player.setPitch(this.savedPitch);
|
||||
mc.player.bodyYaw = this.savedBodyYaw;
|
||||
mc.player.headYaw = this.savedHeadYaw;
|
||||
mc.player.lastYaw = this.savedLastYaw;
|
||||
mc.player.lastPitch = this.savedLastPitch;
|
||||
mc.player.lastBodyYaw = this.savedLastBodyYaw;
|
||||
mc.player.lastHeadYaw = this.savedLastHeadYaw;
|
||||
this.applied = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isRotationApplied() {
|
||||
return this.applied;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package dev.zprestige.prestige.config;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.Objects;
|
||||
|
||||
public class ClasspathResource {
|
||||
private final String path;
|
||||
private static final String NOT_FOUND_MESSAGE = "resource not found: ";
|
||||
|
||||
private ClasspathResource(String resourcePath) {
|
||||
this.path = resourcePath;
|
||||
}
|
||||
|
||||
public static ClasspathResource of(String resourcePath) {
|
||||
return new ClasspathResource(resourcePath.startsWith("/") ? resourcePath.substring(1) : resourcePath);
|
||||
}
|
||||
|
||||
public InputStream openStream() {
|
||||
InputStream stream = ClasspathResource.class.getClassLoader().getResourceAsStream(this.path);
|
||||
if (stream == null) {
|
||||
throw new IllegalArgumentException(NOT_FOUND_MESSAGE + this);
|
||||
} else {
|
||||
return stream;
|
||||
}
|
||||
}
|
||||
|
||||
public String getPath() {
|
||||
return this.path;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.path;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
} else {
|
||||
return !(other instanceof ClasspathResource resource) ? false : this.path.equals(resource.path);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(this.path);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package dev.zprestige.prestige.config;
|
||||
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import java.io.IOException;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import net.minecraft.resource.InputSupplier;
|
||||
import net.minecraft.resource.Resource;
|
||||
import net.minecraft.resource.ResourcePack;
|
||||
import net.minecraft.resource.ResourcePackInfo;
|
||||
import net.minecraft.resource.ResourceType;
|
||||
import net.minecraft.resource.ResourcePack.ResultConsumer;
|
||||
import net.minecraft.resource.metadata.ResourceMetadataSerializer;
|
||||
import net.minecraft.util.Identifier;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class ClasspathResourcePack implements ResourcePack {
|
||||
@Nullable
|
||||
@Override
|
||||
public InputSupplier openRoot(String[] segments) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public InputSupplier open(ResourceType type, Identifier id) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void findResources(ResourceType type, String namespace, String prefix, ResultConsumer consumer) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set getNamespaces(ResourceType type) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Object parseMetadata(ResourceMetadataSerializer metadataSerializer) throws IOException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "Prestige";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional getKnownPackInfo() {
|
||||
return ResourcePack.super.getKnownPackInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourcePackInfo getInfo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
}
|
||||
|
||||
public static Resource createAssetResource(Identifier id) {
|
||||
return new Resource(new ClasspathResourcePack(), () -> Prestige.class.getClassLoader().getResourceAsStream("assets/prestige/" + id.getPath()));
|
||||
}
|
||||
|
||||
public static Resource createResource(String path) {
|
||||
return new Resource(new ClasspathResourcePack(), () -> Prestige.class.getClassLoader().getResourceAsStream(path));
|
||||
}
|
||||
|
||||
public static InputSupplier createInputSupplier(String path) {
|
||||
return () -> Prestige.class.getClassLoader().getResourceAsStream(path);
|
||||
}
|
||||
}
|
||||
@@ -1,130 +0,0 @@
|
||||
package dev.zprestige.prestige.config;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class ConfigHelper {
|
||||
private int a;
|
||||
private float b;
|
||||
private float c;
|
||||
private float d;
|
||||
private float e;
|
||||
private float f;
|
||||
|
||||
public ConfigHelper() {
|
||||
}
|
||||
|
||||
public ConfigHelper(int var1, float var2, float var3, float var4, float var5, float var6) {
|
||||
this.a = var1;
|
||||
this.b = var2;
|
||||
this.c = var3;
|
||||
this.d = var4;
|
||||
this.e = var5;
|
||||
this.f = var6;
|
||||
}
|
||||
|
||||
public static ConfigHelper a(Object[] var0) {
|
||||
JsonObject var1 = (JsonObject)var0[0];
|
||||
ConfigHelper var4 = new ConfigHelper();
|
||||
var4.a = var1.get("emSize").getAsInt();
|
||||
var4.b = var1.get("lineHeight").getAsFloat();
|
||||
var4.c = var1.get("ascender").getAsFloat();
|
||||
var4.d = var1.get("descender").getAsFloat();
|
||||
var4.e = var1.get("underlineY").getAsFloat();
|
||||
var4.f = var1.get("underlineThickness").getAsFloat();
|
||||
return var4;
|
||||
}
|
||||
|
||||
public int a_int_(Object[] var1) {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public float a_float_(Object[] var1) {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public float b(Object[] var1) {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
public float c(Object[] var1) {
|
||||
return this.d;
|
||||
}
|
||||
|
||||
public float d(Object[] var1) {
|
||||
return this.e;
|
||||
}
|
||||
|
||||
public float e(Object[] var1) {
|
||||
return this.f;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,152 +0,0 @@
|
||||
package dev.zprestige.prestige.config;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class ConfigHelper2 {
|
||||
private int a;
|
||||
private float b;
|
||||
private float c;
|
||||
private float d;
|
||||
private float e;
|
||||
private float f;
|
||||
private float g;
|
||||
private float h;
|
||||
private float i;
|
||||
private float j;
|
||||
|
||||
public static ConfigHelper2 a(Object[] var0) {
|
||||
JsonObject var1 = (JsonObject)var0[0];
|
||||
Event.b();
|
||||
ConfigHelper2 var5 = new ConfigHelper2();
|
||||
var5.a = var1.get("unicode").getAsInt();
|
||||
var5.b = var1.get("advance").getAsFloat();
|
||||
if (var1.has("planeBounds")) {
|
||||
JsonObject var6 = var1.get("planeBounds").getAsJsonObject();
|
||||
var5.c = var6.get("left").getAsFloat();
|
||||
var5.d = var6.get("bottom").getAsFloat();
|
||||
var5.e = var6.get("right").getAsFloat();
|
||||
var5.f = var6.get("top").getAsFloat();
|
||||
}
|
||||
|
||||
if (var1.has("atlasBounds")) {
|
||||
JsonObject var7 = var1.get("atlasBounds").getAsJsonObject();
|
||||
var5.g = var7.get("left").getAsFloat();
|
||||
var5.h = var7.get("bottom").getAsFloat();
|
||||
var5.i = var7.get("right").getAsFloat();
|
||||
var5.j = var7.get("top").getAsFloat();
|
||||
}
|
||||
|
||||
return var5;
|
||||
}
|
||||
|
||||
public int a_int__(Object[] var1) {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public float a_float__(Object[] var1) {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public float b(Object[] var1) {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
public float c(Object[] var1) {
|
||||
return this.d;
|
||||
}
|
||||
|
||||
public float d(Object[] var1) {
|
||||
return this.e;
|
||||
}
|
||||
|
||||
public float e(Object[] var1) {
|
||||
return this.f;
|
||||
}
|
||||
|
||||
public float f(Object[] var1) {
|
||||
return this.g;
|
||||
}
|
||||
|
||||
public float g(Object[] var1) {
|
||||
return this.h;
|
||||
}
|
||||
|
||||
public float h(Object[] var1) {
|
||||
return this.i;
|
||||
}
|
||||
|
||||
public float i(Object[] var1) {
|
||||
return this.j;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,127 +0,0 @@
|
||||
package dev.zprestige.prestige.config;
|
||||
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Objects;
|
||||
|
||||
public class ConfigHelper3 {
|
||||
private final String a;
|
||||
private static final String c = "resource not found: ";
|
||||
|
||||
private ConfigHelper3(String var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public static ConfigHelper3 a(Object[] var0) {
|
||||
String var1 = (String)var0[0];
|
||||
String var5 = var1.startsWith("/") ? var1.substring(1) : var1;
|
||||
return new ConfigHelper3(var5);
|
||||
}
|
||||
|
||||
public InputStream a_InputStream(Object[] var1) {
|
||||
Event.b();
|
||||
InputStream var5 = ConfigHelper3.class.getClassLoader().getResourceAsStream(this.a);
|
||||
if (var5 == null) {
|
||||
throw new IllegalArgumentException(c + this);
|
||||
} else {
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String a_String(Object[] var1) {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object var1) {
|
||||
if (this == var1) {
|
||||
return true;
|
||||
} else {
|
||||
return !(var1 instanceof ConfigHelper3 var5) ? false : this.a.equals(var5.a);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(this.a);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
private static IllegalArgumentException a(IllegalArgumentException var0) {
|
||||
return var0;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,162 +0,0 @@
|
||||
package dev.zprestige.prestige.config;
|
||||
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import java.io.IOException;
|
||||
import java.lang.invoke.CallSite;
|
||||
import java.lang.invoke.MethodHandle;
|
||||
import java.lang.invoke.MethodHandles;
|
||||
import java.lang.invoke.MethodType;
|
||||
import java.lang.invoke.MutableCallSite;
|
||||
import java.lang.invoke.MethodHandles.Lookup;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.SecretKey;
|
||||
import javax.crypto.SecretKeyFactory;
|
||||
import javax.crypto.spec.DESKeySpec;
|
||||
import javax.crypto.spec.IvParameterSpec;
|
||||
import net.minecraft.resource.InputSupplier;
|
||||
import net.minecraft.resource.Resource;
|
||||
import net.minecraft.resource.ResourcePack;
|
||||
import net.minecraft.resource.ResourcePackInfo;
|
||||
import net.minecraft.resource.ResourceType;
|
||||
import net.minecraft.resource.ResourcePack.ResultConsumer;
|
||||
import net.minecraft.resource.metadata.ResourceMetadataSerializer;
|
||||
import net.minecraft.util.Identifier;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class ConfigUtil implements ResourcePack {
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public InputSupplier openRoot(String[] segments) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public InputSupplier open(ResourceType type, Identifier id) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void findResources(ResourceType type, String namespace, String prefix, ResultConsumer consumer) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set getNamespaces(ResourceType type) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Object parseMetadata(ResourceMetadataSerializer metadataSerializer) throws IOException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "Prestige";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional getKnownPackInfo() {
|
||||
return ResourcePack.super.getKnownPackInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourcePackInfo getInfo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
}
|
||||
|
||||
public static Resource a(Object[] var0) {
|
||||
Identifier var1 = (Identifier)var0[0];
|
||||
return new Resource(new ConfigUtil(), () -> Prestige.class.getClassLoader().getResourceAsStream("assets/prestige/" + var1.getPath()));
|
||||
}
|
||||
|
||||
public static Resource b(Object[] var0) {
|
||||
String var1 = (String)var0[0];
|
||||
return new Resource(new ConfigUtil(), () -> Prestige.class.getClassLoader().getResourceAsStream(var1));
|
||||
}
|
||||
|
||||
public static InputSupplier a_class_7367(Object[] var0) {
|
||||
String var1 = (String)var0[0];
|
||||
return () -> Prestige.class.getClassLoader().getResourceAsStream(var1);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package dev.zprestige.prestige.config;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
public class MsdfFontMetrics {
|
||||
private int emSize;
|
||||
private float lineHeight;
|
||||
private float ascender;
|
||||
private float descender;
|
||||
private float underlineY;
|
||||
private float underlineThickness;
|
||||
|
||||
public MsdfFontMetrics() {
|
||||
}
|
||||
|
||||
public MsdfFontMetrics(int size, float lineSpacing, float ascent, float descent, float underlineOffset, float underlineHeight) {
|
||||
this.emSize = size;
|
||||
this.lineHeight = lineSpacing;
|
||||
this.ascender = ascent;
|
||||
this.descender = descent;
|
||||
this.underlineY = underlineOffset;
|
||||
this.underlineThickness = underlineHeight;
|
||||
}
|
||||
|
||||
public static MsdfFontMetrics fromJson(JsonObject json) {
|
||||
MsdfFontMetrics metrics = new MsdfFontMetrics();
|
||||
metrics.emSize = json.get("emSize").getAsInt();
|
||||
metrics.lineHeight = json.get("lineHeight").getAsFloat();
|
||||
metrics.ascender = json.get("ascender").getAsFloat();
|
||||
metrics.descender = json.get("descender").getAsFloat();
|
||||
metrics.underlineY = json.get("underlineY").getAsFloat();
|
||||
metrics.underlineThickness = json.get("underlineThickness").getAsFloat();
|
||||
return metrics;
|
||||
}
|
||||
|
||||
public int getEmSize() {
|
||||
return this.emSize;
|
||||
}
|
||||
|
||||
public float getLineHeight() {
|
||||
return this.lineHeight;
|
||||
}
|
||||
|
||||
public float getAscender() {
|
||||
return this.ascender;
|
||||
}
|
||||
|
||||
public float getDescender() {
|
||||
return this.descender;
|
||||
}
|
||||
|
||||
public float getUnderlineY() {
|
||||
return this.underlineY;
|
||||
}
|
||||
|
||||
public float getUnderlineThickness() {
|
||||
return this.underlineThickness;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package dev.zprestige.prestige.config;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
public class MsdfGlyph {
|
||||
private int codePoint;
|
||||
private float advance;
|
||||
private float planeLeft;
|
||||
private float planeBottom;
|
||||
private float planeRight;
|
||||
private float planeTop;
|
||||
private float atlasLeft;
|
||||
private float atlasBottom;
|
||||
private float atlasRight;
|
||||
private float atlasTop;
|
||||
|
||||
public static MsdfGlyph fromJson(JsonObject json) {
|
||||
MsdfGlyph glyph = new MsdfGlyph();
|
||||
glyph.codePoint = json.get("unicode").getAsInt();
|
||||
glyph.advance = json.get("advance").getAsFloat();
|
||||
if (json.has("planeBounds")) {
|
||||
JsonObject planeBounds = json.get("planeBounds").getAsJsonObject();
|
||||
glyph.planeLeft = planeBounds.get("left").getAsFloat();
|
||||
glyph.planeBottom = planeBounds.get("bottom").getAsFloat();
|
||||
glyph.planeRight = planeBounds.get("right").getAsFloat();
|
||||
glyph.planeTop = planeBounds.get("top").getAsFloat();
|
||||
}
|
||||
|
||||
if (json.has("atlasBounds")) {
|
||||
JsonObject atlasBounds = json.get("atlasBounds").getAsJsonObject();
|
||||
glyph.atlasLeft = atlasBounds.get("left").getAsFloat();
|
||||
glyph.atlasBottom = atlasBounds.get("bottom").getAsFloat();
|
||||
glyph.atlasRight = atlasBounds.get("right").getAsFloat();
|
||||
glyph.atlasTop = atlasBounds.get("top").getAsFloat();
|
||||
}
|
||||
|
||||
return glyph;
|
||||
}
|
||||
|
||||
public int getCodePoint() {
|
||||
return this.codePoint;
|
||||
}
|
||||
|
||||
public float getAdvance() {
|
||||
return this.advance;
|
||||
}
|
||||
|
||||
public float getPlaneLeft() {
|
||||
return this.planeLeft;
|
||||
}
|
||||
|
||||
public float getPlaneBottom() {
|
||||
return this.planeBottom;
|
||||
}
|
||||
|
||||
public float getPlaneRight() {
|
||||
return this.planeRight;
|
||||
}
|
||||
|
||||
public float getPlaneTop() {
|
||||
return this.planeTop;
|
||||
}
|
||||
|
||||
public float getAtlasLeft() {
|
||||
return this.atlasLeft;
|
||||
}
|
||||
|
||||
public float getAtlasBottom() {
|
||||
return this.atlasBottom;
|
||||
}
|
||||
|
||||
public float getAtlasRight() {
|
||||
return this.atlasRight;
|
||||
}
|
||||
|
||||
public float getAtlasTop() {
|
||||
return this.atlasTop;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public record AnchorCandidate(BlockPos anchorPos, BlockPos supportPos, Vec3d hitVec, boolean anchorExists, int charges, double distance, boolean sameLevel, boolean adjacent, int scanIndex, double targetDamageEstimate, double predictedDamageEstimate, double score) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public record AnchorCatchPearlLanding(Vec3d landingPos, int ticksUntilLanding) {
|
||||
}
|
||||
+1
-1
@@ -2,5 +2,5 @@ package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record LongData4(BlockPos ay, long az) {
|
||||
public record AuraCartPlacement(BlockPos pos, long time) {
|
||||
}
|
||||
+1
-1
@@ -3,5 +3,5 @@ package dev.zprestige.prestige.data;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public record VecData2(BlockPos ae, Vec3d af) {
|
||||
public record AutoAnchorPlaceTarget(BlockPos supportPos, Vec3d hitVec) {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public record AutoAnchorPlan(BlockPos anchorPos, BlockPos anchorSupportPos, Vec3d anchorHitVec, boolean anchorExists, BlockPos blockerPos, BlockPos blockerSupportPos, Vec3d blockerHitVec) {
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GlRenderPass;
|
||||
import dev.zprestige.prestige.render.RenderStateElement;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL14;
|
||||
|
||||
public record BlendFuncState(boolean enabled, boolean restoreEnabled, int srcRgb, int dstRgb, int srcAlpha, int dstAlpha) implements RenderStateElement {
|
||||
@Override
|
||||
public void apply(GlRenderPass renderPass) {
|
||||
if (this.enabled) {
|
||||
GL11.glEnable(3042);
|
||||
GL14.glBlendFuncSeparate(this.srcRgb, this.dstRgb, this.srcAlpha, this.dstAlpha);
|
||||
} else {
|
||||
GL11.glDisable(3042);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cleanup() {
|
||||
if (this.restoreEnabled != this.enabled) {
|
||||
if (this.restoreEnabled) {
|
||||
GL11.glEnable(3042);
|
||||
} else {
|
||||
GL11.glDisable(3042);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GlRenderPass;
|
||||
import dev.zprestige.prestige.render.RenderStateElement;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL14;
|
||||
|
||||
public record BlendToggleState(boolean enabled, boolean wasEnabled) implements RenderStateElement {
|
||||
@Override
|
||||
public void apply(GlRenderPass renderPass) {
|
||||
if (this.enabled) {
|
||||
GL11.glEnable(3042);
|
||||
GL14.glBlendFuncSeparate(770, 771, 1, 771);
|
||||
} else {
|
||||
GL11.glDisable(3042);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cleanup() {
|
||||
if (this.wasEnabled != this.enabled) {
|
||||
if (this.wasEnabled) {
|
||||
GL11.glEnable(3042);
|
||||
} else {
|
||||
GL11.glDisable(3042);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderPass;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public record BoolData(boolean bP, boolean bQ) implements Uniform {
|
||||
@Override
|
||||
public void a(RenderPass var1) {
|
||||
GL11.glDepthMask(this.bP);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void a() {
|
||||
if (this.bQ != this.bP) {
|
||||
GL11.glDepthMask(this.bQ);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderPass;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL14;
|
||||
|
||||
public record BoolData2(boolean b1, boolean b2) implements Uniform {
|
||||
@Override
|
||||
public void a(RenderPass var1) {
|
||||
if (this.b1) {
|
||||
GL11.glEnable(3042);
|
||||
GL14.glBlendFuncSeparate(770, 771, 1, 771);
|
||||
} else {
|
||||
GL11.glDisable(3042);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void a() {
|
||||
if (this.b2 != this.b1) {
|
||||
if (this.b2) {
|
||||
GL11.glEnable(3042);
|
||||
} else {
|
||||
GL11.glDisable(3042);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderPass;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL14;
|
||||
|
||||
public record BoolIntData(boolean bH, boolean bI, int bJ, int bK, int bL, int bM) implements Uniform {
|
||||
@Override
|
||||
public void a(RenderPass var1) {
|
||||
if (this.bH) {
|
||||
GL11.glEnable(3042);
|
||||
GL14.glBlendFuncSeparate(this.bJ, this.bK, this.bL, this.bM);
|
||||
} else {
|
||||
GL11.glDisable(3042);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void a() {
|
||||
if (this.bI != this.bH) {
|
||||
if (this.bI) {
|
||||
GL11.glEnable(3042);
|
||||
} else {
|
||||
GL11.glDisable(3042);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,103 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderPass;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public record BoolIntData2(boolean bU, boolean bV, int bW, int bX, int bY, int bZ) implements Uniform {
|
||||
@Override
|
||||
public void a(RenderPass var1) {
|
||||
if (this.bU) {
|
||||
GL11.glEnable(3089);
|
||||
GL11.glScissor(this.bW, this.bX, this.bY, this.bZ);
|
||||
} else {
|
||||
GL11.glDisable(3089);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void a() {
|
||||
if (this.bV != this.bU) {
|
||||
if (this.bV) {
|
||||
GL11.glEnable(3089);
|
||||
} else {
|
||||
GL11.glDisable(3089);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean a_boolean() {
|
||||
return true;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GpuBuffer;
|
||||
import dev.zprestige.prestige.render.RenderHelper31;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
public record BufferData(GpuBuffer au, GpuBuffer av, RenderHelper31 aw, AtomicReference ax) {
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GpuBuffer;
|
||||
|
||||
public record BufferQuadIntData(GpuBuffer cc, IntBoolData cd, int ce, long cf) {
|
||||
}
|
||||
+1
-1
@@ -3,5 +3,5 @@ package dev.zprestige.prestige.data;
|
||||
import net.minecraft.client.render.Camera;
|
||||
import org.joml.Matrix4f;
|
||||
|
||||
public record MatrixCameraData(Matrix4f bA, Matrix4f bB, Camera bC) {
|
||||
public record CameraMatrices(Matrix4f projection, Matrix4f modelView, Camera camera) {
|
||||
}
|
||||
+1
-1
@@ -3,5 +3,5 @@ package dev.zprestige.prestige.data;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record DoubleData(BlockPos al, BlockHitResult am, double an) {
|
||||
public record CartBlockerPlacement(BlockPos pos, BlockHitResult hitResult, double damage) {
|
||||
}
|
||||
+1
-1
@@ -2,5 +2,5 @@ package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public record VecIntData(Vec3d a, int b) {
|
||||
public record CartCatchPearlLanding(Vec3d landingPos, int ticksUntilLanding) {
|
||||
}
|
||||
+1
-1
@@ -3,5 +3,5 @@ package dev.zprestige.prestige.data;
|
||||
import net.minecraft.entity.vehicle.TntMinecartEntity;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public record VecDoubleData(TntMinecartEntity ao, Vec3d ap, double aq, double ar) {
|
||||
public record CartThreat(TntMinecartEntity cart, Vec3d explosionPos, double horizontalSpeed, double damage) {
|
||||
}
|
||||
@@ -1,131 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.world.WorldContract;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.minecraft.client.render.VertexConsumer;
|
||||
|
||||
public record ConsumerData(WorldContract bp) implements VertexConsumer {
|
||||
@Override
|
||||
public VertexConsumer vertex(float x, float y, float z) {
|
||||
WorldContract var10000 = this.bp;
|
||||
Object[] var10006 = new Object[]{null, null, null, 65484385065975L};
|
||||
var10006[2] = z;
|
||||
var10006[1] = y;
|
||||
var10006[0] = x;
|
||||
var10000.c_WorldContract(var10006);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer color(int red, int green, int blue, int alpha) {
|
||||
WorldContract var10000 = this.bp;
|
||||
Object[] var10004 = new Object[]{null, 106573078251021L};
|
||||
var10004[0] = -16776961;
|
||||
var10000.e(var10004);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer color(int argb) {
|
||||
WorldContract var10000 = this.bp;
|
||||
Object[] var10004 = new Object[]{null, 106573078251021L};
|
||||
var10004[0] = -16776961;
|
||||
var10000.e(var10004);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer lineWidth(float width) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer texture(float u, float v) {
|
||||
this.bp.b_WorldContract(new Object[]{new float[]{u, v}, 118034685045795L});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer overlay(int u, int v) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer light(int u, int v) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer normal(float x, float y, float z) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,87 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderPass;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public record ConsumerData2(Consumer b4) implements Uniform {
|
||||
@Override
|
||||
public void a(RenderPass var1) {
|
||||
this.b4.accept(IntData.a(var1.d.a(new Object[0])));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean a_boolean() {
|
||||
return true;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -2,5 +2,5 @@ package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.network.packet.Packet;
|
||||
|
||||
public record LongData3(Packet<?> as, long at) {
|
||||
public record DelayedPacket(Packet<?> packet, long releaseTime) {
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GlRenderPass;
|
||||
import dev.zprestige.prestige.render.RenderStateElement;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public record DepthFuncState(int depthFunc, int restoreDepthFunc) implements RenderStateElement {
|
||||
@Override
|
||||
public void apply(GlRenderPass renderPass) {
|
||||
GL11.glDepthFunc(this.depthFunc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cleanup() {
|
||||
if (this.restoreDepthFunc != this.depthFunc) {
|
||||
GL11.glDepthFunc(this.restoreDepthFunc);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GlRenderPass;
|
||||
import dev.zprestige.prestige.render.RenderStateElement;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public record DepthMaskState(boolean depthWrite, boolean restoreDepthWrite) implements RenderStateElement {
|
||||
@Override
|
||||
public void apply(GlRenderPass renderPass) {
|
||||
GL11.glDepthMask(this.depthWrite);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cleanup() {
|
||||
if (this.restoreDepthWrite != this.depthWrite) {
|
||||
GL11.glDepthMask(this.restoreDepthWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -3,5 +3,5 @@ package dev.zprestige.prestige.data;
|
||||
import net.minecraft.registry.RegistryKey;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public record LongData(RegistryKey<World> bn, long bo) {
|
||||
public record DimensionChunkKey(RegistryKey<World> dimension, long chunkPos) {
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record DoubleBoolData(LivingEntity aG, double aH, double aI, double aJ, boolean aK, BlockPos aL, boolean aM) {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.DrawPipeline;
|
||||
import org.joml.Vector4f;
|
||||
|
||||
public record DrawBatchKey(Vector4f scissorRect, DrawPipeline drawMode) {
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderContract4;
|
||||
|
||||
public record DrawFloatData(RenderContract4 ca, float cb) {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GlBuffer;
|
||||
import dev.zprestige.prestige.render.VertexArray;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
public record DrawModeBuffers(GlBuffer vertexBuffer, GlBuffer indexBuffer, VertexArray vertexArray, AtomicReference activeBuilder) {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record ExplosionDamageKey(LivingEntity target, double x, double y, double z, boolean predictMovement, BlockPos obsidianPos, boolean ignoreTerrain) {
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
public record FloatDoubleIntData(float bt, double bu, int bv, double bw) {
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.FontRenderer;
|
||||
import dev.zprestige.prestige.render.RenderHelper22;
|
||||
import dev.zprestige.prestige.render.RenderPass;
|
||||
import dev.zprestige.prestige.render.Shader;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL13C;
|
||||
import org.lwjgl.opengl.GL20;
|
||||
|
||||
public record FontFloatData(FontRenderer bc, float bd, float be) implements Uniform {
|
||||
private static final int a;
|
||||
|
||||
@Override
|
||||
public void a(RenderPass var1) {
|
||||
GL13C.glActiveTexture(33984);
|
||||
GL11.glBindTexture(3553, this.bc.a);
|
||||
GL20.glUniform2f(a, this.bd, this.be);
|
||||
}
|
||||
|
||||
static {
|
||||
Object var11 = new String[]{"msdfTexture", "unitRange"};
|
||||
a = RenderHelper22.e.d(new Object[]{((Object[])var11)[1], 0L});
|
||||
Shader var10000 = RenderHelper22.e;
|
||||
Object var10001 = ((Object[])var11)[0];
|
||||
Object[] var10005 = new Object[]{null, null, 0L};
|
||||
var10005[1] = 0;
|
||||
var10005[0] = var10001;
|
||||
var10000.a_void_____________________________(var10005);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GlRenderPassBuilder;
|
||||
import dev.zprestige.prestige.render.RenderStateElement;
|
||||
import java.util.function.IntSupplier;
|
||||
|
||||
public record FramebufferBindState(IntSupplier framebuffer) implements RenderStateElement {
|
||||
public FramebufferBindState(int framebufferId) {
|
||||
this(() -> framebufferId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configure(GlRenderPassBuilder drawContext) {
|
||||
drawContext.setFramebuffer(this.framebuffer.getAsInt());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GlRenderPass;
|
||||
import dev.zprestige.prestige.render.RenderStateElement;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public record GlCapabilityState(int capability, boolean enabled, boolean restoreEnabled) implements RenderStateElement {
|
||||
public GlCapabilityState(int glCapability, boolean enabledState) {
|
||||
this(glCapability, enabledState, enabledState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(GlRenderPass renderPass) {
|
||||
if (this.enabled) {
|
||||
GL11.glEnable(this.capability);
|
||||
} else {
|
||||
GL11.glDisable(this.capability);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cleanup() {
|
||||
if (this.restoreEnabled != this.enabled) {
|
||||
if (this.restoreEnabled) {
|
||||
GL11.glEnable(this.capability);
|
||||
} else {
|
||||
GL11.glDisable(this.capability);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowsDuplicates() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
public record IntBoolData(int cg, int ch, int ci, boolean cj) {
|
||||
}
|
||||
@@ -1,106 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderPass;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public record IntBoolData2(int bR, boolean bS, boolean bT) implements Uniform {
|
||||
public IntBoolData2(int var1, boolean var2) {
|
||||
this(var1, var2, var2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void a(RenderPass var1) {
|
||||
if (this.bS) {
|
||||
GL11.glEnable(this.bR);
|
||||
} else {
|
||||
GL11.glDisable(this.bR);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void a() {
|
||||
if (this.bT != this.bS) {
|
||||
if (this.bT) {
|
||||
GL11.glEnable(this.bR);
|
||||
} else {
|
||||
GL11.glDisable(this.bR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean a_boolean() {
|
||||
return true;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,153 +0,0 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderPass;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public record IntData2(int bN, int bO) implements Uniform {
|
||||
@Override
|
||||
public void a(RenderPass var1) {
|
||||
GL11.glDepthFunc(this.bN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void a() {
|
||||
if (this.bO != this.bN) {
|
||||
GL11.glDepthFunc(this.bO);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
public record IntData3(int b5, int b6, int b7, int b8) {
|
||||
}
|
||||
Loaded 100 of 842 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user