This commit is contained in:
bbldrizzy committed 2026-10-23 00:28:57 +01:00
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;
}
}
}
+77 -177
View File
@@ -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) {
}
@@ -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) {
}
@@ -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) {
}
@@ -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) {
}
@@ -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) {
}
@@ -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) {
}
@@ -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;
}
}
}
@@ -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);
}
}
}
@@ -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