commit
d3d4a988eb
774 files changed
+120915
No files matched your search
+15
@@ -0,0 +1,15 @@
|
||||
.gradle/
|
||||
build/
|
||||
run/
|
||||
out/
|
||||
.idea/
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
.vscode/
|
||||
*.log
|
||||
hs_err_pid*
|
||||
# reverse-engineering scratch (pipeline tools, large intermediates)
|
||||
/reverse/
|
||||
/client/
|
||||
/logs/
|
||||
@@ -0,0 +1,64 @@
|
||||
# Open Prestige
|
||||
|
||||
A fully deobfuscated, IntelliJ-ready, runnable reconstruction of the Prestige client for Fabric 1.21.11,
|
||||
with a 1:1 Dear ImGui ClickGUI port.
|
||||
|
||||
<p align="center">
|
||||
<img src="docs/img/deobf-bird.png" width="260" alt="Deobf?">
|
||||
<img src="docs/img/deobf-portrait.webp" width="260" alt="DEOBF?">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img src="docs/img/clickgui.png" width="720" alt="ClickGUI">
|
||||
</p>
|
||||
|
||||
Cracked by Skid Solutions.
|
||||
|
||||
## Contact
|
||||
|
||||
Want the latest, have questions, or want to contribute? Email **[email protected]**.
|
||||
|
||||
Join the Discord: https://discord.gg/5FB5hqJacr
|
||||
|
||||
## Requirements
|
||||
|
||||
- JDK 21 (`C:\Program Files\Java\jdk-21`); Gradle 9.6.1 comes with the wrapper
|
||||
- Minecraft 1.21.11, Fabric Loader 0.19.x, Yarn `1.21.11+build.4`
|
||||
- Loom plugin `net.fabricmc.fabric-loom-remap` 1.17.21
|
||||
|
||||
## Run
|
||||
|
||||
```
|
||||
run.bat
|
||||
```
|
||||
|
||||
`run.bat` starts the dev client (offline) and writes everything to `logs\run_<time>.log`
|
||||
(plus a copy of `latest.log` and any crash report). Open the ClickGUI with the menu key (default `RIGHT SHIFT`).
|
||||
|
||||
Open in IntelliJ: File > Open > this folder (`build.gradle`), "Open as Project", Gradle JVM = JDK 21,
|
||||
then use the generated **Minecraft Client** run configuration.
|
||||
|
||||
Build a self-contained mod jar (imgui-java + natives and ClassTransform are bundled):
|
||||
|
||||
```
|
||||
gradlew build
|
||||
```
|
||||
|
||||
## Layout
|
||||
|
||||
| Path | What |
|
||||
| --- | --- |
|
||||
| `src/main/java/dev/zprestige/prestige/` | the client: 121 modules under `module/`, helpers in `event/ hud/ render/ world/ ...` |
|
||||
| `.../prestige/ui/` | the ImGui ClickGUI (`bridge/` binds it to the live modules, `mc/` is the overlay, `mixin/` the input hooks) |
|
||||
| `.../prestige/engine/` | the hook engine (ClassTransform) that installs the client's Minecraft hooks |
|
||||
| `src/main/resources/` | fonts, icons, shaders, mixin configs, access widener |
|
||||
| `docs/` | name mappings and notes |
|
||||
|
||||
Configs created in the Configs tab are stored in `<game dir>/prestige/configs/`.
|
||||
|
||||
## Credits
|
||||
|
||||
- **technix**: sourcing / Frida scripts
|
||||
- **stutheguyy**: fixing
|
||||
- **bynbang / nitrogenoliquido**: ZKM transformers
|
||||
- **dario claude man**: AI models
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
plugins {
|
||||
id 'net.fabricmc.fabric-loom-remap' version '1.17.21'
|
||||
}
|
||||
|
||||
version = project.mod_version
|
||||
group = project.maven_group
|
||||
|
||||
base {
|
||||
archivesName = project.archives_base_name
|
||||
}
|
||||
|
||||
loom {
|
||||
accessWidenerPath = file('src/main/resources/prestige-client.accesswidener')
|
||||
runs {
|
||||
client {
|
||||
client()
|
||||
ideConfigGenerated(true)
|
||||
runDir 'run'
|
||||
programArg '--offlineDeveloperMode'
|
||||
// dev command file / screenshot facility of the overlay: ./gradlew runClient -PuiCmd=<path>
|
||||
if (project.hasProperty('uiCmd')) vmArg "-Dprestige.ui.cmd=${project.property('uiCmd')}"
|
||||
// dev: -PdumpClasses=ap,C,c9 forces class init of instrumented classes (tools/java/ClinitDump.java, bridge/DumpHook)
|
||||
if (project.hasProperty('dumpClasses')) vmArg "-Dprestige.dump=${project.property('dumpClasses')}"
|
||||
// engine test driver (engine/EngineDev): ./gradlew runClient -PengineCmd=<command file> [-PengineReport=<seconds>] [-PquickPlay=<world>]
|
||||
if (project.hasProperty('engineCmd')) vmArg "-Dprestige.engine.cmd=${project.property('engineCmd')}"
|
||||
if (project.hasProperty('engineReport')) vmArg "-Dprestige.engine.report=${project.property('engineReport')}"
|
||||
if (project.hasProperty('quickPlay')) { programArg '--quickPlaySingleplayer'; programArg project.property('quickPlay') }
|
||||
}
|
||||
}
|
||||
mods {
|
||||
"prestige" {
|
||||
sourceSet sourceSets.main
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
// Libraries copied (unpacked) into the final mod jar so it is self-contained.
|
||||
shade
|
||||
implementation.extendsFrom shade
|
||||
engineMappings
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
||||
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
||||
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
||||
|
||||
// Dear ImGui. The binding contains the Java classes, lwjgl3 the GL3/GLFW backend and
|
||||
// natives-windows the imgui-java64.dll (extracted from the jar at runtime by imgui-java).
|
||||
shade "io.github.spair:imgui-java-binding:${project.imgui_version}"
|
||||
// imgui-java-lwjgl3 pulls LWJGL 3.4.1 transitively, which replaces Minecraft's 3.3.3 jars and breaks world saving
|
||||
shade("io.github.spair:imgui-java-lwjgl3:${project.imgui_version}") { exclude group: 'org.lwjgl' }
|
||||
shade "io.github.spair:imgui-java-natives-windows:${project.imgui_version}"
|
||||
|
||||
// ClassTransform (net.lenni0451, customised build); engine/EnginePlugin uses it to apply the client's @CTransformer hooks.
|
||||
shade files('libs/classtransform-bundled.jar')
|
||||
// Yarn tiny shipped as prestige-engine/mappings.tiny for the production (Intermediary) runtime
|
||||
engineMappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
||||
}
|
||||
|
||||
processResources {
|
||||
inputs.property "version", project.version
|
||||
filteringCharset "UTF-8"
|
||||
filesMatching("fabric.mod.json") {
|
||||
expand "version": project.version
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType(JavaCompile).configureEach {
|
||||
options.encoding = "UTF-8"
|
||||
options.release = 21
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
withSourcesJar()
|
||||
}
|
||||
|
||||
jar {
|
||||
// Unpack the shaded libs (imgui classes + native dll, ClassTransform) into the mod jar.
|
||||
from({
|
||||
configurations.shade.collect { it.isDirectory() ? it : zipTree(it) }
|
||||
}) {
|
||||
exclude 'META-INF/MANIFEST.MF', 'META-INF/*.SF', 'META-INF/*.RSA', 'META-INF/*.DSA'
|
||||
exclude 'module-info.class', 'META-INF/versions/**'
|
||||
}
|
||||
from({ zipTree(configurations.engineMappings.singleFile) }) {
|
||||
include 'mappings/mappings.tiny'
|
||||
eachFile { it.relativePath = new RelativePath(true, 'prestige-engine', 'mappings.tiny') }
|
||||
includeEmptyDirs = false
|
||||
}
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
package dev.prestige.ui;
|
||||
|
||||
import imgui.*;
|
||||
import java.io.FileInputStream;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Headless state-transition check of the popup / gamemode / colour-picker logic (Input owns all state).
|
||||
* Run: java -cp <classes>;<imgui jars> dev.prestige.ui.InputCheck <resources/prestige_ui dir>
|
||||
* (needs the imgui-java binding + windows natives for text metrics; no window / GL).
|
||||
*/
|
||||
public final class InputCheck {
|
||||
static int fails, checks;
|
||||
static void check(boolean ok, String what) { checks++; if (!ok) { fails++; System.out.println("FAIL: " + what); } }
|
||||
|
||||
static void frames(int n) { for (int i = 0; i < n; i++) { Input.update(1f / 60f); frame(); } }
|
||||
static void frame() {
|
||||
ImGui.newFrame();
|
||||
Lib.dl = ImGui.getForegroundDrawList();
|
||||
Ui.frame();
|
||||
ImGui.render();
|
||||
}
|
||||
static void move(float x, float y) { Input.mx = x; Input.my = y; Input.update(1f / 60f); }
|
||||
static void click(float x, float y, int btn) { move(x, y); Input.mouseDown(btn); Input.mouseUp(btn); }
|
||||
|
||||
static DetailPage.Setting find(int type) {
|
||||
for (DetailPage.Setting s : Input.vis()) if (s.type == type) return s;
|
||||
return null;
|
||||
}
|
||||
static float[] box(DetailPage.Setting s, float w) {
|
||||
float[] p = Input.panel();
|
||||
int vi = Input.vis().indexOf(s);
|
||||
return new float[]{(p[0] + p[2]) - 20f - w + w / 2f, Input.rowY(vi) + 13f + 14f};
|
||||
}
|
||||
|
||||
public static void main(String[] a) throws Exception {
|
||||
String dir = a[0];
|
||||
ImGui.createContext();
|
||||
ImGuiIO io = ImGui.getIO();
|
||||
io.setIniFilename(null);
|
||||
io.setDisplaySize(1920f, 1009f);
|
||||
io.setDeltaTime(1f / 60f);
|
||||
String[][] F = {{"DMSans-Medium", "26"}, {"DMSans-Medium", "29"}, {"DMSans-Regular", "20"}, {"DMSans-Regular", "17"}, {"DMSans-Regular", "14"},
|
||||
{"DMSans-Medium", "18"}, {"DMSerifDisplay-Regular", "24"}, {"DMSerifDisplay-Italic", "24"}, {"DMSerifDisplay-Regular", "34"},
|
||||
{"DMSerifDisplay-Italic", "34"}, {"DMSans-Medium", "20"}};
|
||||
for (int i = 0; i < F.length; i++) {
|
||||
ImFontConfig cfg = new ImFontConfig();
|
||||
Lib.FONT[i] = io.getFonts().addFontFromFileTTF(dir + "/fonts/" + F[i][0] + ".ttf", Float.parseFloat(F[i][1]), cfg);
|
||||
cfg.destroy();
|
||||
}
|
||||
io.getFonts().build();
|
||||
Lib.ox = 0; Lib.oy = 0;
|
||||
Data.load(new FileInputStream(dir + "/modules.tsv"), new FileInputStream(dir + "/settings.tsv"));
|
||||
Ui.initEntries(null);
|
||||
Input.active = true;
|
||||
Ui.S.page = 0;
|
||||
frame(); // prime ImGui frame state
|
||||
ImGui.render();
|
||||
|
||||
// ---- gamemode view
|
||||
ModulesPage.Mod aim = ModulesPage.P.mods.stream().filter(m -> m.category.equals("Combat")).findFirst().get();
|
||||
Input.setGamemodes(aim.name, 1 << 2); // Sword
|
||||
frames(3);
|
||||
float[] gb = Input.panel();
|
||||
click(gb[4] + gb[6] / 2, gb[5] + gb[7] / 2, 0);
|
||||
check(ModulesPage.P.gamemodes && ModulesPage.P.gamemode == 0, "gamemodes button toggles view");
|
||||
check(Input.entries().isEmpty(), "Crystal chip: no module has bit 0");
|
||||
frames(60);
|
||||
float[][] sr = Input.stripRects();
|
||||
click(sr[2][0] + sr[2][2] / 2, sr[2][1] + sr[2][3] / 2, 0);
|
||||
check(ModulesPage.P.gamemode == 2, "Sword chip selected");
|
||||
check(Input.entries().size() == 1 && Input.mod(Input.entries().get(0)[0], Input.entries().get(0)[1]) == aim, "gamemode mask filters entries");
|
||||
frames(60); // draws strip + cards through ModulesPage
|
||||
click(gb[4] + gb[6] / 2, gb[5] + gb[7] / 2, 0);
|
||||
check(!ModulesPage.P.gamemodes, "gamemodes button toggles back");
|
||||
frames(10);
|
||||
|
||||
// ---- open ESP detail (enum, multi, colour rows)
|
||||
ModulesPage.Mod esp = ModulesPage.P.mods.stream().filter(m -> m.name.equals("ESP")).findFirst().get();
|
||||
Input.openDetail(esp);
|
||||
// the tsv carries no options for multi-selects (the live client supplies them): give the row some
|
||||
for (int i = 0; i < DetailPage.D.settings.size(); i++) if (DetailPage.D.settings.get(i).type == 7) {
|
||||
DetailPage.Setting n = new DetailPage.Setting();
|
||||
n.name = DetailPage.D.settings.get(i).name; n.type = 7; n.opts = new String[]{"Players", "Mobs", "Items", "Crystals"};
|
||||
DetailPage.D.settings.set(i, n);
|
||||
}
|
||||
frames(80);
|
||||
DetailPage.Setting en = find(6), ms = find(7), cp = find(2);
|
||||
check(en != null && ms != null && cp != null, "ESP has enum+multi+colour rows");
|
||||
|
||||
// enum: left click cycles
|
||||
String before = en.sval;
|
||||
float[] b = box(en, 140f);
|
||||
click(b[0], b[1], 0);
|
||||
check(!en.sval.equals(before) && !Input.ddOpen, "enum left click cycles, no popup");
|
||||
// enum: right click opens, popup shown, hover pick
|
||||
move(b[0], b[1]);
|
||||
Input.mouseDown(1); Input.mouseUp(1);
|
||||
check(Input.ddOpen && Input.ddSetting == en, "enum right click opens list");
|
||||
frames(40);
|
||||
check(Input.ddShown == en && Input.ddA > 0.9f, "enum popup state visible for drawing");
|
||||
float px = Input.panel()[0] + Input.panel()[2] - 160f + 70f, py = Input.popupY(Input.vis().indexOf(en), en.opts.length * 28f) + 2 * 28f + 14f;
|
||||
move(px, py);
|
||||
check(Input.ddHover == 2, "enum hover over option 2 (" + Input.ddHover + ")");
|
||||
Input.mouseDown(0); Input.mouseUp(0);
|
||||
check(en.sval.equals(en.opts[2]) && !Input.ddOpen, "enum pick sets value and closes");
|
||||
frames(60);
|
||||
check(Input.ddShown == null, "enum popup state released after fade");
|
||||
|
||||
// multi: left click opens, click option toggles, outside closes
|
||||
b = box(ms, 140f);
|
||||
click(b[0], b[1], 0);
|
||||
check(Input.msOpen && Input.msSetting == ms, "multi left click opens popup");
|
||||
frames(40);
|
||||
boolean[] fl = Input.multiFlags(ms);
|
||||
boolean f1 = fl[1];
|
||||
py = Input.popupY(Input.vis().indexOf(ms), ms.opts.length * 28f) + 28f + 14f;
|
||||
click(px, py, 0);
|
||||
check(fl[1] != f1 && Input.msOpen, "multi option toggles, popup stays");
|
||||
click(300f, 400f, 0);
|
||||
check(!Input.msOpen, "click outside closes multi");
|
||||
move(b[0], b[1]); Input.mouseDown(1); Input.mouseUp(1);
|
||||
check(Input.msOpen, "multi right click opens popup");
|
||||
frames(30);
|
||||
Input.escape();
|
||||
check(!Input.msOpen, "ESC closes multi");
|
||||
frames(40);
|
||||
|
||||
// colour: left click opens picker, drag in SV square changes colour, ESC closes
|
||||
float[] cs = box(cp, 56f);
|
||||
click(cs[0], cs[1], 0);
|
||||
check(Input.cpOpen && Input.cpSetting == cp, "colour swatch click opens picker");
|
||||
frames(40);
|
||||
float[] g = Input.cpGeom(cp);
|
||||
float[] oldc = cp.color.clone();
|
||||
move(g[0] + 30, g[1] + 40);
|
||||
Input.mouseDown(0);
|
||||
move(g[0] + 90, g[1] + 100);
|
||||
Input.mouseUp(0);
|
||||
check(Input.cpOpen && !java.util.Arrays.equals(oldc, cp.color), "SV drag changes colour");
|
||||
frames(20);
|
||||
Input.escape();
|
||||
check(!Input.cpOpen, "ESC closes picker");
|
||||
frames(60);
|
||||
check(Input.cpShown == null, "picker state released");
|
||||
|
||||
// right click on colour row opens too; only one popup at a time
|
||||
move(cs[0], cs[1]); Input.mouseDown(1); Input.mouseUp(1);
|
||||
check(Input.cpOpen && !Input.ddOpen && !Input.msOpen, "colour right click opens picker");
|
||||
b = box(en, 140f);
|
||||
move(b[0], b[1]); Input.mouseDown(1); Input.mouseUp(1);
|
||||
check(!Input.cpOpen || Input.ddOpen, "opening enum while picker open: popups are exclusive or click closed first");
|
||||
frames(30);
|
||||
|
||||
// search state is Input's
|
||||
Input.closeDetail();
|
||||
Ui.S.searchFocused = true; Ui.S.search = "esp";
|
||||
frames(40);
|
||||
check(!Input.results.isEmpty() && Input.searchAlpha > 0.9f, "search results come from Input");
|
||||
|
||||
System.out.println(checks + " checks, " + fails + " failures");
|
||||
ImGui.destroyContext();
|
||||
if (fails > 0) System.exit(1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,402 @@
|
||||
# Generated by client/tools/gen_class_mapping.py - normalised names for the decompiled helper classes.
|
||||
# Applied together with docs/mapping.tsv by client/tools/rename.sh.
|
||||
C dev/zprestige/prestige/A dev/zprestige/prestige/type/BlockBreakType
|
||||
C dev/zprestige/prestige/a0 dev/zprestige/prestige/event/TickEvent
|
||||
C dev/zprestige/prestige/a1 dev/zprestige/prestige/event/IntEvent
|
||||
C dev/zprestige/prestige/a2 dev/zprestige/prestige/event/FloatColorEvent
|
||||
C dev/zprestige/prestige/a3 dev/zprestige/prestige/event/FloatEvent
|
||||
C dev/zprestige/prestige/a4 dev/zprestige/prestige/event/TickEvent2
|
||||
C dev/zprestige/prestige/a5 dev/zprestige/prestige/event/TickEvent3
|
||||
C dev/zprestige/prestige/a6 dev/zprestige/prestige/event/TickEvent4
|
||||
C dev/zprestige/prestige/a7 dev/zprestige/prestige/event/EntityBoolEvent
|
||||
C dev/zprestige/prestige/a8 dev/zprestige/prestige/event/EntityFloatEvent
|
||||
C dev/zprestige/prestige/a9 dev/zprestige/prestige/event/TickEvent5
|
||||
C dev/zprestige/prestige/a_ dev/zprestige/prestige/event/IntEvent2
|
||||
C dev/zprestige/prestige/a dev/zprestige/prestige/type/AnchorState
|
||||
C dev/zprestige/prestige/aA dev/zprestige/prestige/combat/DamageUtil
|
||||
C dev/zprestige/prestige/aa dev/zprestige/prestige/render/RenderHelper
|
||||
C dev/zprestige/prestige/aB dev/zprestige/prestige/world/WorldHelper
|
||||
C dev/zprestige/prestige/ab dev/zprestige/prestige/render/RenderHelper2
|
||||
C dev/zprestige/prestige/aC dev/zprestige/prestige/render/RenderHelper3
|
||||
C dev/zprestige/prestige/ac dev/zprestige/prestige/math/MathHelper
|
||||
C dev/zprestige/prestige/aD dev/zprestige/prestige/math/MathHelper2
|
||||
C dev/zprestige/prestige/ad dev/zprestige/prestige/math/MathHelper3
|
||||
C dev/zprestige/prestige/aE dev/zprestige/prestige/math/MathHelper4
|
||||
C dev/zprestige/prestige/ae dev/zprestige/prestige/world/WorldHelper2
|
||||
C dev/zprestige/prestige/aF dev/zprestige/prestige/social/AltManager
|
||||
C dev/zprestige/prestige/af dev/zprestige/prestige/render/RenderHelper4
|
||||
C dev/zprestige/prestige/aG dev/zprestige/prestige/render/ESPUtil
|
||||
C dev/zprestige/prestige/ag dev/zprestige/prestige/inventory/ArmorUtil
|
||||
C dev/zprestige/prestige/aH dev/zprestige/prestige/event/Event
|
||||
C dev/zprestige/prestige/ah dev/zprestige/prestige/render/RenderHelper5
|
||||
C dev/zprestige/prestige/aI dev/zprestige/prestige/event/PlayerEvent
|
||||
C dev/zprestige/prestige/ai dev/zprestige/prestige/combat/TargetManager
|
||||
C dev/zprestige/prestige/aJ dev/zprestige/prestige/event/TickEvent6
|
||||
C dev/zprestige/prestige/aj dev/zprestige/prestige/combat/AutoArmorHelper
|
||||
C dev/zprestige/prestige/aK dev/zprestige/prestige/event/EntityEvent
|
||||
C dev/zprestige/prestige/ak dev/zprestige/prestige/math/AutoCrystalHelper
|
||||
C dev/zprestige/prestige/aL dev/zprestige/prestige/event/TickEvent7
|
||||
C dev/zprestige/prestige/al dev/zprestige/prestige/math/AutoObbyCrystalHelper
|
||||
C dev/zprestige/prestige/aM dev/zprestige/prestige/event/TickEvent8
|
||||
C dev/zprestige/prestige/am dev/zprestige/prestige/render/AutoTotemHelper
|
||||
C dev/zprestige/prestige/aN dev/zprestige/prestige/event/TickEvent9
|
||||
C dev/zprestige/prestige/an dev/zprestige/prestige/render/RenderHelper6
|
||||
C dev/zprestige/prestige/aO dev/zprestige/prestige/event/TickEvent10
|
||||
C dev/zprestige/prestige/ao dev/zprestige/prestige/world/WorldUtil2
|
||||
C dev/zprestige/prestige/aP dev/zprestige/prestige/event/BlockPosBlockEvent
|
||||
C dev/zprestige/prestige/ap dev/zprestige/prestige/render/RenderHelper7
|
||||
C dev/zprestige/prestige/aQ dev/zprestige/prestige/event/TickEvent11
|
||||
C dev/zprestige/prestige/aq dev/zprestige/prestige/render/RenderHelper8
|
||||
C dev/zprestige/prestige/aR dev/zprestige/prestige/event/EntityEvent2
|
||||
C dev/zprestige/prestige/ar dev/zprestige/prestige/render/RenderHelper9
|
||||
C dev/zprestige/prestige/aS dev/zprestige/prestige/event/TickEvent12
|
||||
C dev/zprestige/prestige/as dev/zprestige/prestige/world/OreSimulationHelper
|
||||
C dev/zprestige/prestige/aT dev/zprestige/prestige/event/DoubleEvent
|
||||
C dev/zprestige/prestige/at dev/zprestige/prestige/render/RenderHelper10
|
||||
C dev/zprestige/prestige/aU dev/zprestige/prestige/event/TickEvent13
|
||||
C dev/zprestige/prestige/au dev/zprestige/prestige/combat/AimManager
|
||||
C dev/zprestige/prestige/aV dev/zprestige/prestige/event/TickEvent14
|
||||
C dev/zprestige/prestige/av dev/zprestige/prestige/world/CobwebPlacerHelper
|
||||
C dev/zprestige/prestige/aW dev/zprestige/prestige/event/EntityEvent3
|
||||
C dev/zprestige/prestige/aw dev/zprestige/prestige/config/ConfigManager
|
||||
C dev/zprestige/prestige/aX dev/zprestige/prestige/event/EntityEvent4
|
||||
C dev/zprestige/prestige/ax dev/zprestige/prestige/render/RenderHelper11
|
||||
C dev/zprestige/prestige/aY dev/zprestige/prestige/event/FloatDoubleEvent
|
||||
C dev/zprestige/prestige/ay dev/zprestige/prestige/render/RenderHelper12
|
||||
C dev/zprestige/prestige/aZ dev/zprestige/prestige/event/TickEvent15
|
||||
C dev/zprestige/prestige/az dev/zprestige/prestige/render/RenderHelper13
|
||||
C dev/zprestige/prestige/B dev/zprestige/prestige/type/CartState
|
||||
C dev/zprestige/prestige/b0 dev/zprestige/prestige/math/HitEffectHelper
|
||||
C dev/zprestige/prestige/b1 dev/zprestige/prestige/world/PlacementCheck
|
||||
C dev/zprestige/prestige/b2 dev/zprestige/prestige/math/MathUtil
|
||||
C dev/zprestige/prestige/b3 dev/zprestige/prestige/math/MathUtil2
|
||||
C dev/zprestige/prestige/b4 dev/zprestige/prestige/hud/HudElement
|
||||
C dev/zprestige/prestige/b5 dev/zprestige/prestige/hud/CartHelperElement
|
||||
C dev/zprestige/prestige/b6 dev/zprestige/prestige/hud/CooldownIndicatorElement
|
||||
C dev/zprestige/prestige/b7 dev/zprestige/prestige/hud/CrosshairElement
|
||||
C dev/zprestige/prestige/b8 dev/zprestige/prestige/hud/FPSElement
|
||||
C dev/zprestige/prestige/b9 dev/zprestige/prestige/hud/KeybindsElement
|
||||
C dev/zprestige/prestige/b_ dev/zprestige/prestige/hud/LatencyElement
|
||||
C dev/zprestige/prestige/b dev/zprestige/prestige/type/ScoopState
|
||||
C dev/zprestige/prestige/bA dev/zprestige/prestige/event/StringEvent
|
||||
C dev/zprestige/prestige/ba dev/zprestige/prestige/event/TickEvent16
|
||||
C dev/zprestige/prestige/bB dev/zprestige/prestige/event/ColorEvent
|
||||
C dev/zprestige/prestige/bb dev/zprestige/prestige/event/EntityEvent5
|
||||
C dev/zprestige/prestige/bC dev/zprestige/prestige/event/TickEvent17
|
||||
C dev/zprestige/prestige/bc dev/zprestige/prestige/event/StringEvent2
|
||||
C dev/zprestige/prestige/bD dev/zprestige/prestige/event/BoolEvent
|
||||
C dev/zprestige/prestige/bd dev/zprestige/prestige/event/FloatEvent2
|
||||
C dev/zprestige/prestige/bE dev/zprestige/prestige/event/IntEvent3
|
||||
C dev/zprestige/prestige/be dev/zprestige/prestige/event/IntEvent4
|
||||
C dev/zprestige/prestige/bF dev/zprestige/prestige/event/TickEvent18
|
||||
C dev/zprestige/prestige/bf dev/zprestige/prestige/event/FloatPositionEvent
|
||||
C dev/zprestige/prestige/bG dev/zprestige/prestige/event/TickEvent19
|
||||
C dev/zprestige/prestige/bg dev/zprestige/prestige/event/PacketEvent
|
||||
C dev/zprestige/prestige/bH dev/zprestige/prestige/event/TickEvent20
|
||||
C dev/zprestige/prestige/bh dev/zprestige/prestige/event/PacketEvent2
|
||||
C dev/zprestige/prestige/bI dev/zprestige/prestige/event/FloatEvent3
|
||||
C dev/zprestige/prestige/bi dev/zprestige/prestige/event/TickEvent21
|
||||
C dev/zprestige/prestige/bJ dev/zprestige/prestige/event/TickEvent22
|
||||
C dev/zprestige/prestige/bj dev/zprestige/prestige/event/TickEvent23
|
||||
C dev/zprestige/prestige/bK dev/zprestige/prestige/event/DoubleEvent2
|
||||
C dev/zprestige/prestige/bk dev/zprestige/prestige/event/FloatEvent4
|
||||
C dev/zprestige/prestige/bL dev/zprestige/prestige/event/DoubleEvent3
|
||||
C dev/zprestige/prestige/bl dev/zprestige/prestige/event/TickEvent24
|
||||
C dev/zprestige/prestige/bM dev/zprestige/prestige/event/LongEvent
|
||||
C dev/zprestige/prestige/bm dev/zprestige/prestige/event/FloatMatrixEvent
|
||||
C dev/zprestige/prestige/bN dev/zprestige/prestige/event/BlockBoolEvent
|
||||
C dev/zprestige/prestige/bn dev/zprestige/prestige/event/PlayerStringEvent
|
||||
C dev/zprestige/prestige/bo dev/zprestige/prestige/event/TickEvent25
|
||||
C dev/zprestige/prestige/bp dev/zprestige/prestige/event/ItemEvent
|
||||
C dev/zprestige/prestige/bQ dev/zprestige/prestige/reflect/FieldValue
|
||||
C dev/zprestige/prestige/bq dev/zprestige/prestige/event/EntityEvent6
|
||||
C dev/zprestige/prestige/bR dev/zprestige/prestige/reflect/MethodValue
|
||||
C dev/zprestige/prestige/br dev/zprestige/prestige/event/TickEvent26
|
||||
C dev/zprestige/prestige/bS dev/zprestige/prestige/render/GpuBuffer
|
||||
C dev/zprestige/prestige/bs dev/zprestige/prestige/event/FloatEvent5
|
||||
C dev/zprestige/prestige/bT dev/zprestige/prestige/render/TextRenderer
|
||||
C dev/zprestige/prestige/bt dev/zprestige/prestige/event/TickEvent27
|
||||
C dev/zprestige/prestige/bU dev/zprestige/prestige/render/Framebuffer
|
||||
C dev/zprestige/prestige/bu dev/zprestige/prestige/event/TickEvent28
|
||||
C dev/zprestige/prestige/bV dev/zprestige/prestige/render/RenderHelper14
|
||||
C dev/zprestige/prestige/bv dev/zprestige/prestige/event/TickEvent29
|
||||
C dev/zprestige/prestige/bW dev/zprestige/prestige/render/FontRenderer
|
||||
C dev/zprestige/prestige/bw dev/zprestige/prestige/event/TickEvent30
|
||||
C dev/zprestige/prestige/bX dev/zprestige/prestige/math/MathHelper5
|
||||
C dev/zprestige/prestige/bx dev/zprestige/prestige/event/TickEvent31
|
||||
C dev/zprestige/prestige/bY dev/zprestige/prestige/network/PacketQueue
|
||||
C dev/zprestige/prestige/by dev/zprestige/prestige/event/LivingEvent
|
||||
C dev/zprestige/prestige/bZ dev/zprestige/prestige/render/RenderHelper15
|
||||
C dev/zprestige/prestige/bz dev/zprestige/prestige/event/BoolPositionEvent
|
||||
C dev/zprestige/prestige/C dev/zprestige/prestige/reflect/MethodHandleCache
|
||||
C dev/zprestige/prestige/c0 dev/zprestige/prestige/world/OreColorUtil
|
||||
C dev/zprestige/prestige/c1 dev/zprestige/prestige/render/RenderLayerUtil
|
||||
C dev/zprestige/prestige/c2 dev/zprestige/prestige/render/VertexBufferProvider
|
||||
C dev/zprestige/prestige/c3 dev/zprestige/prestige/network/NetworkUtil
|
||||
C dev/zprestige/prestige/c4 dev/zprestige/prestige/math/PearlTrajectoryHelper
|
||||
C dev/zprestige/prestige/c5 dev/zprestige/prestige/math/MathUtil3
|
||||
C dev/zprestige/prestige/c6 dev/zprestige/prestige/network/NetworkUtil2
|
||||
C dev/zprestige/prestige/c7 dev/zprestige/prestige/world/RaycastUtil
|
||||
C dev/zprestige/prestige/c8 dev/zprestige/prestige/world/PositionUtil
|
||||
C dev/zprestige/prestige/c9 dev/zprestige/prestige/render/VertexBuffer
|
||||
C dev/zprestige/prestige/c_ dev/zprestige/prestige/combat/CombatHelper
|
||||
C dev/zprestige/prestige/c dev/zprestige/prestige/type/AutoAnchorState
|
||||
C dev/zprestige/prestige/cA dev/zprestige/prestige/render/Font
|
||||
C dev/zprestige/prestige/ca dev/zprestige/prestige/hud/ModuleListElement
|
||||
C dev/zprestige/prestige/cB dev/zprestige/prestige/render/RenderContract
|
||||
C dev/zprestige/prestige/cb dev/zprestige/prestige/hud/ModuleNotificationsElement
|
||||
C dev/zprestige/prestige/cC dev/zprestige/prestige/render/FontManager
|
||||
C dev/zprestige/prestige/cc dev/zprestige/prestige/hud/OffscreenArrowElement
|
||||
C dev/zprestige/prestige/cD dev/zprestige/prestige/config/ConfigHelper
|
||||
C dev/zprestige/prestige/cd dev/zprestige/prestige/hud/PotionDisplayElement
|
||||
C dev/zprestige/prestige/cE dev/zprestige/prestige/config/ConfigHelper2
|
||||
C dev/zprestige/prestige/ce dev/zprestige/prestige/hud/ResourcesElement
|
||||
C dev/zprestige/prestige/cF dev/zprestige/prestige/world/WorldContract
|
||||
C dev/zprestige/prestige/cf dev/zprestige/prestige/hud/TPSElement
|
||||
C dev/zprestige/prestige/cG dev/zprestige/prestige/render/GlPrimitiveTable
|
||||
C dev/zprestige/prestige/cg dev/zprestige/prestige/hud/TargetElement
|
||||
C dev/zprestige/prestige/cH dev/zprestige/prestige/render/RenderHelper16
|
||||
C dev/zprestige/prestige/ch dev/zprestige/prestige/hud/TimeElement
|
||||
C dev/zprestige/prestige/cI dev/zprestige/prestige/render/RenderHelper17
|
||||
C dev/zprestige/prestige/ci dev/zprestige/prestige/hud/WatermarkElement
|
||||
C dev/zprestige/prestige/cj dev/zprestige/prestige/hud/WebsiteElement
|
||||
C dev/zprestige/prestige/cK dev/zprestige/prestige/render/RenderHelper18
|
||||
C dev/zprestige/prestige/ck dev/zprestige/prestige/render/RenderHelper19
|
||||
C dev/zprestige/prestige/cL dev/zprestige/prestige/render/RenderHelper20
|
||||
C dev/zprestige/prestige/cl dev/zprestige/prestige/render/RenderHelper21
|
||||
C dev/zprestige/prestige/cM dev/zprestige/prestige/util/BindManager
|
||||
C dev/zprestige/prestige/cm dev/zprestige/prestige/event/EventManager
|
||||
C dev/zprestige/prestige/cN dev/zprestige/prestige/combat/NameTags
|
||||
C dev/zprestige/prestige/cn dev/zprestige/prestige/combat/NameTagsUtil
|
||||
C dev/zprestige/prestige/cO dev/zprestige/prestige/inventory/ItemLabel
|
||||
C dev/zprestige/prestige/co dev/zprestige/prestige/inventory/InventoryUtil2
|
||||
C dev/zprestige/prestige/cP dev/zprestige/prestige/annotation/Chainable
|
||||
C dev/zprestige/prestige/cp dev/zprestige/prestige/render/RenderHelper22
|
||||
C dev/zprestige/prestige/cQ dev/zprestige/prestige/annotation/NativeId
|
||||
C dev/zprestige/prestige/cq dev/zprestige/prestige/network/PacketManager
|
||||
C dev/zprestige/prestige/cR dev/zprestige/prestige/util/TpsTimer
|
||||
C dev/zprestige/prestige/cr dev/zprestige/prestige/inventory/InventoryUtil
|
||||
C dev/zprestige/prestige/cS dev/zprestige/prestige/util/ClientUtil
|
||||
C dev/zprestige/prestige/cs dev/zprestige/prestige/inventory/ItemESPHelper
|
||||
C dev/zprestige/prestige/cT dev/zprestige/prestige/render/RenderHelper23
|
||||
C dev/zprestige/prestige/ct dev/zprestige/prestige/math/JumpCirclesHelper
|
||||
C dev/zprestige/prestige/cU dev/zprestige/prestige/reflect/ReflectionBase
|
||||
C dev/zprestige/prestige/cu dev/zprestige/prestige/render/RenderUtil2
|
||||
C dev/zprestige/prestige/cV dev/zprestige/prestige/reflect/FieldAccessor
|
||||
C dev/zprestige/prestige/cv dev/zprestige/prestige/render/RenderUtil3
|
||||
C dev/zprestige/prestige/cW dev/zprestige/prestige/reflect/MethodAccessor
|
||||
C dev/zprestige/prestige/cw dev/zprestige/prestige/input/MouseManager
|
||||
C dev/zprestige/prestige/cX dev/zprestige/prestige/reflect/FieldSpec
|
||||
C dev/zprestige/prestige/cx dev/zprestige/prestige/render/RenderUtil4
|
||||
C dev/zprestige/prestige/cY dev/zprestige/prestige/reflect/MethodSpec
|
||||
C dev/zprestige/prestige/cZ dev/zprestige/prestige/render/ESPHelper
|
||||
C dev/zprestige/prestige/cz dev/zprestige/prestige/render/RenderContract2
|
||||
C dev/zprestige/prestige/D dev/zprestige/prestige/world/WorldHelper3
|
||||
C dev/zprestige/prestige/d dev/zprestige/prestige/type/BowMode
|
||||
C dev/zprestige/prestige/dA dev/zprestige/prestige/render/RenderState
|
||||
C dev/zprestige/prestige/da dev/zprestige/prestige/config/ConfigUtil
|
||||
C dev/zprestige/prestige/dB dev/zprestige/prestige/render/MatrixStack
|
||||
C dev/zprestige/prestige/db dev/zprestige/prestige/config/ConfigHelper3
|
||||
C dev/zprestige/prestige/dC dev/zprestige/prestige/render/RenderBatch
|
||||
C dev/zprestige/prestige/dc dev/zprestige/prestige/render/ShaderBase
|
||||
C dev/zprestige/prestige/dD dev/zprestige/prestige/render/Renderer2D
|
||||
C dev/zprestige/prestige/dd dev/zprestige/prestige/render/RenderTarget
|
||||
C dev/zprestige/prestige/dE dev/zprestige/prestige/render/RenderHelper24
|
||||
C dev/zprestige/prestige/de dev/zprestige/prestige/render/PostShader
|
||||
C dev/zprestige/prestige/dF dev/zprestige/prestige/render/RenderContract3
|
||||
C dev/zprestige/prestige/df dev/zprestige/prestige/render/AuraOutlineShader
|
||||
C dev/zprestige/prestige/dG dev/zprestige/prestige/world/WorldUtil
|
||||
C dev/zprestige/prestige/dg dev/zprestige/prestige/render/ChamsOutlineShader
|
||||
C dev/zprestige/prestige/dH dev/zprestige/prestige/combat/RotationManager
|
||||
C dev/zprestige/prestige/dh dev/zprestige/prestige/render/OutlineShader
|
||||
C dev/zprestige/prestige/dI dev/zprestige/prestige/math/MathHelper6
|
||||
C dev/zprestige/prestige/di dev/zprestige/prestige/render/RainbowOutlineShader
|
||||
C dev/zprestige/prestige/dJ dev/zprestige/prestige/render/SafeAnchorHelper
|
||||
C dev/zprestige/prestige/dj dev/zprestige/prestige/render/RoundedOutlinePosColorShader
|
||||
C dev/zprestige/prestige/dk dev/zprestige/prestige/render/RoundedPosColorShader
|
||||
C dev/zprestige/prestige/dl dev/zprestige/prestige/render/RoundedTextureShader
|
||||
C dev/zprestige/prestige/dm dev/zprestige/prestige/render/TextureUtil
|
||||
C dev/zprestige/prestige/dn dev/zprestige/prestige/render/RenderUtil5
|
||||
C dev/zprestige/prestige/dp dev/zprestige/prestige/render/RenderUtil
|
||||
C dev/zprestige/prestige/dq dev/zprestige/prestige/render/RenderContract4
|
||||
C dev/zprestige/prestige/dr dev/zprestige/prestige/render/RenderContract5
|
||||
C dev/zprestige/prestige/ds dev/zprestige/prestige/render/RenderContract6
|
||||
C dev/zprestige/prestige/dt dev/zprestige/prestige/render/DrawMode
|
||||
C dev/zprestige/prestige/du dev/zprestige/prestige/render/UniformCache
|
||||
C dev/zprestige/prestige/dv dev/zprestige/prestige/render/ColorUniform
|
||||
C dev/zprestige/prestige/dw dev/zprestige/prestige/render/ColorValue
|
||||
C dev/zprestige/prestige/dx dev/zprestige/prestige/util/Timer
|
||||
C dev/zprestige/prestige/dy dev/zprestige/prestige/render/RenderPass
|
||||
C dev/zprestige/prestige/dz dev/zprestige/prestige/render/DrawContext
|
||||
C dev/zprestige/prestige/E dev/zprestige/prestige/world/WorldHelper4
|
||||
C dev/zprestige/prestige/e dev/zprestige/prestige/type/RailState
|
||||
C dev/zprestige/prestige/F dev/zprestige/prestige/world/WorldHelper5
|
||||
C dev/zprestige/prestige/f0 dev/zprestige/prestige/combat/TargetTracker
|
||||
C dev/zprestige/prestige/f1 dev/zprestige/prestige/combat/CombatUtil
|
||||
C dev/zprestige/prestige/f2 dev/zprestige/prestige/render/RenderHelper25
|
||||
C dev/zprestige/prestige/f3 dev/zprestige/prestige/combat/CombatUtil2
|
||||
C dev/zprestige/prestige/f4 dev/zprestige/prestige/render/RenderHelper26
|
||||
C dev/zprestige/prestige/f5 dev/zprestige/prestige/render/RenderHelper27
|
||||
C dev/zprestige/prestige/f6 dev/zprestige/prestige/network/PingManager
|
||||
C dev/zprestige/prestige/f7 dev/zprestige/prestige/math/TrailsHelper
|
||||
C dev/zprestige/prestige/f8 dev/zprestige/prestige/math/TrailsHelper2
|
||||
C dev/zprestige/prestige/f9 dev/zprestige/prestige/combat/TwoDESPHelper
|
||||
C dev/zprestige/prestige/f_ dev/zprestige/prestige/math/Point3D
|
||||
C dev/zprestige/prestige/f dev/zprestige/prestige/type/CrystalState
|
||||
C dev/zprestige/prestige/fS dev/zprestige/prestige/render/ShaderProgram
|
||||
C dev/zprestige/prestige/fT dev/zprestige/prestige/render/Shader
|
||||
C dev/zprestige/prestige/fU dev/zprestige/prestige/render/RenderUtil6
|
||||
C dev/zprestige/prestige/fV dev/zprestige/prestige/social/FriendManager
|
||||
C dev/zprestige/prestige/fW dev/zprestige/prestige/render/Uniform
|
||||
C dev/zprestige/prestige/fX dev/zprestige/prestige/render/RenderHelper28
|
||||
C dev/zprestige/prestige/fY dev/zprestige/prestige/render/RenderHelper29
|
||||
C dev/zprestige/prestige/fZ dev/zprestige/prestige/render/StorageESPHelper
|
||||
C dev/zprestige/prestige/G dev/zprestige/prestige/world/WorldHelper6
|
||||
C dev/zprestige/prestige/g0 dev/zprestige/prestige/data/IntBoolData
|
||||
C dev/zprestige/prestige/g1 dev/zprestige/prestige/render/RenderCache
|
||||
C dev/zprestige/prestige/g2 dev/zprestige/prestige/util/LruCache
|
||||
C dev/zprestige/prestige/g3 dev/zprestige/prestige/combat/PearlFollowHelper
|
||||
C dev/zprestige/prestige/g4 dev/zprestige/prestige/combat/PearlTrajectoryHelper
|
||||
C dev/zprestige/prestige/g5 dev/zprestige/prestige/world/TrajectoriesHelper
|
||||
C dev/zprestige/prestige/g6 dev/zprestige/prestige/combat/TrajectoriesHelper
|
||||
C dev/zprestige/prestige/g7 dev/zprestige/prestige/gui/BaseScreen
|
||||
C dev/zprestige/prestige/g8 dev/zprestige/prestige/gui/HudEditorScreen
|
||||
C dev/zprestige/prestige/g9 dev/zprestige/prestige/gui/ClickGuiScreen
|
||||
C dev/zprestige/prestige/g_ dev/zprestige/prestige/gui/InventoryScreenOverride
|
||||
C dev/zprestige/prestige/g dev/zprestige/prestige/type/ArmorState
|
||||
C dev/zprestige/prestige/gA dev/zprestige/prestige/data/ModuleStringFloatData
|
||||
C dev/zprestige/prestige/ga dev/zprestige/prestige/render/RenderHelper30
|
||||
C dev/zprestige/prestige/gB dev/zprestige/prestige/data/FontFloatData
|
||||
C dev/zprestige/prestige/gb dev/zprestige/prestige/math/MathUtil4
|
||||
C dev/zprestige/prestige/gC dev/zprestige/prestige/data/VertexIntData
|
||||
C dev/zprestige/prestige/gc dev/zprestige/prestige/math/MathUtil5
|
||||
C dev/zprestige/prestige/gD dev/zprestige/prestige/data/StringData
|
||||
C dev/zprestige/prestige/gd dev/zprestige/prestige/render/RenderHelper31
|
||||
C dev/zprestige/prestige/gE dev/zprestige/prestige/data/LongData
|
||||
C dev/zprestige/prestige/ge dev/zprestige/prestige/render/VertexFormat
|
||||
C dev/zprestige/prestige/gF dev/zprestige/prestige/data/ConsumerData
|
||||
C dev/zprestige/prestige/gf dev/zprestige/prestige/render/VertexAttribute
|
||||
C dev/zprestige/prestige/gG dev/zprestige/prestige/data/VecIntDoubleData
|
||||
C dev/zprestige/prestige/gg dev/zprestige/prestige/math/WeatherHelper
|
||||
C dev/zprestige/prestige/gH dev/zprestige/prestige/data/FloatDoubleIntData
|
||||
C dev/zprestige/prestige/gh dev/zprestige/prestige/inventory/InventoryUtil3
|
||||
C dev/zprestige/prestige/gI dev/zprestige/prestige/data/PassConsumerData
|
||||
C dev/zprestige/prestige/gi dev/zprestige/prestige/data/VecIntData
|
||||
C dev/zprestige/prestige/gJ dev/zprestige/prestige/data/IntData
|
||||
C dev/zprestige/prestige/gj dev/zprestige/prestige/data/VecBoolData
|
||||
C dev/zprestige/prestige/gK dev/zprestige/prestige/data/MatrixCameraData
|
||||
C dev/zprestige/prestige/gk dev/zprestige/prestige/data/VecData
|
||||
C dev/zprestige/prestige/gL dev/zprestige/prestige/data/VectorData
|
||||
C dev/zprestige/prestige/gl dev/zprestige/prestige/data/VecBoolData2
|
||||
C dev/zprestige/prestige/gM dev/zprestige/prestige/data/VectorFloatData
|
||||
C dev/zprestige/prestige/gm dev/zprestige/prestige/data/VecBoolIntData
|
||||
C dev/zprestige/prestige/gN dev/zprestige/prestige/data/BoolIntData
|
||||
C dev/zprestige/prestige/gn dev/zprestige/prestige/data/VecData2
|
||||
C dev/zprestige/prestige/gO dev/zprestige/prestige/data/IntData2
|
||||
C dev/zprestige/prestige/go dev/zprestige/prestige/data/FloatData
|
||||
C dev/zprestige/prestige/gP dev/zprestige/prestige/data/BoolData
|
||||
C dev/zprestige/prestige/gp dev/zprestige/prestige/data/LongData2
|
||||
C dev/zprestige/prestige/gQ dev/zprestige/prestige/data/IntBoolData2
|
||||
C dev/zprestige/prestige/gq dev/zprestige/prestige/data/DoubleData
|
||||
C dev/zprestige/prestige/gR dev/zprestige/prestige/data/BoolIntData2
|
||||
C dev/zprestige/prestige/gr dev/zprestige/prestige/data/VecDoubleData
|
||||
C dev/zprestige/prestige/gS dev/zprestige/prestige/data/ShaderData
|
||||
C dev/zprestige/prestige/gs dev/zprestige/prestige/data/LongData3
|
||||
C dev/zprestige/prestige/gT dev/zprestige/prestige/data/BoolData2
|
||||
C dev/zprestige/prestige/gt dev/zprestige/prestige/data/BufferData
|
||||
C dev/zprestige/prestige/gU dev/zprestige/prestige/data/IntSupplierData
|
||||
C dev/zprestige/prestige/gu dev/zprestige/prestige/data/LongData4
|
||||
C dev/zprestige/prestige/gV dev/zprestige/prestige/data/ConsumerData2
|
||||
C dev/zprestige/prestige/gv dev/zprestige/prestige/data/VecIntData2
|
||||
C dev/zprestige/prestige/gW dev/zprestige/prestige/data/IntData3
|
||||
C dev/zprestige/prestige/gw dev/zprestige/prestige/data/ModuleStringBoolData
|
||||
C dev/zprestige/prestige/gX dev/zprestige/prestige/data/BoolData3
|
||||
C dev/zprestige/prestige/gx dev/zprestige/prestige/data/DoubleBoolData
|
||||
C dev/zprestige/prestige/gY dev/zprestige/prestige/data/DrawFloatData
|
||||
C dev/zprestige/prestige/gy dev/zprestige/prestige/reflect/ReflectDescriptor
|
||||
C dev/zprestige/prestige/gZ dev/zprestige/prestige/data/BufferQuadIntData
|
||||
C dev/zprestige/prestige/gz dev/zprestige/prestige/render/GlState
|
||||
C dev/zprestige/prestige/H dev/zprestige/prestige/render/RenderHelper32
|
||||
C dev/zprestige/prestige/h dev/zprestige/prestige/type/FireState
|
||||
C dev/zprestige/prestige/ha dev/zprestige/prestige/render/VertexSink
|
||||
C dev/zprestige/prestige/hB dev/zprestige/prestige/mixin/EntityMixin
|
||||
C dev/zprestige/prestige/hb dev/zprestige/prestige/render/RenderHelper33
|
||||
C dev/zprestige/prestige/hc dev/zprestige/prestige/render/BufferBuilder
|
||||
C dev/zprestige/prestige/hD dev/zprestige/prestige/mixin/EntityRendererMixin
|
||||
C dev/zprestige/prestige/hd dev/zprestige/prestige/mixin/AbstractBlockStateMixin
|
||||
C dev/zprestige/prestige/hF dev/zprestige/prestige/mixin/GameRendererMixin
|
||||
C dev/zprestige/prestige/hf dev/zprestige/prestige/mixin/AbstractClientPlayerEntityMixin
|
||||
C dev/zprestige/prestige/hH dev/zprestige/prestige/mixin/HeightContextMixin
|
||||
C dev/zprestige/prestige/hh dev/zprestige/prestige/mixin/FogRendererMixin
|
||||
C dev/zprestige/prestige/hJ dev/zprestige/prestige/mixin/HeldItemRendererMixin
|
||||
C dev/zprestige/prestige/hj dev/zprestige/prestige/mixin/BlockMixin
|
||||
C dev/zprestige/prestige/hL dev/zprestige/prestige/mixin/InGameHudMixin
|
||||
C dev/zprestige/prestige/hl dev/zprestige/prestige/mixin/CameraMixin
|
||||
C dev/zprestige/prestige/hN dev/zprestige/prestige/mixin/InGameOverlayRendererMixin
|
||||
C dev/zprestige/prestige/hn dev/zprestige/prestige/mixin/ChunkOcclusionDataBuilderMixin
|
||||
C dev/zprestige/prestige/hP dev/zprestige/prestige/mixin/InactivityFpsLimiterMixin
|
||||
C dev/zprestige/prestige/hp dev/zprestige/prestige/mixin/ClientConnectionMixin
|
||||
C dev/zprestige/prestige/hR dev/zprestige/prestige/mixin/ItemStackMixin
|
||||
C dev/zprestige/prestige/hr dev/zprestige/prestige/mixin/ClientPlayNetworkHandlerMixin
|
||||
C dev/zprestige/prestige/hT dev/zprestige/prestige/mixin/KeyboardMixin
|
||||
C dev/zprestige/prestige/ht dev/zprestige/prestige/mixin/ClientPlayerEntityMixin
|
||||
C dev/zprestige/prestige/hV dev/zprestige/prestige/mixin/KeyboardInputMixin
|
||||
C dev/zprestige/prestige/hv dev/zprestige/prestige/mixin/ClientPlayerInteractionManagerMixin
|
||||
C dev/zprestige/prestige/hX dev/zprestige/prestige/mixin/LightmapTextureManagerMixin
|
||||
C dev/zprestige/prestige/hx dev/zprestige/prestige/mixin/ClientWorldMixin
|
||||
C dev/zprestige/prestige/hZ dev/zprestige/prestige/mixin/LivingEntityMixin
|
||||
C dev/zprestige/prestige/hz dev/zprestige/prestige/mixin/MinecraftClientMixin
|
||||
C dev/zprestige/prestige/I dev/zprestige/prestige/render/RenderHelper34
|
||||
C dev/zprestige/prestige/iB dev/zprestige/prestige/mixin/MinecraftClientMixin2
|
||||
C dev/zprestige/prestige/ib dev/zprestige/prestige/mixin/LivingEntityRendererMixin
|
||||
C dev/zprestige/prestige/iD dev/zprestige/prestige/mixin/SkyRenderingMixin
|
||||
C dev/zprestige/prestige/id dev/zprestige/prestige/mixin/MinecraftClientMixin3
|
||||
C dev/zprestige/prestige/iF dev/zprestige/prestige/mixin/TextDisplayEntityRendererMixin
|
||||
C dev/zprestige/prestige/if dev/zprestige/prestige/mixin/ModelCommandRendererMixin
|
||||
C dev/zprestige/prestige/iH dev/zprestige/prestige/mixin/TextVisitFactoryMixin
|
||||
C dev/zprestige/prestige/ih dev/zprestige/prestige/mixin/MouseMixin
|
||||
C dev/zprestige/prestige/iJ dev/zprestige/prestige/mixin/WorldMixin
|
||||
C dev/zprestige/prestige/ij dev/zprestige/prestige/mixin/NamespaceResourceManagerMixin
|
||||
C dev/zprestige/prestige/iL dev/zprestige/prestige/mixin/WorldChunkMixin
|
||||
C dev/zprestige/prestige/il dev/zprestige/prestige/mixin/ParticleManagerMixin
|
||||
C dev/zprestige/prestige/iN dev/zprestige/prestige/mixin/WorldRendererMixin
|
||||
C dev/zprestige/prestige/in dev/zprestige/prestige/mixin/PlayerEntityMixin
|
||||
C dev/zprestige/prestige/ip dev/zprestige/prestige/mixin/PlayerListEntryMixin
|
||||
C dev/zprestige/prestige/ir dev/zprestige/prestige/mixin/PostEffectProcessorMixin
|
||||
C dev/zprestige/prestige/it dev/zprestige/prestige/mixin/ReloadableResourceManagerImplMixin
|
||||
C dev/zprestige/prestige/iv dev/zprestige/prestige/mixin/ScreenMixin
|
||||
C dev/zprestige/prestige/ix dev/zprestige/prestige/mixin/ServerWorldMixin
|
||||
C dev/zprestige/prestige/iz dev/zprestige/prestige/mixin/MinecraftClientMixin4
|
||||
C dev/zprestige/prestige/J dev/zprestige/prestige/gui/GuiHelper
|
||||
C dev/zprestige/prestige/j dev/zprestige/prestige/type/PlaceState
|
||||
C dev/zprestige/prestige/K dev/zprestige/prestige/world/WorldHelper7
|
||||
C dev/zprestige/prestige/k dev/zprestige/prestige/type/PearlState
|
||||
C dev/zprestige/prestige/L dev/zprestige/prestige/world/WorldHelper8
|
||||
C dev/zprestige/prestige/l dev/zprestige/prestige/type/DoubleAnchorState
|
||||
C dev/zprestige/prestige/M dev/zprestige/prestige/inventory/InventoryHelper
|
||||
C dev/zprestige/prestige/m dev/zprestige/prestige/type/GlPrimitive
|
||||
C dev/zprestige/prestige/N dev/zprestige/prestige/render/RenderHelper35
|
||||
C dev/zprestige/prestige/n dev/zprestige/prestige/type/Easing
|
||||
C dev/zprestige/prestige/O dev/zprestige/prestige/combat/CombatHelper2
|
||||
C dev/zprestige/prestige/o dev/zprestige/prestige/type/ShaderMode
|
||||
C dev/zprestige/prestige/P dev/zprestige/prestige/combat/CombatHelper3
|
||||
C dev/zprestige/prestige/p dev/zprestige/prestige/type/PearlStage
|
||||
C dev/zprestige/prestige/Q dev/zprestige/prestige/render/RenderHelper36
|
||||
C dev/zprestige/prestige/R dev/zprestige/prestige/render/RenderHelper37
|
||||
C dev/zprestige/prestige/r dev/zprestige/prestige/type/PacketResult
|
||||
C dev/zprestige/prestige/S dev/zprestige/prestige/render/RenderHelper38
|
||||
C dev/zprestige/prestige/s dev/zprestige/prestige/type/AnimationMode
|
||||
C dev/zprestige/prestige/T dev/zprestige/prestige/network/NetworkHelper
|
||||
C dev/zprestige/prestige/t dev/zprestige/prestige/type/KillAuraState
|
||||
C dev/zprestige/prestige/U dev/zprestige/prestige/network/NetworkHelper2
|
||||
C dev/zprestige/prestige/u dev/zprestige/prestige/type/SettingFlag
|
||||
C dev/zprestige/prestige/V dev/zprestige/prestige/render/RenderHelper39
|
||||
C dev/zprestige/prestige/v dev/zprestige/prestige/type/TrajectoryType
|
||||
C dev/zprestige/prestige/W dev/zprestige/prestige/render/RenderHelper40
|
||||
C dev/zprestige/prestige/w dev/zprestige/prestige/type/Axis
|
||||
C dev/zprestige/prestige/X dev/zprestige/prestige/world/WorldHelper9
|
||||
C dev/zprestige/prestige/x dev/zprestige/prestige/type/NotificationType
|
||||
C dev/zprestige/prestige/Y dev/zprestige/prestige/world/WorldHelper10
|
||||
C dev/zprestige/prestige/y dev/zprestige/prestige/type/EventPhase
|
||||
C dev/zprestige/prestige/Z dev/zprestige/prestige/render/RenderHelper41
|
||||
C dev/zprestige/prestige/z dev/zprestige/prestige/type/BlendMode
|
||||
|
@@ -0,0 +1,401 @@
|
||||
# source-tree class name -> renamed internal name (generated from classmap.tsv)
|
||||
C A dev/zprestige/prestige/type/BlockBreakType
|
||||
C B dev/zprestige/prestige/type/CartState
|
||||
C C dev/zprestige/prestige/reflect/MethodHandleCache
|
||||
C D dev/zprestige/prestige/world/WorldHelper3
|
||||
C E dev/zprestige/prestige/world/WorldHelper4
|
||||
C F dev/zprestige/prestige/world/WorldHelper5
|
||||
C G dev/zprestige/prestige/world/WorldHelper6
|
||||
C H dev/zprestige/prestige/render/RenderHelper32
|
||||
C I dev/zprestige/prestige/render/RenderHelper34
|
||||
C J dev/zprestige/prestige/gui/GuiHelper
|
||||
C K dev/zprestige/prestige/world/WorldHelper7
|
||||
C L dev/zprestige/prestige/world/WorldHelper8
|
||||
C M dev/zprestige/prestige/inventory/InventoryHelper
|
||||
C N dev/zprestige/prestige/render/RenderHelper35
|
||||
C O dev/zprestige/prestige/combat/CombatHelper2
|
||||
C P dev/zprestige/prestige/combat/CombatHelper3
|
||||
C Q dev/zprestige/prestige/render/RenderHelper36
|
||||
C R dev/zprestige/prestige/render/RenderHelper37
|
||||
C S dev/zprestige/prestige/render/RenderHelper38
|
||||
C T dev/zprestige/prestige/network/NetworkHelper
|
||||
C U dev/zprestige/prestige/network/NetworkHelper2
|
||||
C V dev/zprestige/prestige/render/RenderHelper39
|
||||
C W dev/zprestige/prestige/render/RenderHelper40
|
||||
C X dev/zprestige/prestige/world/WorldHelper9
|
||||
C Y dev/zprestige/prestige/world/WorldHelper10
|
||||
C Z dev/zprestige/prestige/render/RenderHelper41
|
||||
C a0 dev/zprestige/prestige/event/TickEvent
|
||||
C a1 dev/zprestige/prestige/event/IntEvent
|
||||
C a2 dev/zprestige/prestige/event/FloatColorEvent
|
||||
C a3 dev/zprestige/prestige/event/FloatEvent
|
||||
C a4 dev/zprestige/prestige/event/TickEvent2
|
||||
C a5 dev/zprestige/prestige/event/TickEvent3
|
||||
C a6 dev/zprestige/prestige/event/TickEvent4
|
||||
C a7 dev/zprestige/prestige/event/EntityBoolEvent
|
||||
C a8 dev/zprestige/prestige/event/EntityFloatEvent
|
||||
C a9 dev/zprestige/prestige/event/TickEvent5
|
||||
C aA dev/zprestige/prestige/combat/DamageUtil
|
||||
C aB dev/zprestige/prestige/world/WorldHelper
|
||||
C aC dev/zprestige/prestige/render/RenderHelper3
|
||||
C aD dev/zprestige/prestige/math/MathHelper2
|
||||
C aE dev/zprestige/prestige/math/MathHelper4
|
||||
C aF dev/zprestige/prestige/social/AltManager
|
||||
C aG dev/zprestige/prestige/render/ESPUtil
|
||||
C aH dev/zprestige/prestige/event/Event
|
||||
C aI dev/zprestige/prestige/event/PlayerEvent
|
||||
C aJ dev/zprestige/prestige/event/TickEvent6
|
||||
C aK dev/zprestige/prestige/event/EntityEvent
|
||||
C aL dev/zprestige/prestige/event/TickEvent7
|
||||
C aM dev/zprestige/prestige/event/TickEvent8
|
||||
C aN dev/zprestige/prestige/event/TickEvent9
|
||||
C aO dev/zprestige/prestige/event/TickEvent10
|
||||
C aP dev/zprestige/prestige/event/BlockPosBlockEvent
|
||||
C aQ dev/zprestige/prestige/event/TickEvent11
|
||||
C aR dev/zprestige/prestige/event/EntityEvent2
|
||||
C aS dev/zprestige/prestige/event/TickEvent12
|
||||
C aT dev/zprestige/prestige/event/DoubleEvent
|
||||
C aU dev/zprestige/prestige/event/TickEvent13
|
||||
C aV dev/zprestige/prestige/event/TickEvent14
|
||||
C aW dev/zprestige/prestige/event/EntityEvent3
|
||||
C aX dev/zprestige/prestige/event/EntityEvent4
|
||||
C aY dev/zprestige/prestige/event/FloatDoubleEvent
|
||||
C aZ dev/zprestige/prestige/event/TickEvent15
|
||||
C a_ dev/zprestige/prestige/event/IntEvent2
|
||||
C a__ dev/zprestige/prestige/type/AnchorState
|
||||
C aa_ dev/zprestige/prestige/render/RenderHelper
|
||||
C ab_ dev/zprestige/prestige/render/RenderHelper2
|
||||
C ac_ dev/zprestige/prestige/math/MathHelper
|
||||
C ad_ dev/zprestige/prestige/math/MathHelper3
|
||||
C ae_ dev/zprestige/prestige/world/WorldHelper2
|
||||
C af_ dev/zprestige/prestige/render/RenderHelper4
|
||||
C ag_ dev/zprestige/prestige/inventory/ArmorUtil
|
||||
C ah_ dev/zprestige/prestige/render/RenderHelper5
|
||||
C ai_ dev/zprestige/prestige/combat/TargetManager
|
||||
C aj_ dev/zprestige/prestige/combat/AutoArmorHelper
|
||||
C ak_ dev/zprestige/prestige/math/AutoCrystalHelper
|
||||
C al_ dev/zprestige/prestige/math/AutoObbyCrystalHelper
|
||||
C am_ dev/zprestige/prestige/render/AutoTotemHelper
|
||||
C an_ dev/zprestige/prestige/render/RenderHelper6
|
||||
C ao_ dev/zprestige/prestige/world/WorldUtil2
|
||||
C ap_ dev/zprestige/prestige/render/RenderHelper7
|
||||
C aq_ dev/zprestige/prestige/render/RenderHelper8
|
||||
C ar_ dev/zprestige/prestige/render/RenderHelper9
|
||||
C as_ dev/zprestige/prestige/world/OreSimulationHelper
|
||||
C at_ dev/zprestige/prestige/render/RenderHelper10
|
||||
C au_ dev/zprestige/prestige/combat/AimManager
|
||||
C av_ dev/zprestige/prestige/world/CobwebPlacerHelper
|
||||
C aw_ dev/zprestige/prestige/config/ConfigManager
|
||||
C ax_ dev/zprestige/prestige/render/RenderHelper11
|
||||
C ay_ dev/zprestige/prestige/render/RenderHelper12
|
||||
C az_ dev/zprestige/prestige/render/RenderHelper13
|
||||
C b0 dev/zprestige/prestige/math/HitEffectHelper
|
||||
C b1 dev/zprestige/prestige/world/PlacementCheck
|
||||
C b2 dev/zprestige/prestige/math/MathUtil
|
||||
C b3 dev/zprestige/prestige/math/MathUtil2
|
||||
C b4 dev/zprestige/prestige/hud/HudElement
|
||||
C b5 dev/zprestige/prestige/hud/CartHelperElement
|
||||
C b6 dev/zprestige/prestige/hud/CooldownIndicatorElement
|
||||
C b7 dev/zprestige/prestige/hud/CrosshairElement
|
||||
C b8 dev/zprestige/prestige/hud/FPSElement
|
||||
C b9 dev/zprestige/prestige/hud/KeybindsElement
|
||||
C bA dev/zprestige/prestige/event/StringEvent
|
||||
C bB dev/zprestige/prestige/event/ColorEvent
|
||||
C bC dev/zprestige/prestige/event/TickEvent17
|
||||
C bD dev/zprestige/prestige/event/BoolEvent
|
||||
C bE dev/zprestige/prestige/event/IntEvent3
|
||||
C bF dev/zprestige/prestige/event/TickEvent18
|
||||
C bG dev/zprestige/prestige/event/TickEvent19
|
||||
C bH dev/zprestige/prestige/event/TickEvent20
|
||||
C bI dev/zprestige/prestige/event/FloatEvent3
|
||||
C bJ dev/zprestige/prestige/event/TickEvent22
|
||||
C bK dev/zprestige/prestige/event/DoubleEvent2
|
||||
C bL dev/zprestige/prestige/event/DoubleEvent3
|
||||
C bM dev/zprestige/prestige/event/LongEvent
|
||||
C bN dev/zprestige/prestige/event/BlockBoolEvent
|
||||
C bQ dev/zprestige/prestige/reflect/FieldValue
|
||||
C bR dev/zprestige/prestige/reflect/MethodValue
|
||||
C bS dev/zprestige/prestige/render/GpuBuffer
|
||||
C bT dev/zprestige/prestige/render/TextRenderer
|
||||
C bU dev/zprestige/prestige/render/Framebuffer
|
||||
C bV dev/zprestige/prestige/render/RenderHelper14
|
||||
C bW dev/zprestige/prestige/render/FontRenderer
|
||||
C bX dev/zprestige/prestige/math/MathHelper5
|
||||
C bY dev/zprestige/prestige/network/PacketQueue
|
||||
C bZ dev/zprestige/prestige/render/RenderHelper15
|
||||
C b_ dev/zprestige/prestige/hud/LatencyElement
|
||||
C b__ dev/zprestige/prestige/type/ScoopState
|
||||
C ba_ dev/zprestige/prestige/event/TickEvent16
|
||||
C bb_ dev/zprestige/prestige/event/EntityEvent5
|
||||
C bc_ dev/zprestige/prestige/event/StringEvent2
|
||||
C bd_ dev/zprestige/prestige/event/FloatEvent2
|
||||
C be_ dev/zprestige/prestige/event/IntEvent4
|
||||
C bf_ dev/zprestige/prestige/event/FloatPositionEvent
|
||||
C bg_ dev/zprestige/prestige/event/PacketEvent
|
||||
C bh_ dev/zprestige/prestige/event/PacketEvent2
|
||||
C bi_ dev/zprestige/prestige/event/TickEvent21
|
||||
C bj_ dev/zprestige/prestige/event/TickEvent23
|
||||
C bk_ dev/zprestige/prestige/event/FloatEvent4
|
||||
C bl_ dev/zprestige/prestige/event/TickEvent24
|
||||
C bm_ dev/zprestige/prestige/event/FloatMatrixEvent
|
||||
C bn_ dev/zprestige/prestige/event/PlayerStringEvent
|
||||
C bo dev/zprestige/prestige/event/TickEvent25
|
||||
C bp dev/zprestige/prestige/event/ItemEvent
|
||||
C bq_ dev/zprestige/prestige/event/EntityEvent6
|
||||
C br_ dev/zprestige/prestige/event/TickEvent26
|
||||
C bs_ dev/zprestige/prestige/event/FloatEvent5
|
||||
C bt_ dev/zprestige/prestige/event/TickEvent27
|
||||
C bu_ dev/zprestige/prestige/event/TickEvent28
|
||||
C bv_ dev/zprestige/prestige/event/TickEvent29
|
||||
C bw_ dev/zprestige/prestige/event/TickEvent30
|
||||
C bx_ dev/zprestige/prestige/event/TickEvent31
|
||||
C by_ dev/zprestige/prestige/event/LivingEvent
|
||||
C bz_ dev/zprestige/prestige/event/BoolPositionEvent
|
||||
C c0 dev/zprestige/prestige/world/OreColorUtil
|
||||
C c1 dev/zprestige/prestige/render/RenderLayerUtil
|
||||
C c2 dev/zprestige/prestige/render/VertexBufferProvider
|
||||
C c3 dev/zprestige/prestige/network/NetworkUtil
|
||||
C c4 dev/zprestige/prestige/math/PearlTrajectoryHelper
|
||||
C c5 dev/zprestige/prestige/math/MathUtil3
|
||||
C c6 dev/zprestige/prestige/network/NetworkUtil2
|
||||
C c7 dev/zprestige/prestige/world/RaycastUtil
|
||||
C c8 dev/zprestige/prestige/world/PositionUtil
|
||||
C c9 dev/zprestige/prestige/render/VertexBuffer
|
||||
C cA dev/zprestige/prestige/render/Font
|
||||
C cB dev/zprestige/prestige/render/RenderContract
|
||||
C cC dev/zprestige/prestige/render/FontManager
|
||||
C cD dev/zprestige/prestige/config/ConfigHelper
|
||||
C cE dev/zprestige/prestige/config/ConfigHelper2
|
||||
C cF dev/zprestige/prestige/world/WorldContract
|
||||
C cG dev/zprestige/prestige/render/GlPrimitiveTable
|
||||
C cH dev/zprestige/prestige/render/RenderHelper16
|
||||
C cI dev/zprestige/prestige/render/RenderHelper17
|
||||
C cK dev/zprestige/prestige/render/RenderHelper18
|
||||
C cL dev/zprestige/prestige/render/RenderHelper20
|
||||
C cM dev/zprestige/prestige/util/BindManager
|
||||
C cN dev/zprestige/prestige/combat/NameTags
|
||||
C cO dev/zprestige/prestige/inventory/ItemLabel
|
||||
C cP dev/zprestige/prestige/annotation/Chainable
|
||||
C cQ dev/zprestige/prestige/annotation/NativeId
|
||||
C cR dev/zprestige/prestige/util/TpsTimer
|
||||
C cS dev/zprestige/prestige/util/ClientUtil
|
||||
C cT dev/zprestige/prestige/render/RenderHelper23
|
||||
C cU dev/zprestige/prestige/reflect/ReflectionBase
|
||||
C cV dev/zprestige/prestige/reflect/FieldAccessor
|
||||
C cW dev/zprestige/prestige/reflect/MethodAccessor
|
||||
C cX dev/zprestige/prestige/reflect/FieldSpec
|
||||
C cY dev/zprestige/prestige/reflect/MethodSpec
|
||||
C cZ dev/zprestige/prestige/render/ESPHelper
|
||||
C c_ dev/zprestige/prestige/combat/CombatHelper
|
||||
C c__ dev/zprestige/prestige/type/AutoAnchorState
|
||||
C ca_ dev/zprestige/prestige/hud/ModuleListElement
|
||||
C cb_ dev/zprestige/prestige/hud/ModuleNotificationsElement
|
||||
C cc_ dev/zprestige/prestige/hud/OffscreenArrowElement
|
||||
C cd_ dev/zprestige/prestige/hud/PotionDisplayElement
|
||||
C ce_ dev/zprestige/prestige/hud/ResourcesElement
|
||||
C cf_ dev/zprestige/prestige/hud/TPSElement
|
||||
C cg_ dev/zprestige/prestige/hud/TargetElement
|
||||
C ch_ dev/zprestige/prestige/hud/TimeElement
|
||||
C ci_ dev/zprestige/prestige/hud/WatermarkElement
|
||||
C cj dev/zprestige/prestige/hud/WebsiteElement
|
||||
C ck_ dev/zprestige/prestige/render/RenderHelper19
|
||||
C cl_ dev/zprestige/prestige/render/RenderHelper21
|
||||
C cm_ dev/zprestige/prestige/event/EventManager
|
||||
C cn_ dev/zprestige/prestige/combat/NameTagsUtil
|
||||
C co_ dev/zprestige/prestige/inventory/InventoryUtil2
|
||||
C cp_ dev/zprestige/prestige/render/RenderHelper22
|
||||
C cq_ dev/zprestige/prestige/network/PacketManager
|
||||
C cr_ dev/zprestige/prestige/inventory/InventoryUtil
|
||||
C cs_ dev/zprestige/prestige/inventory/ItemESPHelper
|
||||
C ct_ dev/zprestige/prestige/math/JumpCirclesHelper
|
||||
C cu_ dev/zprestige/prestige/render/RenderUtil2
|
||||
C cv_ dev/zprestige/prestige/render/RenderUtil3
|
||||
C cw_ dev/zprestige/prestige/input/MouseManager
|
||||
C cx_ dev/zprestige/prestige/render/RenderUtil4
|
||||
C cz_ dev/zprestige/prestige/render/RenderContract2
|
||||
C dA dev/zprestige/prestige/render/RenderState
|
||||
C dB dev/zprestige/prestige/render/MatrixStack
|
||||
C dC dev/zprestige/prestige/render/RenderBatch
|
||||
C dD dev/zprestige/prestige/render/Renderer2D
|
||||
C dE dev/zprestige/prestige/render/RenderHelper24
|
||||
C dF dev/zprestige/prestige/render/RenderContract3
|
||||
C dG dev/zprestige/prestige/world/WorldUtil
|
||||
C dH dev/zprestige/prestige/combat/RotationManager
|
||||
C dI dev/zprestige/prestige/math/MathHelper6
|
||||
C dJ dev/zprestige/prestige/render/SafeAnchorHelper
|
||||
C d_ dev/zprestige/prestige/type/BowMode
|
||||
C da_ dev/zprestige/prestige/config/ConfigUtil
|
||||
C db_ dev/zprestige/prestige/config/ConfigHelper3
|
||||
C dc_ dev/zprestige/prestige/render/ShaderBase
|
||||
C dd_ dev/zprestige/prestige/render/RenderTarget
|
||||
C de_ dev/zprestige/prestige/render/PostShader
|
||||
C df_ dev/zprestige/prestige/render/AuraOutlineShader
|
||||
C dg_ dev/zprestige/prestige/render/ChamsOutlineShader
|
||||
C dh_ dev/zprestige/prestige/render/OutlineShader
|
||||
C di_ dev/zprestige/prestige/render/RainbowOutlineShader
|
||||
C dj_ dev/zprestige/prestige/render/RoundedOutlinePosColorShader
|
||||
C dk dev/zprestige/prestige/render/RoundedPosColorShader
|
||||
C dl dev/zprestige/prestige/render/RoundedTextureShader
|
||||
C dm dev/zprestige/prestige/render/TextureUtil
|
||||
C dn dev/zprestige/prestige/render/RenderUtil5
|
||||
C dp dev/zprestige/prestige/render/RenderUtil
|
||||
C dq dev/zprestige/prestige/render/RenderContract4
|
||||
C dr dev/zprestige/prestige/render/RenderContract5
|
||||
C ds dev/zprestige/prestige/render/RenderContract6
|
||||
C dt dev/zprestige/prestige/render/DrawMode
|
||||
C du dev/zprestige/prestige/render/UniformCache
|
||||
C dv dev/zprestige/prestige/render/ColorUniform
|
||||
C dw dev/zprestige/prestige/render/ColorValue
|
||||
C dx dev/zprestige/prestige/util/Timer
|
||||
C dy dev/zprestige/prestige/render/RenderPass
|
||||
C dz dev/zprestige/prestige/render/DrawContext
|
||||
C e_ dev/zprestige/prestige/type/RailState
|
||||
C f0 dev/zprestige/prestige/combat/TargetTracker
|
||||
C f1 dev/zprestige/prestige/combat/CombatUtil
|
||||
C f2 dev/zprestige/prestige/render/RenderHelper25
|
||||
C f3 dev/zprestige/prestige/combat/CombatUtil2
|
||||
C f4 dev/zprestige/prestige/render/RenderHelper26
|
||||
C f5 dev/zprestige/prestige/render/RenderHelper27
|
||||
C f6 dev/zprestige/prestige/network/PingManager
|
||||
C f7 dev/zprestige/prestige/math/TrailsHelper
|
||||
C f8 dev/zprestige/prestige/math/TrailsHelper2
|
||||
C f9 dev/zprestige/prestige/combat/TwoDESPHelper
|
||||
C fS dev/zprestige/prestige/render/ShaderProgram
|
||||
C fT dev/zprestige/prestige/render/Shader
|
||||
C fU dev/zprestige/prestige/render/RenderUtil6
|
||||
C fV dev/zprestige/prestige/social/FriendManager
|
||||
C fW dev/zprestige/prestige/render/Uniform
|
||||
C fX dev/zprestige/prestige/render/RenderHelper28
|
||||
C fY dev/zprestige/prestige/render/RenderHelper29
|
||||
C fZ dev/zprestige/prestige/render/StorageESPHelper
|
||||
C f_ dev/zprestige/prestige/math/Point3D
|
||||
C f__ dev/zprestige/prestige/type/CrystalState
|
||||
C g0 dev/zprestige/prestige/data/IntBoolData
|
||||
C g1 dev/zprestige/prestige/render/RenderCache
|
||||
C g2 dev/zprestige/prestige/util/LruCache
|
||||
C g3 dev/zprestige/prestige/combat/PearlFollowHelper
|
||||
C g4 dev/zprestige/prestige/combat/PearlTrajectoryHelper
|
||||
C g5 dev/zprestige/prestige/world/TrajectoriesHelper
|
||||
C g6 dev/zprestige/prestige/combat/TrajectoriesHelper
|
||||
C g7 dev/zprestige/prestige/gui/BaseScreen
|
||||
C g8 dev/zprestige/prestige/gui/HudEditorScreen
|
||||
C g9 dev/zprestige/prestige/gui/ClickGuiScreen
|
||||
C gA dev/zprestige/prestige/data/ModuleStringFloatData
|
||||
C gB dev/zprestige/prestige/data/FontFloatData
|
||||
C gC dev/zprestige/prestige/data/VertexIntData
|
||||
C gD dev/zprestige/prestige/data/StringData
|
||||
C gE dev/zprestige/prestige/data/LongData
|
||||
C gF dev/zprestige/prestige/data/ConsumerData
|
||||
C gG dev/zprestige/prestige/data/VecIntDoubleData
|
||||
C gH dev/zprestige/prestige/data/FloatDoubleIntData
|
||||
C gI dev/zprestige/prestige/data/PassConsumerData
|
||||
C gJ dev/zprestige/prestige/data/IntData
|
||||
C gK dev/zprestige/prestige/data/MatrixCameraData
|
||||
C gL dev/zprestige/prestige/data/VectorData
|
||||
C gM dev/zprestige/prestige/data/VectorFloatData
|
||||
C gN dev/zprestige/prestige/data/BoolIntData
|
||||
C gO dev/zprestige/prestige/data/IntData2
|
||||
C gP dev/zprestige/prestige/data/BoolData
|
||||
C gQ dev/zprestige/prestige/data/IntBoolData2
|
||||
C gR dev/zprestige/prestige/data/BoolIntData2
|
||||
C gS dev/zprestige/prestige/data/ShaderData
|
||||
C gT dev/zprestige/prestige/data/BoolData2
|
||||
C gU dev/zprestige/prestige/data/IntSupplierData
|
||||
C gV dev/zprestige/prestige/data/ConsumerData2
|
||||
C gW dev/zprestige/prestige/data/IntData3
|
||||
C gX dev/zprestige/prestige/data/BoolData3
|
||||
C gY dev/zprestige/prestige/data/DrawFloatData
|
||||
C gZ dev/zprestige/prestige/data/BufferQuadIntData
|
||||
C g_ dev/zprestige/prestige/gui/InventoryScreenOverride
|
||||
C g__ dev/zprestige/prestige/type/ArmorState
|
||||
C ga_ dev/zprestige/prestige/render/RenderHelper30
|
||||
C gb_ dev/zprestige/prestige/math/MathUtil4
|
||||
C gc_ dev/zprestige/prestige/math/MathUtil5
|
||||
C gd_ dev/zprestige/prestige/render/RenderHelper31
|
||||
C ge_ dev/zprestige/prestige/render/VertexFormat
|
||||
C gf_ dev/zprestige/prestige/render/VertexAttribute
|
||||
C gg_ dev/zprestige/prestige/math/WeatherHelper
|
||||
C gh_ dev/zprestige/prestige/inventory/InventoryUtil3
|
||||
C gi_ dev/zprestige/prestige/data/VecIntData
|
||||
C gj_ dev/zprestige/prestige/data/VecBoolData
|
||||
C gk_ dev/zprestige/prestige/data/VecData
|
||||
C gl_ dev/zprestige/prestige/data/VecBoolData2
|
||||
C gm_ dev/zprestige/prestige/data/VecBoolIntData
|
||||
C gn_ dev/zprestige/prestige/data/VecData2
|
||||
C go_ dev/zprestige/prestige/data/FloatData
|
||||
C gp_ dev/zprestige/prestige/data/LongData2
|
||||
C gq_ dev/zprestige/prestige/data/DoubleData
|
||||
C gr_ dev/zprestige/prestige/data/VecDoubleData
|
||||
C gs_ dev/zprestige/prestige/data/LongData3
|
||||
C gt_ dev/zprestige/prestige/data/BufferData
|
||||
C gu_ dev/zprestige/prestige/data/LongData4
|
||||
C gv_ dev/zprestige/prestige/data/VecIntData2
|
||||
C gw_ dev/zprestige/prestige/data/ModuleStringBoolData
|
||||
C gx_ dev/zprestige/prestige/data/DoubleBoolData
|
||||
C gy_ dev/zprestige/prestige/reflect/ReflectDescriptor
|
||||
C gz_ dev/zprestige/prestige/render/GlState
|
||||
C hB dev/zprestige/prestige/mixin/EntityMixin
|
||||
C hD dev/zprestige/prestige/mixin/EntityRendererMixin
|
||||
C hF dev/zprestige/prestige/mixin/GameRendererMixin
|
||||
C hH dev/zprestige/prestige/mixin/HeightContextMixin
|
||||
C hJ dev/zprestige/prestige/mixin/HeldItemRendererMixin
|
||||
C hL dev/zprestige/prestige/mixin/InGameHudMixin
|
||||
C hN dev/zprestige/prestige/mixin/InGameOverlayRendererMixin
|
||||
C hP dev/zprestige/prestige/mixin/InactivityFpsLimiterMixin
|
||||
C hR dev/zprestige/prestige/mixin/ItemStackMixin
|
||||
C hT dev/zprestige/prestige/mixin/KeyboardMixin
|
||||
C hV dev/zprestige/prestige/mixin/KeyboardInputMixin
|
||||
C hX dev/zprestige/prestige/mixin/LightmapTextureManagerMixin
|
||||
C hZ dev/zprestige/prestige/mixin/LivingEntityMixin
|
||||
C h_ dev/zprestige/prestige/type/FireState
|
||||
C ha dev/zprestige/prestige/render/VertexSink
|
||||
C hb_ dev/zprestige/prestige/render/RenderHelper33
|
||||
C hc dev/zprestige/prestige/render/BufferBuilder
|
||||
C hd_ dev/zprestige/prestige/mixin/AbstractBlockStateMixin
|
||||
C hf_ dev/zprestige/prestige/mixin/AbstractClientPlayerEntityMixin
|
||||
C hh_ dev/zprestige/prestige/mixin/FogRendererMixin
|
||||
C hj_ dev/zprestige/prestige/mixin/BlockMixin
|
||||
C hl_ dev/zprestige/prestige/mixin/CameraMixin
|
||||
C hn_ dev/zprestige/prestige/mixin/ChunkOcclusionDataBuilderMixin
|
||||
C hp_ dev/zprestige/prestige/mixin/ClientConnectionMixin
|
||||
C hr_ dev/zprestige/prestige/mixin/ClientPlayNetworkHandlerMixin
|
||||
C ht_ dev/zprestige/prestige/mixin/ClientPlayerEntityMixin
|
||||
C hv_ dev/zprestige/prestige/mixin/ClientPlayerInteractionManagerMixin
|
||||
C hx_ dev/zprestige/prestige/mixin/ClientWorldMixin
|
||||
C hz_ dev/zprestige/prestige/mixin/MinecraftClientMixin
|
||||
C iB dev/zprestige/prestige/mixin/MinecraftClientMixin2
|
||||
C iD dev/zprestige/prestige/mixin/SkyRenderingMixin
|
||||
C iF dev/zprestige/prestige/mixin/TextDisplayEntityRendererMixin
|
||||
C iH dev/zprestige/prestige/mixin/TextVisitFactoryMixin
|
||||
C iJ dev/zprestige/prestige/mixin/WorldMixin
|
||||
C iL dev/zprestige/prestige/mixin/WorldChunkMixin
|
||||
C iN dev/zprestige/prestige/mixin/WorldRendererMixin
|
||||
C ib_ dev/zprestige/prestige/mixin/LivingEntityRendererMixin
|
||||
C id_ dev/zprestige/prestige/mixin/MinecraftClientMixin3
|
||||
C if_ dev/zprestige/prestige/mixin/ModelCommandRendererMixin
|
||||
C ih_ dev/zprestige/prestige/mixin/MouseMixin
|
||||
C ij_ dev/zprestige/prestige/mixin/NamespaceResourceManagerMixin
|
||||
C il_ dev/zprestige/prestige/mixin/ParticleManagerMixin
|
||||
C in_ dev/zprestige/prestige/mixin/PlayerEntityMixin
|
||||
C ip dev/zprestige/prestige/mixin/PlayerListEntryMixin
|
||||
C ir dev/zprestige/prestige/mixin/PostEffectProcessorMixin
|
||||
C it dev/zprestige/prestige/mixin/ReloadableResourceManagerImplMixin
|
||||
C iv dev/zprestige/prestige/mixin/ScreenMixin
|
||||
C ix dev/zprestige/prestige/mixin/ServerWorldMixin
|
||||
C iz dev/zprestige/prestige/mixin/MinecraftClientMixin4
|
||||
C j_ dev/zprestige/prestige/type/PlaceState
|
||||
C k_ dev/zprestige/prestige/type/PearlState
|
||||
C l_ dev/zprestige/prestige/type/DoubleAnchorState
|
||||
C m_ dev/zprestige/prestige/type/GlPrimitive
|
||||
C n_ dev/zprestige/prestige/type/Easing
|
||||
C o_ dev/zprestige/prestige/type/ShaderMode
|
||||
C p_ dev/zprestige/prestige/type/PearlStage
|
||||
C r_ dev/zprestige/prestige/type/PacketResult
|
||||
C s_ dev/zprestige/prestige/type/AnimationMode
|
||||
C t_ dev/zprestige/prestige/type/KillAuraState
|
||||
C u_ dev/zprestige/prestige/type/SettingFlag
|
||||
C v_ dev/zprestige/prestige/type/TrajectoryType
|
||||
C w_ dev/zprestige/prestige/type/Axis
|
||||
C x_ dev/zprestige/prestige/type/NotificationType
|
||||
C y_ dev/zprestige/prestige/type/EventPhase
|
||||
C z_ dev/zprestige/prestige/type/BlendMode
|
||||
|
Binary file not shown.
|
After Width: | Height: | Size: 177 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 445 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
@@ -0,0 +1 @@
|
||||
{"modules":[{"class":"dev.zprestige.prestige.dW","name":"Aim Assist","desc":"Aims at targets","category":"Combat","enabled":false,"settings":[{"field":"a","setClass":"dev.zprestige.prestige.dR","name":"Mode","desc":"Aims at players or end crystals.","value":"Players","props":{"a":"[Players,Crystals]"}},{"field":"c","setClass":"dev.zprestige.prestige.dR","name":"Target","desc":"Closest = nearest; Crosshair = smallest angle to aim; Lowest HP/Armor = weakest player.","value":"Closest","props":{"a":"[Closest,Crosshair,Lowest HP,Lowest Armor]"}},{"field":"d","setClass":"dev.zprestige.prestige.dO","name":"Fov","desc":"Considers targets within this view angle (degrees). 360 = full sphere, allowing flicks behind you.","value":"90.0","props":{"a":"0.1","b":"360.0"}},{"field":"e","setClass":"dev.zprestige.prestige.dO","name":"Range","desc":"Considers targets within this distance (blocks).","value":"5.0","props":{"a":"0.0","b":"10.0"}},{"field":"f","setClass":"dev.zprestige.prestige.dM","name":"Sticky Targeting","desc":"Keeps the current target until it dies or leaves range.","value":"true","props":{}},{"field":"g","setClass":"dev.zprestige.prestige.dM","name":"Through Walls","desc":"Allows targets hidden behind blocks.","value":"false","props":{}},{"field":"h","setClass":"dev.zprestige.prestige.dM","name":"Only On Rotate","desc":"Assists only while you are moving the mouse.","value":"true","props":{}},{"field":"i","setClass":"dev.zprestige.prestige.dM","name":"Stop On Block Break","desc":"Pauses while you are mining a block.","value":"true","props":{}},{"field":"j","setClass":"dev.zprestige.prestige.dM","name":"Weapon Only","desc":"Assists only while holding a sword or axe.","value":"false","props":{}},{"field":"k","setClass":"dev.zprestige.prestige.dM","name":"Crystal Only","desc":"Assists only while holding an end crystal.","value":"false","props":{}},{"field":"l","setClass":"dev.zprestige.prestige.dM","name":"Require Left Click","desc":"Assists only while left click is held.","value":"false","props":{}},{"field":"m","setClass":"dev.zprestige.prestige.dM","name":"Require Right Click","desc":"Assists only while right click is held.","value":"false","props":{}},{"field":"n","setClass":"dev.zprestige.prestige.dO","name":"Reaction Delay","desc":"Waits this long after acquiring a target before aiming (ms).","value":"0.0","props":{"a":"0.0","b":"500.0"}},{"field":"o","setClass":"dev.zprestige.prestige.dO","name":"Speed","desc":"Sets how fast the aim pulls to the target. Higher = snappier.","value":"50.0","props":{"a":"0.1","b":"100.0"}},{"field":"p","setClass":"dev.zprestige.prestige.dO","name":"Randomness","desc":"Adds per-frame jitter so the aim never moves dead straight.","value":"70.0","props":{"a":"0.1","b":"100.0"}},{"field":"q","setClass":"dev.zprestige.prestige.dM","name":"Smoothen","desc":"Replaces speed-based aim with a smoothness curve; glides instead of snapping.","value":"false","props":{}},{"field":"r","setClass":"dev.zprestige.prestige.dO","name":"Smoothness","desc":"Sets how buttery the glide is. 100 = very slow drift.","value":"75.0","props":{"a":"0.0","b":"100.0"}},{"field":"s","setClass":"dev.zprestige.prestige.dM","name":"Predict Movement","desc":"Leads moving players by their velocity.","value":"true","props":{}},{"field":"t","setClass":"dev.zprestige.prestige.dO","name":"Predict Multiply","desc":"Multiplies the lead. 1 = exact velocity; higher offsets ping (x).","value":"1.0","props":{"a":"1.0","b":"4.0"}},{"field":"u","setClass":"dev.zprestige.prestige.dM","name":"Vertical Only","desc":"Corrects pitch only for crystals; yaw stays yours.","value":"false","props":{}},{"field":"v","setClass":"dev.zprestige.prestige.dM","name":"Stop On Hitbox","desc":"Freezes correction once your crosshair is on the hitbox.","value":"true","props":{}}]},{"class":"dev.zprestige.prestige.dX","name":"Ambience","desc":"Changes the ambience of the game","category":"Visual","enabled":false,"settings":[{"field":"d","setClass":"dev.zprestige.prestige.dM","name":"Fog","desc":"Overrides vanilla fog with custom distances and color.","value":"true","props":{}},{"field":"a","setClass":"dev.zprestige.prestige.dO","name":"Start","desc":"Starts fog at this distance (blocks).","value":"90.0","props":{"a":"0.0","b":"200.0"}},{"field":"b","setClass":"dev.zprestige.prestige.dO","name":"End","desc":"Reaches full fog at this distance (blocks).","value":"150.0","props":{"a":"0.0","b":"200.0"}},{"field":"c","setClass":"dev.zprestige.prestige.dN","name":"Color","desc":"Sets the fog color.","value":"java.awt.Color[r=255,g=255,b=255]","props":{}},{"field":"e","setClass":"dev.zprestige.prestige.dM","name":"Cover Horizon Band","desc":"Hides the bright horizon strip by matching the sky cutoff to fog end.","value":"true","props":{}},{"field":"f","setClass":"dev.zprestige.prestige.dM","name":"Sky","desc":"Overrides the upper sky color.","value":"false","props":{}},{"field":"g","setClass":"dev.zprestige.prestige.dN","name":"Sky Color","desc":"Sets thLine truncated
|
||||
@@ -0,0 +1,275 @@
|
||||
# Prestige API-surface rename map. Columns (TAB): kind owner name descriptor new
|
||||
# kind C = class (owner = old internal name, new = new internal name); F = field; M = method.
|
||||
# Owner/name/descriptor use the OLD (obfuscated) names. Applied by client/tools/rename.sh (tiny-remapper) from
|
||||
# client/tools/build_runtime.sh; client/tools/rename_manifest.py applies the same file to manifest_live.json.
|
||||
C dev/zprestige/prestige/dV dev/zprestige/prestige/Module
|
||||
C dev/zprestige/prestige/i dev/zprestige/prestige/Category
|
||||
C dev/zprestige/prestige/dK dev/zprestige/prestige/Setting
|
||||
C dev/zprestige/prestige/dU dev/zprestige/prestige/SettingHolder
|
||||
C dev/zprestige/prestige/dM dev/zprestige/prestige/BoolSetting
|
||||
C dev/zprestige/prestige/dN dev/zprestige/prestige/ColorSetting
|
||||
C dev/zprestige/prestige/dO dev/zprestige/prestige/FloatSetting
|
||||
C dev/zprestige/prestige/dP dev/zprestige/prestige/IntSetting
|
||||
C dev/zprestige/prestige/dQ dev/zprestige/prestige/RangeSetting
|
||||
C dev/zprestige/prestige/dR dev/zprestige/prestige/EnumSetting
|
||||
C dev/zprestige/prestige/dS dev/zprestige/prestige/MultiSetting
|
||||
C dev/zprestige/prestige/dL dev/zprestige/prestige/KeybindSetting
|
||||
C dev/zprestige/prestige/dT dev/zprestige/prestige/TextSetting
|
||||
C dev/zprestige/prestige/bO dev/zprestige/prestige/EventBus
|
||||
C dev/zprestige/prestige/cJ dev/zprestige/prestige/ModuleManager
|
||||
C dev/zprestige/prestige/e_ dev/zprestige/prestige/MenuModule
|
||||
C dev/zprestige/prestige/q dev/zprestige/prestige/Gamemode
|
||||
C dev/zprestige/prestige/bP dev/zprestige/prestige/Subscribe
|
||||
C dev/zprestige/prestige/cy dev/zprestige/prestige/ListenerEntry
|
||||
F dev/zprestige/prestige/dK a Ljava/lang/String; name
|
||||
F dev/zprestige/prestige/dK b Ljava/lang/Object; value
|
||||
F dev/zprestige/prestige/dK c Ljava/lang/String; description
|
||||
F dev/zprestige/prestige/dK d Ljava/util/function/Predicate; visibility
|
||||
M dev/zprestige/prestige/dK a ()Ljava/lang/String; getName
|
||||
M dev/zprestige/prestige/dK a ([Ljava/lang/Object;)V setName
|
||||
M dev/zprestige/prestige/dK a ()Ljava/lang/Object; getValue
|
||||
M dev/zprestige/prestige/dK a (Ljava/lang/Object;)V setValue
|
||||
M dev/zprestige/prestige/dK b ()Ljava/lang/String; getDescription
|
||||
M dev/zprestige/prestige/dK a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dK; setVisibility
|
||||
M dev/zprestige/prestige/dK a ()Z isVisible
|
||||
M dev/zprestige/prestige/dM a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dM; setVisibility
|
||||
M dev/zprestige/prestige/dN a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dN; setVisibility
|
||||
M dev/zprestige/prestige/dO a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dO; setVisibility
|
||||
M dev/zprestige/prestige/dP a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dP; setVisibility
|
||||
M dev/zprestige/prestige/dQ a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dQ; setVisibility
|
||||
M dev/zprestige/prestige/dR a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dR; setVisibility
|
||||
M dev/zprestige/prestige/dS a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dS; setVisibility
|
||||
M dev/zprestige/prestige/dL a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dL; setVisibility
|
||||
M dev/zprestige/prestige/dT a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dT; setVisibility
|
||||
F dev/zprestige/prestige/dO a F min
|
||||
F dev/zprestige/prestige/dO b F max
|
||||
M dev/zprestige/prestige/dO a ()F getMin
|
||||
M dev/zprestige/prestige/dO b ()F getMax
|
||||
F dev/zprestige/prestige/dP a I min
|
||||
F dev/zprestige/prestige/dP b I max
|
||||
M dev/zprestige/prestige/dP a ()I getMin
|
||||
M dev/zprestige/prestige/dP b ()I getMax
|
||||
F dev/zprestige/prestige/dQ a F min
|
||||
F dev/zprestige/prestige/dQ b F max
|
||||
F dev/zprestige/prestige/dQ c F low
|
||||
F dev/zprestige/prestige/dQ d F high
|
||||
F dev/zprestige/prestige/dQ e F rolled
|
||||
M dev/zprestige/prestige/dQ a ()F getLow
|
||||
M dev/zprestige/prestige/dQ a (F)V setLow
|
||||
M dev/zprestige/prestige/dQ b ()F getHigh
|
||||
M dev/zprestige/prestige/dQ b (F)V setHigh
|
||||
M dev/zprestige/prestige/dQ c ()F getMin
|
||||
M dev/zprestige/prestige/dQ d ()F getMax
|
||||
M dev/zprestige/prestige/dQ e ([Ljava/lang/Object;)F getRolled
|
||||
M dev/zprestige/prestige/dQ c ([Ljava/lang/Object;)V setRolled
|
||||
M dev/zprestige/prestige/dQ b ([Ljava/lang/Object;)V reroll
|
||||
M dev/zprestige/prestige/dQ f ([Ljava/lang/Object;)F randomInRange
|
||||
F dev/zprestige/prestige/dR a [Ljava/lang/String; options
|
||||
M dev/zprestige/prestige/dR a ()[Ljava/lang/String; getOptions
|
||||
F dev/zprestige/prestige/dS a [Ljava/lang/String; options
|
||||
F dev/zprestige/prestige/dS b [Z selected
|
||||
F dev/zprestige/prestige/dS c Ljava/util/Map; indexByOption
|
||||
M dev/zprestige/prestige/dS a ()[Ljava/lang/String; getOptions
|
||||
M dev/zprestige/prestige/dS a ([Ljava/lang/Object;)Z isSelected
|
||||
M dev/zprestige/prestige/dS a (Ljava/lang/String;Z)V setSelected
|
||||
M dev/zprestige/prestige/dS a ()[Z getSelected
|
||||
F dev/zprestige/prestige/dT a Ljava/lang/String; placeholder
|
||||
M dev/zprestige/prestige/dT c ([Ljava/lang/Object;)Ljava/lang/String; getPlaceholder
|
||||
F dev/zprestige/prestige/dL a Z toggleMode
|
||||
M dev/zprestige/prestige/dL b ()Z isToggleMode
|
||||
M dev/zprestige/prestige/dL a (Z)V setToggleMode
|
||||
M dev/zprestige/prestige/dL c ([Ljava/lang/Object;)Z isPressed
|
||||
F dev/zprestige/prestige/dU a Ljava/util/ArrayList; settings
|
||||
M dev/zprestige/prestige/dU a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dL; addKeybind
|
||||
M dev/zprestige/prestige/dU a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dM; addBool
|
||||
M dev/zprestige/prestige/dU a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dO; addFloat
|
||||
M dev/zprestige/prestige/dU a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dP; addInt
|
||||
M dev/zprestige/prestige/dU a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dQ; addRange
|
||||
M dev/zprestige/prestige/dU a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dT; addText
|
||||
M dev/zprestige/prestige/dU a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dR; addEnum
|
||||
M dev/zprestige/prestige/dU a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dN; addColor
|
||||
M dev/zprestige/prestige/dU a ([Ljava/lang/Object;)Ldev/zprestige/prestige/dS; addMulti
|
||||
F dev/zprestige/prestige/dV c Ljava/util/List; coreSettings
|
||||
F dev/zprestige/prestige/dV d Ldev/zprestige/prestige/dM; enabledSetting
|
||||
F dev/zprestige/prestige/dV e Ljava/lang/String; name
|
||||
F dev/zprestige/prestige/dV f Ldev/zprestige/prestige/dL; keybind
|
||||
F dev/zprestige/prestige/dV g Ldev/zprestige/prestige/i; category
|
||||
F dev/zprestige/prestige/dV h Ljava/lang/String; description
|
||||
F dev/zprestige/prestige/dV i Z lastEnabled
|
||||
F dev/zprestige/prestige/dV j Ljava/util/List; allSettingsCache
|
||||
M dev/zprestige/prestige/dV a ()Z isEnabled
|
||||
M dev/zprestige/prestige/dV b ([Ljava/lang/Object;)I getKey
|
||||
M dev/zprestige/prestige/dV b ([Ljava/lang/Object;)Ldev/zprestige/prestige/dL; getKeybind
|
||||
M dev/zprestige/prestige/dV a ([Ljava/lang/Object;)V toggle
|
||||
M dev/zprestige/prestige/dV b ([Ljava/lang/Object;)V applyState
|
||||
M dev/zprestige/prestige/dV c ([Ljava/lang/Object;)V dispose
|
||||
M dev/zprestige/prestige/dV d ([Ljava/lang/Object;)V onEnable
|
||||
M dev/zprestige/prestige/dV e ([Ljava/lang/Object;)V onDisable
|
||||
M dev/zprestige/prestige/dV a ([Ljava/lang/Object;)Ljava/lang/String; getInfo
|
||||
M dev/zprestige/prestige/dV a ([Ljava/lang/Object;)Ljava/util/List; getCoreSettings
|
||||
M dev/zprestige/prestige/dV b ()Ljava/lang/String; getName
|
||||
M dev/zprestige/prestige/dV f ([Ljava/lang/Object;)V setName
|
||||
M dev/zprestige/prestige/dV c ()Ljava/lang/String; getDescription
|
||||
M dev/zprestige/prestige/dV g ([Ljava/lang/Object;)V setDescription
|
||||
M dev/zprestige/prestige/dV a ()Ldev/zprestige/prestige/i; getCategory
|
||||
M dev/zprestige/prestige/dV h ([Ljava/lang/Object;)V setCategory
|
||||
M dev/zprestige/prestige/dV c ([Ljava/lang/Object;)Z getLastEnabled
|
||||
M dev/zprestige/prestige/dV i ([Ljava/lang/Object;)V setLastEnabled
|
||||
M dev/zprestige/prestige/dV b ()Ljava/util/List; getSettings
|
||||
M dev/zprestige/prestige/dV a ([Ljava/lang/Object;)Ljava/util/Set; getGamemodes
|
||||
M dev/zprestige/prestige/dV c ()I getGamemodeMask
|
||||
F dev/zprestige/prestige/cJ a Ldev/zprestige/prestige/e_; menu
|
||||
F dev/zprestige/prestige/cJ c Ljava/util/List; modules
|
||||
F dev/zprestige/prestige/cJ d Ljava/util/concurrent/ConcurrentLinkedQueue; enableQueue
|
||||
F dev/zprestige/prestige/cJ e Ljava/util/concurrent/ConcurrentLinkedQueue; disableQueue
|
||||
M dev/zprestige/prestige/cJ a (Ldev/zprestige/prestige/bG;)V onTick
|
||||
M dev/zprestige/prestige/cJ a ([Ljava/lang/Object;)V queueEnable
|
||||
M dev/zprestige/prestige/cJ b ([Ljava/lang/Object;)V queueDisable
|
||||
M dev/zprestige/prestige/cJ a ()Ljava/util/List; getModules
|
||||
M dev/zprestige/prestige/cJ a (Ljava/util/List;)V setModules
|
||||
M dev/zprestige/prestige/cJ a ([Ljava/lang/Object;)Ldev/zprestige/prestige/e_; getMenu
|
||||
M dev/zprestige/prestige/cJ a (Ljava/awt/Color;)V setMenuColor
|
||||
M dev/zprestige/prestige/cJ a (I)V setMenuKey
|
||||
F dev/zprestige/prestige/e_ f Ldev/zprestige/prestige/dL; menuKey
|
||||
F dev/zprestige/prestige/e_ b Ldev/zprestige/prestige/dR; descriptionMode
|
||||
F dev/zprestige/prestige/e_ d Ldev/zprestige/prestige/dM; rounded
|
||||
F dev/zprestige/prestige/e_ c Ldev/zprestige/prestige/dN; menuColor
|
||||
M dev/zprestige/prestige/e_ c ([Ljava/lang/Object;)Ldev/zprestige/prestige/dL; getMenuKey
|
||||
M dev/zprestige/prestige/e_ b ([Ljava/lang/Object;)Ldev/zprestige/prestige/dR; getDescriptionMode
|
||||
M dev/zprestige/prestige/e_ b ([Ljava/lang/Object;)Ldev/zprestige/prestige/dM; getRounded
|
||||
M dev/zprestige/prestige/e_ b ([Ljava/lang/Object;)Ldev/zprestige/prestige/dN; getMenuColor
|
||||
F dev/zprestige/prestige/bO a Ljava/util/Map; listeners
|
||||
F dev/zprestige/prestige/bO b Ljava/lang/Object; lock
|
||||
M dev/zprestige/prestige/bO a ([Ljava/lang/Object;)V register
|
||||
M dev/zprestige/prestige/bO b ([Ljava/lang/Object;)V unregister
|
||||
M dev/zprestige/prestige/bO a ([Ljava/lang/Object;)Z post
|
||||
M dev/zprestige/prestige/bO b ([Ljava/lang/Object;)Z hasListeners
|
||||
M dev/zprestige/prestige/bO c ([Ljava/lang/Object;)Z hasListenerOfType
|
||||
F dev/zprestige/prestige/cy a Ljava/lang/reflect/Method; method
|
||||
F dev/zprestige/prestige/cy b Ljava/lang/Object; target
|
||||
F dev/zprestige/prestige/cy c Ljava/lang/Class; eventType
|
||||
F dev/zprestige/prestige/cy d Ljava/lang/invoke/MethodHandle; handle
|
||||
F dev/zprestige/prestige/client/Prestige b Ldev/zprestige/prestige/bO; eventBus
|
||||
F dev/zprestige/prestige/client/Prestige d Ldev/zprestige/prestige/cJ; moduleManager
|
||||
# --- modules (generated by client/tools/gen_module_mapping.py from docs/manifest_live.obf.json) ---
|
||||
C dev/zprestige/prestige/dW dev/zprestige/prestige/module/combat/AimAssist
|
||||
C dev/zprestige/prestige/dX dev/zprestige/prestige/module/visual/Ambience
|
||||
C dev/zprestige/prestige/dY dev/zprestige/prestige/module/combat/AnchorExploder
|
||||
C dev/zprestige/prestige/dZ dev/zprestige/prestige/module/combat/AnchorMacro
|
||||
C dev/zprestige/prestige/d0 dev/zprestige/prestige/module/combat/AnchorPearlCatch
|
||||
C dev/zprestige/prestige/d1 dev/zprestige/prestige/module/combat/AnchorPlacer
|
||||
C dev/zprestige/prestige/d2 dev/zprestige/prestige/module/visual/Animations
|
||||
C dev/zprestige/prestige/d3 dev/zprestige/prestige/module/combat/AntiAction
|
||||
C dev/zprestige/prestige/d4 dev/zprestige/prestige/module/combat/AntiBot
|
||||
C dev/zprestige/prestige/d5 dev/zprestige/prestige/module/visual/AntiResourcePack
|
||||
C dev/zprestige/prestige/d6 dev/zprestige/prestige/module/misc/AntiTrap
|
||||
C dev/zprestige/prestige/d7 dev/zprestige/prestige/module/combat/AntiWeb
|
||||
C dev/zprestige/prestige/d8 dev/zprestige/prestige/module/combat/AutoAnchor
|
||||
C dev/zprestige/prestige/d9 dev/zprestige/prestige/module/misc/AutoArmor
|
||||
C dev/zprestige/prestige/d_ dev/zprestige/prestige/module/combat/AutoCart
|
||||
C dev/zprestige/prestige/ea dev/zprestige/prestige/module/misc/AutoClicker
|
||||
C dev/zprestige/prestige/eb dev/zprestige/prestige/module/combat/AutoCrystal
|
||||
C dev/zprestige/prestige/ec dev/zprestige/prestige/module/combat/AutoDrain
|
||||
C dev/zprestige/prestige/ed dev/zprestige/prestige/module/combat/AutoElytra
|
||||
C dev/zprestige/prestige/ee dev/zprestige/prestige/module/combat/AutoHitCrystal
|
||||
C dev/zprestige/prestige/ef dev/zprestige/prestige/module/movement/AutoJumpReset
|
||||
C dev/zprestige/prestige/eg dev/zprestige/prestige/module/misc/AutoLoot
|
||||
C dev/zprestige/prestige/eh dev/zprestige/prestige/module/mace/AutoMace
|
||||
C dev/zprestige/prestige/ei dev/zprestige/prestige/module/combat/AutoObbyCrystal
|
||||
C dev/zprestige/prestige/ej dev/zprestige/prestige/module/mace/AutoPearlCatch
|
||||
C dev/zprestige/prestige/ek dev/zprestige/prestige/module/misc/AutoPickaxe
|
||||
C dev/zprestige/prestige/el dev/zprestige/prestige/module/misc/AutoPot
|
||||
C dev/zprestige/prestige/em dev/zprestige/prestige/module/mace/AutoReMace
|
||||
C dev/zprestige/prestige/en dev/zprestige/prestige/module/combat/AutoSafeCart
|
||||
C dev/zprestige/prestige/eo dev/zprestige/prestige/module/combat/AutoShield
|
||||
C dev/zprestige/prestige/ep dev/zprestige/prestige/module/combat/AutoShieldBreaker
|
||||
C dev/zprestige/prestige/eq dev/zprestige/prestige/module/movement/AutoShortPearl
|
||||
C dev/zprestige/prestige/er dev/zprestige/prestige/module/misc/AutoText
|
||||
C dev/zprestige/prestige/es dev/zprestige/prestige/module/misc/AutoTool
|
||||
C dev/zprestige/prestige/et dev/zprestige/prestige/module/combat/AutoTotem
|
||||
C dev/zprestige/prestige/eu dev/zprestige/prestige/module/combat/Backtrack
|
||||
C dev/zprestige/prestige/ev dev/zprestige/prestige/module/mace/BreachSwap
|
||||
C dev/zprestige/prestige/ew dev/zprestige/prestige/module/combat/CartAura
|
||||
C dev/zprestige/prestige/ex dev/zprestige/prestige/module/combat/CartPearlCatch
|
||||
C dev/zprestige/prestige/ey dev/zprestige/prestige/module/misc/CartRefill
|
||||
C dev/zprestige/prestige/ez dev/zprestige/prestige/module/misc/CartStealer
|
||||
C dev/zprestige/prestige/eA dev/zprestige/prestige/module/misc/ChestStealer
|
||||
C dev/zprestige/prestige/eB dev/zprestige/prestige/module/combat/CobwebPlacer
|
||||
C dev/zprestige/prestige/eC dev/zprestige/prestige/module/misc/Criticals
|
||||
C dev/zprestige/prestige/eD dev/zprestige/prestige/module/misc/CrystalOptimizer
|
||||
C dev/zprestige/prestige/eE dev/zprestige/prestige/module/mace/DiagonalPearlCatch
|
||||
C dev/zprestige/prestige/eF dev/zprestige/prestige/module/combat/DoubleAnchor
|
||||
C dev/zprestige/prestige/eG dev/zprestige/prestige/module/visual/ESP
|
||||
C dev/zprestige/prestige/eH dev/zprestige/prestige/module/mace/ElytraWindCharge
|
||||
C dev/zprestige/prestige/eI dev/zprestige/prestige/module/misc/EnemyFaker
|
||||
C dev/zprestige/prestige/eJ dev/zprestige/prestige/module/spear/ExtendedReach
|
||||
C dev/zprestige/prestige/eK dev/zprestige/prestige/module/movement/FakeLag
|
||||
C dev/zprestige/prestige/eL dev/zprestige/prestige/module/movement/FastBridge
|
||||
C dev/zprestige/prestige/eM dev/zprestige/prestige/module/misc/FastEXP
|
||||
C dev/zprestige/prestige/eN dev/zprestige/prestige/module/mace/FastPearlCatch
|
||||
C dev/zprestige/prestige/eO dev/zprestige/prestige/module/misc/FastPlace
|
||||
C dev/zprestige/prestige/eP dev/zprestige/prestige/module/visual/FreeLook
|
||||
C dev/zprestige/prestige/eQ dev/zprestige/prestige/module/movement/Freecam
|
||||
C dev/zprestige/prestige/eR dev/zprestige/prestige/module/misc/Friends
|
||||
C dev/zprestige/prestige/eS dev/zprestige/prestige/module/combat/GhostPlace
|
||||
C dev/zprestige/prestige/eT dev/zprestige/prestige/module/visual/HealthIndicators
|
||||
C dev/zprestige/prestige/eU dev/zprestige/prestige/module/visual/HitEffect
|
||||
C dev/zprestige/prestige/eV dev/zprestige/prestige/module/combat/HitFix
|
||||
C dev/zprestige/prestige/eW dev/zprestige/prestige/module/combat/HitFlick
|
||||
C dev/zprestige/prestige/eX dev/zprestige/prestige/module/combat/Hitboxes
|
||||
C dev/zprestige/prestige/eY dev/zprestige/prestige/module/visual/HudEditor
|
||||
C dev/zprestige/prestige/eZ dev/zprestige/prestige/module/combat/InstantCrossbow
|
||||
C dev/zprestige/prestige/e0 dev/zprestige/prestige/module/spear/InstantLunge
|
||||
C dev/zprestige/prestige/e1 dev/zprestige/prestige/module/combat/InstantShield
|
||||
C dev/zprestige/prestige/e2 dev/zprestige/prestige/module/visual/ItemESP
|
||||
C dev/zprestige/prestige/e3 dev/zprestige/prestige/module/visual/JumpCircles
|
||||
C dev/zprestige/prestige/e4 dev/zprestige/prestige/module/combat/KeepSprint
|
||||
C dev/zprestige/prestige/e5 dev/zprestige/prestige/module/misc/KeyPearl
|
||||
C dev/zprestige/prestige/e6 dev/zprestige/prestige/module/mace/KeyWindCharge
|
||||
C dev/zprestige/prestige/e7 dev/zprestige/prestige/module/combat/KillAura
|
||||
C dev/zprestige/prestige/e8 dev/zprestige/prestige/module/mace/MacePot
|
||||
C dev/zprestige/prestige/e9 dev/zprestige/prestige/module/mace/MacePrediction
|
||||
C dev/zprestige/prestige/fa dev/zprestige/prestige/module/misc/MiddleClickFriend
|
||||
C dev/zprestige/prestige/fb dev/zprestige/prestige/module/misc/NameHider
|
||||
C dev/zprestige/prestige/fc dev/zprestige/prestige/module/visual/NameTags
|
||||
C dev/zprestige/prestige/fd dev/zprestige/prestige/module/visual/NoBounce
|
||||
C dev/zprestige/prestige/fe dev/zprestige/prestige/module/movement/NoJumpDelay
|
||||
C dev/zprestige/prestige/ff dev/zprestige/prestige/module/combat/NoMissDelay
|
||||
C dev/zprestige/prestige/fg dev/zprestige/prestige/module/visual/OreSimulation
|
||||
C dev/zprestige/prestige/fh dev/zprestige/prestige/module/movement/Parkour
|
||||
C dev/zprestige/prestige/fi dev/zprestige/prestige/module/combat/PearlFollow
|
||||
C dev/zprestige/prestige/fj dev/zprestige/prestige/module/visual/PearlTrajectory
|
||||
C dev/zprestige/prestige/fk dev/zprestige/prestige/module/mace/PearlWindCharge
|
||||
C dev/zprestige/prestige/fl dev/zprestige/prestige/module/misc/PotionRefill
|
||||
C dev/zprestige/prestige/fm dev/zprestige/prestige/module/combat/PredictDoubleHand
|
||||
C dev/zprestige/prestige/fn dev/zprestige/prestige/module/misc/Reach
|
||||
C dev/zprestige/prestige/fo dev/zprestige/prestige/module/misc/Refill
|
||||
C dev/zprestige/prestige/fp dev/zprestige/prestige/module/visual/RenderOptimizer
|
||||
C dev/zprestige/prestige/fq dev/zprestige/prestige/module/misc/RightClicker
|
||||
C dev/zprestige/prestige/fr dev/zprestige/prestige/module/combat/SafeAnchor
|
||||
C dev/zprestige/prestige/fs dev/zprestige/prestige/module/misc/SelfDestruct
|
||||
C dev/zprestige/prestige/ft dev/zprestige/prestige/module/mace/ShieldDrain
|
||||
C dev/zprestige/prestige/fu dev/zprestige/prestige/module/visual/ShieldRenderer
|
||||
C dev/zprestige/prestige/fv dev/zprestige/prestige/module/movement/ShortPearl
|
||||
C dev/zprestige/prestige/fw dev/zprestige/prestige/module/mace/ShortWindCharge
|
||||
C dev/zprestige/prestige/fx dev/zprestige/prestige/module/combat/SilentAim
|
||||
C dev/zprestige/prestige/fy dev/zprestige/prestige/module/spear/SpearDamageIndicator
|
||||
C dev/zprestige/prestige/fz dev/zprestige/prestige/module/spear/SpearMaceDoubleTap
|
||||
C dev/zprestige/prestige/fA dev/zprestige/prestige/module/movement/Sprint
|
||||
C dev/zprestige/prestige/fB dev/zprestige/prestige/module/visual/StorageESP
|
||||
C dev/zprestige/prestige/fC dev/zprestige/prestige/module/misc/StreamerMode
|
||||
C dev/zprestige/prestige/fD dev/zprestige/prestige/module/combat/SwapHit
|
||||
C dev/zprestige/prestige/fE dev/zprestige/prestige/module/visual/TargetRenderer
|
||||
C dev/zprestige/prestige/fF dev/zprestige/prestige/module/misc/Teams
|
||||
C dev/zprestige/prestige/fG dev/zprestige/prestige/module/visual/TotemAnimation
|
||||
C dev/zprestige/prestige/fH dev/zprestige/prestige/module/combat/TotemHit
|
||||
C dev/zprestige/prestige/fI dev/zprestige/prestige/module/visual/Trails
|
||||
C dev/zprestige/prestige/fJ dev/zprestige/prestige/module/visual/Trajectories
|
||||
C dev/zprestige/prestige/fK dev/zprestige/prestige/module/combat/Triggerbot
|
||||
C dev/zprestige/prestige/fL dev/zprestige/prestige/module/visual/TwoDESP
|
||||
C dev/zprestige/prestige/fM dev/zprestige/prestige/module/movement/Velocity
|
||||
C dev/zprestige/prestige/fN dev/zprestige/prestige/module/movement/WTap
|
||||
C dev/zprestige/prestige/fO dev/zprestige/prestige/module/visual/Weather
|
||||
C dev/zprestige/prestige/fP dev/zprestige/prestige/module/mace/WindChargeAura
|
||||
C dev/zprestige/prestige/fQ dev/zprestige/prestige/module/visual/XRay
|
||||
C dev/zprestige/prestige/fR dev/zprestige/prestige/module/combat/XbowCart
|
||||
|
@@ -0,0 +1,78 @@
|
||||
# BOOT_NOTES (agent "boot", 2026-10-19)
|
||||
|
||||
Goal: the deobfuscated Prestige client boots under Fabric (dev client, `./gradlew runClient`), `Prestige.init()` completes
|
||||
and the UI bridge binds to the live modules.
|
||||
|
||||
## Findings (root causes, in order of discovery)
|
||||
1. **Two copies of the client were loaded.** `build.gradle` has `implementation files("client/work/client-runtime.jar")`
|
||||
(a Yarn-named jar on the dev classpath). A jar in `run/mods` is a *second* copy (loaded as a mod and remapped
|
||||
intermediary->named by Fabric Loader at runtime). Whichever won the race was used, so every earlier "fix" that only
|
||||
went into `run/mods` seemed flaky (the log showed classes loaded from `client/work/client-runtime.jar`, static keys = 0).
|
||||
Decision: **the classpath jar `client/work/client-runtime.jar` is the one used by the dev client; `run/mods` stays empty.**
|
||||
(If you want to use `run/mods` instead, the jar must be INTERMEDIARY-named incl. intermediary AW: `work/client-boot.jar`,
|
||||
and `build.gradle`'s `implementation files(...)` line must be removed. Loom's loader remaps mods-folder jars itself.)
|
||||
2. **ZKM-like key generator is stateful.** Every class (358 of them) computes its decryption key in `<clinit>` through
|
||||
`hc.a(seed1, seed2, lookupClass).a(const)` (`hb`/`hc` = an interpreter with shared, mutable cached objects:
|
||||
`this.a = a ^ arg ^ d`, instance cache sorted by `identityHashCode`...). The result depends on **how often / in which order the
|
||||
generator was called before**, so the values obtained under Fabric (different class-init order) differ from the values
|
||||
the isolated child JVMs of `IndyResolve` see (e.g. `cJ.g` = 0 / 182876734801923 instead of 22310984220293).
|
||||
Wrong key -> wrong table index -> `Index 184919 out of bounds for length 81` in `bO.a`.
|
||||
3. The old `IndyResolve` "clinit cut" (a `goto` over the table initialisation) was *not* the real problem for these classes
|
||||
(only for the tables' decoded content); but it also removed the table init, so it is now disabled for the runtime jar.
|
||||
4. `FixFlow` recomputed frames with `getCommonSuperClass -> Object` fallback => `VerifyError` (`Object` not assignable to `PlayerEntity`).
|
||||
Now it resolves common super classes through a URLClassLoader over MC + libs + the jar.
|
||||
|
||||
## Fix (pipeline `client/tools/build_runtime.sh`, replaces the previous ad-hoc jars)
|
||||
* `IndyResolve -Dno.clinitcut=true`: no clinit cut. Instead `keyFix()` replaces, in every `<clinit>`,
|
||||
`ldc s1; ldc s2; MethodHandles.lookup().lookupClass(); hc.a(JJObject); ldc c; ha.a(J)J` by `ldc <value recorded by the isolated child run>`
|
||||
(`IndyRec.recH` -> `info.rec["H"+ordinal]`). Result: 357 of 358 classes get the constant; the whole table init (`h`/`i` arrays,
|
||||
`a()V`, DES decrypt, `ldc` tables) stays intact and runs at run time. The 1 remaining class is `gf` (no child value; see below).
|
||||
* Module constructors are hooked: `PatchBootstrap` inserts `dev.prestige.ui.bridge.Bootstrap.pre(this)` after `super()` in all 122
|
||||
subclasses of `dV` (the native module normally injects the settings before the ctor body runs).
|
||||
* `FixFlow` (frames, `getCommonSuperClass` via real classes) -> `work/client-boot.jar` (intermediary-named, usable in a mods folder
|
||||
for Prism, with the Bootstrap hook; the hook class lives in `prestige-ui`).
|
||||
* tiny-remapper intermediary->named + `fix_aw.py` -> `work/client-runtime.jar` (Yarn-named; this is what Gradle uses).
|
||||
* `-Xverify:all` check of all 708 classes standalone: `client/work/t2/V.java` (ok=708 bad=0).
|
||||
|
||||
## Bridge
|
||||
* `Bridge.bind()` is called from the first client tick (`Entry`). The manager (`Prestige.d`, class `cJ`) list is empty after
|
||||
`Prestige.init()` (modules are registered by the native module), so `Bridge.buildModules` constructs every class of
|
||||
`src/main/resources/prestige_ui/manifest_live.json` (copied from `liberate/work/deobf/manifest_live.json`), calls `Bootstrap.post(m)`
|
||||
and registers the list with the manager's `a(List)` setter. Bootstrap = port of `work/deobf/gui/zkminit/Bootstrap.java`
|
||||
(package `dev.prestige.ui.bridge`).
|
||||
|
||||
## Run
|
||||
```
|
||||
bash client/tools/build_runtime.sh # ~2 min; writes work/client-boot.jar (intermediary) + work/client-runtime.jar (yarn)
|
||||
bash client/tools/boot_test.sh 200 # kills stale dev clients, runs ./gradlew runClient (timeout), copies the log to run/logs/boot_*.log
|
||||
```
|
||||
Log lines to look for: `[prestige-ui] bridge bound: 121 modules`.
|
||||
|
||||
## Result (verified 15:20)
|
||||
* `Prestige.init()` completes (no STDERR in the log), `Prestige.d` manager exists; its module list is empty (native registers it).
|
||||
* `[prestige-ui] bridge: built 121 modules from manifest, failed 0` / `[prestige-ui] bridge bound: 121 modules`
|
||||
(log: `client/work/boot_success_latest.log`).
|
||||
* UI click test (`run/cmd/ui.txt` command file, `-PuiCmd=`; new dev commands `pointmod <module>` / `state <module>`, `ui/DevCmd.java`):
|
||||
`Aim Assist ui=false live=false` -> click on its toggle -> `ui=true live.a()=true enabledSetting.value=true` -> click -> false -> click -> true.
|
||||
Screenshot `client/work/boot_toggle_on.png` (header "1 enabled", Aim Assist switch on). Note: the very first click after opening
|
||||
is sometimes ignored (earlier run); a 40-frame wait after `open` makes it reliable.
|
||||
|
||||
## Not done / caveats
|
||||
* Class `gf` has no recorded key value (child run produced no value) -> its `<clinit>` still calls the stateful `hc` generator
|
||||
(`KEYFIX-NOVALUE dev/zprestige/prestige/gf 0` in `work/boot_indy.report.txt`). Not hit during boot; check when it is used.
|
||||
* Module *behaviour* (onEnable hooks, event bus dispatch, rendering) is not verified; only construction + enable flag round trip.
|
||||
* The enable flag round trip goes through the module's `dM` setting (`Bridge.LiveModule.setEnabled`); `onEnable`/`onDisable` side
|
||||
effects depend on how the original dM listener fires (not checked).
|
||||
* `run/mods` is empty on purpose (see Finding 1). `work/client-runtime.pre-boot.jar` is the previous classpath jar (backup).
|
||||
* Source tree compile (client/src) was not touched.
|
||||
|
||||
## Update (agent "rename", 2026-10-19 16:45)
|
||||
* API surface renamed by bytecode: `docs/mapping.tsv` (applied by `tools/rename.sh` = tiny-remapper + `Widen`, called from `build_runtime.sh` and
|
||||
`build_source.sh`). dV->Module, i->Category, dK->Setting, dU->SettingHolder, dM/dN/dO/dP/dQ/dR/dS/dL/dT -> Bool/Color/Float/Int/Range/Enum/Multi/
|
||||
Keybind/TextSetting, bO->EventBus, cJ->ModuleManager, e_->MenuModule, q->Gamemode, bP->Subscribe, Prestige.b/d -> eventBus/moduleManager,
|
||||
plus the fields/methods the UI uses (name/description/value/min/max/low/high/options/selected/toggleMode, getModules/setModules, isEnabled ...).
|
||||
The 121 module classes are mapped to `dev.zprestige.prestige.module.<category>.<PascalCaseName>` (section generated by `tools/gen_module_mapping.py`).
|
||||
* Bridge/Bootstrap use the new names; manifest class/prop names are rewritten from `docs/manifest_live.obf.json` by `tools/rename_manifest.py`.
|
||||
* Evidence: `work/boot_rename_success.log` (API rename, jar route), `work/boot_jar_modules_renamed.log` (+ module classes renamed),
|
||||
`work/boot_source_modules_renamed.log` (source route, `-PwithClient=true`); all show `bridge bound: 121 modules` and the Aim Assist toggle round trip.
|
||||
* Source route: see `TODO_COMPILE.md`.
|
||||
@@ -0,0 +1,156 @@
|
||||
# Handoff: client source refactor (packages + class names)
|
||||
|
||||
## Current state
|
||||
|
||||
The catastrophic part is done. All 400 obfuscated helper classes have been moved out of the root package into
|
||||
18 meaningful sub-packages, and the source tree compiles and builds.
|
||||
|
||||
- Source tree: `project/client/src/main/java/dev/zprestige/prestige`
|
||||
- 543 Java classes total:
|
||||
- 21 already-named API classes intentionally left at the root (`Module`, `Setting`, `SettingHolder`, the 9
|
||||
setting types, `EventBus`, `Category`, `ModuleManager`, `MenuModule`, `Gamemode`, `Native`, `Constants`,
|
||||
`Subscribe`, `ListenerEntry`)
|
||||
- `client/Prestige`
|
||||
- 121 modules under `module/<category>/`
|
||||
- 400 renamed helpers under `event/ hud/ render/ data/ type/ mixin/ world/ math/ combat/ inventory/ network/
|
||||
reflect/ gui/ config/ util/ social/ annotation/ input/`
|
||||
- Zero obfuscated class names remain at the root. Verified by listing the renamed jar: the root contains only the
|
||||
21 API classes.
|
||||
- `./gradlew.bat build -PwithClient=true` succeeds (`BUILD SUCCESSFUL`, one deprecation warning about
|
||||
`ThreadDeath`). Artifacts: `project/build/libs/prestige-0.1.0.jar`,
|
||||
`prestige-0.1.0-sources.jar`.
|
||||
- **Boot has not been tested yet.** That is the first remaining step.
|
||||
|
||||
## What was changed
|
||||
|
||||
### New files (`project/client/tools/`)
|
||||
|
||||
- `gen_class_mapping.py` — generates `docs/classmap.tsv` (400 `C old new` rows) from the decompiled source by
|
||||
classifying superclass/interface/mixin target/HUD description/shader path/record components/enum constants/
|
||||
module references.
|
||||
- `merge_mapping.py` — merges `docs/mapping.tsv` + `docs/classmap.tsv` into `work/rename.map.tsv`, refusing
|
||||
duplicate owners.
|
||||
- `clsmapping.py` — shared lookup used by the fixers:
|
||||
- `Mapping(srcdir).path(old_source_name)` -> real path after renames
|
||||
- `Mapping.source_to_new` -> class-token map for source snippets
|
||||
- `rewrite_tokens()` — token rewrite that skips string literals and fully-qualified package paths
|
||||
|
||||
### Changed files
|
||||
|
||||
- `client/tools/rename.sh`
|
||||
- now merges `docs/classmap.tsv` into the mapping before running tiny-remapper and `rename_manifest.py`.
|
||||
- The class map therefore applies to both routes (source regeneration and runtime jar).
|
||||
- `client/tools/fix_reflect.py`
|
||||
- resolves `cU`/`cW`/`EventBus` through `clsmapping` instead of hardcoded root paths
|
||||
- uses the renamed `Event.class` instead of `aH.class`
|
||||
- `client/tools/fix_ctor.py`
|
||||
- constructor-noise regex accepts both `aH.b();` and `Event.b();`
|
||||
- `client/tools/manual_edits.py`
|
||||
- uses `clsmapping.Mapping`; snippets are token-rewritten outside string literals
|
||||
- removed one obsolete `PostShader` edit (the `i_cF` bridge no longer exists)
|
||||
- the restored `TextRenderer` bridge now implements `a_WorldContract` (the method name generated after the
|
||||
class rename)
|
||||
- `client/tools/notry.txt`
|
||||
- `ConfigManager.a(...)Lcom/google/gson/JsonObject;` updated to the new FQN. Without this the config loader
|
||||
fails to decompile again.
|
||||
- `docs/classmap.tsv` — 400 generated class rows (frozen; treat as source of truth).
|
||||
- `docs/classmap_src.tsv` — source-tree name -> new internal name, used by `clsmapping.py` to survive the
|
||||
`_`-suffixed case-collision twins (`cg_` is jar `cg`, `d_` is jar `d`). Also frozen.
|
||||
|
||||
### Naming decisions
|
||||
|
||||
- Events: `event/Event` (base `aH`), 70 `*Event` subclasses. Fieldless events are `TickEvent`, `TickEvent2`, ...
|
||||
- HUD: `hud/HudElement` (base `b4`), names derived from the `super("Name", ...)` string, e.g.
|
||||
`ModuleListElement`, `WatermarkElement`.
|
||||
- Mixins: `mixin/<Target>Mixin` from `@CTransformer`, e.g. `MinecraftClientMixin`, `EntityMixin`,
|
||||
`InGameHudMixin`. Duplicate targets get `2`, `3`, `4`.
|
||||
- Shaders: `render/<Name>Shader` from the `.frag` path (`AuraOutlineShader`, `ChamsOutlineShader`, ...).
|
||||
- Enums: `type/*` with semantic overrides (`BowMode`, `AnchorState`, `CartState`, `GlPrimitive`, `Easing`, ...).
|
||||
- Records/data: `data/*` (`IntData`, `LongData`, `VecIntData`, ...).
|
||||
- API classes stay at root on purpose. Moving them would require editing hardcoded FQNs in
|
||||
`src/main/java/dev/prestige/ui/bridge/Bootstrap.java` and `Bridge.java`, and gains nothing for this task.
|
||||
|
||||
## Important caveats
|
||||
|
||||
- **Do not blindly re-run `gen_class_mapping.py` on the new tree.** It was written for the pre-refactor tree and
|
||||
reads `client/work/renames.tsv`, which is overwritten by every `build_source.sh` run. The new live tree already
|
||||
has the final names. `docs/classmap.tsv` + `docs/classmap_src.tsv` are the frozen mapping.
|
||||
- `work/renames.tsv` now reflects the *renamed* jar, so its `old -> new` pairs are for collision handling of the
|
||||
post-classmap jar, not the original obfuscated names.
|
||||
- `manual_edits.py` token rewriting deliberately ignores single-letter class tokens (`C`, `I`, `M`, `q`, ...)
|
||||
because method names are also single letters. Do not weaken that filter.
|
||||
- `docs/mapping.tsv` still maps old jar names (`dV`, `d_`, ...) to API/module names. `d_` there is the module
|
||||
`AutoCart`; the enum that the tree calls `d_` is jar class `d` (`type/BowMode`). This collision is handled by
|
||||
`classmap_src.tsv`; do not "fix" it by hand.
|
||||
- Some generated names are functionally consistent but semantically imperfect: `RenderHelperN`, `WorldContract`
|
||||
(this is the text-renderer interface implemented by `TextRenderer`), `RenderContract*`. Renaming them is
|
||||
cosmetic and requires regenerating the decompiled source (method names in these contracts are derived from the
|
||||
class name).
|
||||
- 5 method bodies are still TODO no-ops from the stripping stage. Search for `body lost` /
|
||||
`unresolved ZKM reference` in the tree.
|
||||
- Strings are not restored, and helper **member** names are still obfuscated. Only class/package names changed.
|
||||
|
||||
## Next steps (in order)
|
||||
|
||||
1. **Boot the source route.**
|
||||
```powershell
|
||||
cd project
|
||||
.\gradlew.bat runClient -PwithClient=true --console=plain
|
||||
```
|
||||
or, for a timed logged run:
|
||||
```bash
|
||||
cd project/client
|
||||
"C:/Program Files/Git/bin/bash.exe" -lc "bash tools/boot_test.sh 200 -PwithClient=true"
|
||||
```
|
||||
Use Git Bash, not the WSL `bash` in PATH (WSL has no `cygpath`/Windows Python).
|
||||
Check `project/run/logs/latest.log` for `[prestige-ui] bridge bound: N modules` (expect 121) and for
|
||||
`ClassNotFoundException` / `NoClassDefFoundError`. The manifest was rewritten (903 setting prop keys), so this
|
||||
primarily validates module + setting binding after the package moves.
|
||||
|
||||
2. **Test the runtime jar route.** The class map is applied by `rename.sh`, so the boot jar should contain the same
|
||||
renamed classes:
|
||||
```bash
|
||||
cd project/client
|
||||
"C:/Program Files/Git/bin/bash.exe" -lc "bash tools/build_runtime.sh"
|
||||
```
|
||||
Then boot through the normal launcher path and compare the bridge line with step 1.
|
||||
|
||||
3. **Real input test.** Open the ClickGUI, HUD editor, toggle modules, change settings, move HUD elements. This was
|
||||
never tested in this refactor; package moves can expose package-private access that `Widen` masked at bytecode
|
||||
level but that no longer matches after decompilation.
|
||||
|
||||
4. **Restore the 5 lost bodies** (currently comments with `TODO(compile)`): `dE.run`, `av.run`, `ca.q`, `cb.q`,
|
||||
`b4.q` in the old names. After renaming, locate with:
|
||||
```powershell
|
||||
Get-ChildItem client/src/main/java -Recurse -Filter *.java |
|
||||
Select-String -Pattern 'body lost|unresolved ZKM reference'
|
||||
```
|
||||
`client/TODO_COMPILE.md` has the original phase notes.
|
||||
|
||||
5. **Restore strings / member names** if desired. `gen_mapping.py` is provenance only; add `F`/`M` rows to
|
||||
`docs/mapping.tsv` and regenerate. Do not touch `docs/classmap.tsv` for member work.
|
||||
|
||||
6. **Update docs.** `client/TODO_COMPILE.md` and `liberate/HANDOFF_2.md` still describe the pre-refactor tree.
|
||||
Record the new package layout, the classmap files, and the boot result.
|
||||
|
||||
## Useful commands / paths
|
||||
|
||||
- Root: `C:\Users\Tyler\Documents\Shared\prestige\liberate\project`
|
||||
- Regenerate source into `client/work/src_gen` (does not touch live tree):
|
||||
```bash
|
||||
cd client
|
||||
"C:/Program Files/Git/bin/bash.exe" -lc "bash tools/build_source.sh"
|
||||
```
|
||||
- Compile generated tree only:
|
||||
```bash
|
||||
"C:/Program Files/Git/bin/bash.exe" -lc "cd project/client && bash tools/compile.sh work/src_gen work/javac_final.log"
|
||||
```
|
||||
- Rename a jar manually:
|
||||
```bash
|
||||
"C:/Program Files/Git/bin/bash.exe" -lc "cd project/client && bash tools/rename.sh work/strip1.jar work/test.renamed.jar"
|
||||
```
|
||||
- Build from source: `.\gradlew.bat build -PwithClient=true`
|
||||
- Manifest: `project/src/main/resources/prestige_ui/manifest_live.json`
|
||||
- Bridge FQNs (unchanged): `project/src/main/java/dev/prestige/ui/bridge/{Bridge,Bootstrap}.java`
|
||||
- Class map: `project/docs/classmap.tsv`, `project/docs/classmap_src.tsv`
|
||||
- Merge check: `python client/tools/merge_mapping.py docs/mapping.tsv docs/classmap.tsv <out>`
|
||||
@@ -0,0 +1,92 @@
|
||||
# TODO_COMPILE - decompiled client source tree (client/src/main/java)
|
||||
|
||||
State (2026-10-19 16:45): the regenerated tree compiles with **0 javac errors** (543 files, `client/work/javac_s3.log`), builds with
|
||||
`./gradlew build -PwithClient=true` (jar 10.5 MB) and **boots under Fabric** (`client/work/boot_source_modules_renamed.log`:
|
||||
`bridge: built 121 modules from manifest, failed 0` / `bridge bound: 121 modules`, toggle test passes, screenshot
|
||||
`client/work/boot_source_modules_renamed_on.png`). The classpath-jar route (`client/work/client-runtime.jar`) stays the default
|
||||
(`./gradlew build` / `runClient`); the source route is opt-in with `-PwithClient=true` because it is a *lossy* reconstruction (see
|
||||
"Known gaps").
|
||||
|
||||
## How to build
|
||||
|
||||
```
|
||||
bash client/build_client.sh # regenerate tree -> client/src/main/{java,resources} -> ./gradlew build -PwithClient=true (~1.5 min)
|
||||
bash client/build_client.sh --no-gradle # stop after installing the tree
|
||||
bash client/build_client.sh --jar # only the jar route: tools/build_runtime.sh (indy-fixed, renamed, Yarn) ~1.5 min
|
||||
bash client/build_client.sh --full # stage A too (IndyResolve -> FlowClean -> Strip = work/strip1.jar) + both routes (~10+ min)
|
||||
bash client/tools/boot_test.sh 200 [-PwithClient=true] [-PuiCmd=<cmdfile>] # dev client, log copied to run/logs/boot_*.log
|
||||
```
|
||||
Dev tool flags: `-PclientJar=<yarn jar>` (swap the classpath jar), `-PdumpClasses=a,b` (force class init, see ClinitDump).
|
||||
|
||||
## Pipeline (all scripts in client/tools, driven by tools/build_source.sh)
|
||||
|
||||
1. stage A (not re-run by default): `run_indy.sh` -> `pipeline_a.sh` => `work/strip1.jar` (obfuscated names, ZKM refs resolved/stripped).
|
||||
2. `rename.sh`: `docs/mapping.tsv` -> tiny-remapper (+ `Widen`: package-private -> public, needed because module classes move into
|
||||
`module/<category>/`) => `work/strip.renamed.jar`. Same step is used by the jar route (`build_runtime.sh`) and regenerates
|
||||
`src/main/resources/prestige_ui/manifest_live.json` (`rename_manifest.py`).
|
||||
3. `NoTry` (tools/notry.txt): clears the exception table of `Prestige.init` and `aw.a(Object[])JsonObject` (Vineflower crashes on them).
|
||||
4. `pipeline_b.sh`: remap to Yarn (+ keyword/case-collision/dedup renames), Vineflower, `extract_src.py`, `fix_sources.py`.
|
||||
(Fixed: it now deletes `work/remapped.jar`/`decompiled.jar` first - tiny-remapper/Vineflower *merge* into an existing output file.)
|
||||
5. javac-driven fixers (errors 406 -> 98 -> 0): `fix_diag.py` (raw for-each, record accessors), `fix_rethrow.py` (ZKM identity
|
||||
rethrow handlers), `fix_ctor.py` (code before `super()` hoisted: constant key arithmetic evaluated and inlined, 58 ctors),
|
||||
`fix_typed_values.py` (covariant `Setting.getValue()`), `fix_reflect.py` (rebuilds the lost `Method.invoke` chains in cU/cW/EventBus:
|
||||
MethodHandles.lookup/privateLookupIn/findVarHandle/unreflect/asSpreader), `fix_diag2.py` (raw generics casts),
|
||||
`manual_edits.py` (exact-text repairs, idempotent, fails loudly if upstream changes; resolves module classes through the mapping),
|
||||
`fix_bootstrap.py` (source equivalent of the bytecode `PatchBootstrap`: `Bootstrap.pre(this)` in all 122 module constructors,
|
||||
adds a constructor to modules that had none).
|
||||
6. `compile.sh` = javac against `work/mc-yarn-aw.jar` + libs; `errsummary.py` summarises a log.
|
||||
|
||||
## Naming
|
||||
`docs/mapping.tsv`: API surface (Module, Category, Setting + 9 setting types, SettingHolder, ModuleManager, EventBus, MenuModule, Gamemode,
|
||||
Subscribe, ListenerEntry and their key fields/methods) and the 121 module classes (`module/<category>/<PascalCaseName>`, generated by
|
||||
`gen_module_mapping.py` from `docs/manifest_live.obf.json`). Remaining classes keep obfuscated names; case-colliding twins carry a `_`
|
||||
suffix (`ea` vs `eA` -> `ea_`) only in the *source* (Windows file system), the bridge accepts both.
|
||||
|
||||
## Known gaps (the source route is NOT behaviourally verified; the jar route is the reference)
|
||||
* **Strip removed 275 "dead unresolved" methods** (`work/strip1.report.txt`, `DEADREMOVED`: dl 26, cA 18, dB 17, dA 13, H 10, G 10, ...,
|
||||
dU 5 (SettingHolder: addFloat/addInt/addRange/addText/addMulti), bT 5, ...). Their callers were rewritten to throws or no-ops by Strip;
|
||||
`bT.a_cF/f` are stubs that throw `UnsupportedOperationException`. Fixing this means making IndyResolve resolve the remaining
|
||||
1591 `REMAIN UNFOLDED` sites (`work/boot_indy.report.txt`) instead of cutting.
|
||||
* (2026-10-21: the 5 HUD/runnable bodies below are RECOVERED, see the 2026-10-21 section; only the 5 reconstructed ones remain approximations.)
|
||||
* **10 `unresolved ZKM reference` bodies**: reconstructed `ge.<init>` (vertex offsets/stride = sum(count*bytes)), `dc.<init>`
|
||||
(`fS.a(args)`), `de.<init>` (`g = bU.a(key)`, `j = new HashMap`), `g2.removeEldestEntry` (`size() > cap`), `dv.a`
|
||||
(`glUniform4f(du.g, radii)`); **no-op with TODO**: `dE.run`, `av.run`, `ca.q`, `cb.q`, `b4.q` (HUD widget render bodies).
|
||||
* **Constants lost by Strip** (`Object var0 = null` + `((Object[])var0)[k]`): recovered at runtime with `tools/java/ClinitDump.java` +
|
||||
`bridge/DumpHook` (instrument `<clinit>` array loads in the runtime jar, run the dev client with `-PclientJar=... -PdumpClasses=...`,
|
||||
log `client/work/clinit_dump.log`): cp (10 shader paths), ap/gB (uniform names), gf (GL types 5126/5121), fQ (49-entry XRay block
|
||||
index table, `tools/clinit_tables.json`), c9 (quad buffer sizes 4/24 - dumped = guessed). **Inferred, not dumped**: `C` ("setRotation",
|
||||
the table is [setPos, setRotation]), `W` ("getMatrix"), `I` ("guiProjectionMatrix" vs "itemsProjectionMatrix"), `du.g` ("roundness").
|
||||
C and W cannot be initialised in a dump run (ClassTransform `TransformerManager` remapper is null at that point) - check them in game.
|
||||
* Decompiler guesses: `Entity`/`PlayerEntity` common types of `?:` expressions (aG, cg_, fx_), `Optional<Vec3d>` (eu_), enum `valueOf(String,long)`
|
||||
removed (callers pass only the string), `da_` ZKM string tables + bootstrap helpers deleted.
|
||||
* Not exercised at all: module behaviour (onEnable hooks, event dispatch, rendering), HUD widgets, config download.
|
||||
* ClassTransform (net.lenni0451, `client/libs/classtransform-bundled.jar`) is shaded into the mod jar in the source route.
|
||||
The client's own fabric.mod.json is not copied; the project's one gets `entrypoints.main` + `accessWidener` injected by `processResources`.
|
||||
|
||||
## Next steps
|
||||
1. Make IndyResolve (stage A) resolve all sites so Strip stops dead-removing methods; re-run `build_client.sh --full`; re-diff the tree.
|
||||
2. Verify the inferred constants (C, W, I, du.g) and the 5 no-op HUD bodies against the runtime jar (indy sites there resolve at run time).
|
||||
3. Behaviour checks module by module (jar route first), then flip the default to the source route and drop `client/work/client-runtime.jar`.
|
||||
4. Rename the remaining ~420 helper classes / packages with `docs/mapping.tsv` (same mechanism, re-run both routes + boot test).
|
||||
|
||||
## 2026-10-21 update (agent "verify")
|
||||
Layout: 543 classes = 21 API classes at the root + `client/Prestige` + 121 `module/<category>/*` + 400 helpers in 18 packages (event hud render data type mixin
|
||||
world math combat inventory network reflect gui config util social annotation input). Frozen mapping files: `docs/classmap.tsv` (400 rows, jar names),
|
||||
`docs/classmap_src.tsv` (source-tree names, `_` case twins); `docs/mapping.tsv` = API surface; merged by `tools/merge_mapping.py` -> `work/rename.map.tsv`.
|
||||
Boot results (logs in `client/work/`):
|
||||
* source route (`-PwithClient=true`): `boot_verify_source_final.log` - `bridge: built 121 modules, failed 0` / `bridge bound: 121 modules`, 0 ClassNotFound/NoClassDef/IllegalAccess,
|
||||
Aim Assist toggle ui=true live.a()=true enabledSetting.value=true; HUD smoke (`state hudsmoke`, DevCmd): all 16 HUD `q()` + RenderHelper24.run + CobwebPlacerHelper.run ok
|
||||
(`boot_verify_source_hudsmoke.png`).
|
||||
* jar route (`tools/build_runtime.sh`): `boot_verify_jar_final.log` - 121 modules bound, toggle on/off round trips; HUD smoke: 15/16 q() ok, the first one fails with the
|
||||
known stateful-key BADREF of `g2.removeEldestEntry` (AIOOBE index 188911/9; g2 = LRU map used by the shader/text cache) - jar-route-only, source route has the reconstruction.
|
||||
Note the toggle test needs a few attempts: real mouse movement over the game window overrides the simulated cursor (Overlay.pollCursor).
|
||||
Fixes: stale classes in `work/boot_yarn.jar` (tiny-remapper MERGES into an existing output; old-named `fT/fS/..` were loaded by name) -> `rm` before remap;
|
||||
`Widen` now also widens private members (nest host/member links are lost by the moves; IllegalAccessError); unresolved reference tables still contain OLD class names ->
|
||||
`tools/java/RecoverBodies.java` redirects every `Class.forName` of the client jar to `dev.prestige.ui.bridge.OldNames` (map `src/main/resources/prestige_ui/old_names.tsv`, written by
|
||||
`tools/old_names.py` from rename.sh). No mixin json / fabric.mod.json / Bridge FQN change was needed (the client's mixins are ClassTransform `@CTransformer` classes applied
|
||||
by the native module, not Fabric mixins; shader/resource paths are string literals and unchanged).
|
||||
Recovered bodies (dE.run=RenderHelper24, av.run=CobwebPlacerHelper, ca.q=ModuleListElement, cb.q=ModuleNotificationsElement, b4.q=HudElement): decoded from the pre-strip jar
|
||||
(`out/prestige-deobf-fixed.jar`) with `tools/recover_refs/` (brute-forces the per-method reference-table key; b4.q found by matching entries of another method:
|
||||
`dB.l`=MatrixStack.l + `Color.WHITE`). Source: `tools/manual_edits.py` (also widens `Renderer2D.i/m`, `CobwebPlacer.E/F/d/o`); jar: `RecoverBodies`. Regeneration
|
||||
(`build_source.sh`) verified: 0 javac errors, tree identical to `client/src/main/java`.
|
||||
Remaining: dv.a / g2 / dc / de reconstructions are still inferred; g2 wrong key in the jar route; strings and member names still obfuscated.
|
||||
@@ -0,0 +1,13 @@
|
||||
org.gradle.jvmargs=-Xmx2G
|
||||
org.gradle.parallel=true
|
||||
# Fabric (https://modmuss50.me/fabric.html)
|
||||
minecraft_version=1.21.11
|
||||
yarn_mappings=1.21.11+build.4
|
||||
loader_version=0.19.2
|
||||
fabric_version=0.141.6+1.21.11
|
||||
# Mod
|
||||
mod_version=0.1.0
|
||||
maven_group=dev.prestige
|
||||
archives_base_name=prestige
|
||||
# imgui-java (binding + lwjgl3 backend + windows natives)
|
||||
imgui_version=1.92.7.1
|
||||
Vendored
BIN
Binary file not shown.
+9
@@ -0,0 +1,9 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
|
||||
networkTimeout=10000
|
||||
retries=0
|
||||
retryBackOffMs=500
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
@@ -0,0 +1,248 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright © 2015 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# gradlew start up script for POSIX generated by Gradle.
|
||||
#
|
||||
# Important for running:
|
||||
#
|
||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||
# noncompliant, but you have some other compliant shell such as ksh or
|
||||
# bash, then to run this script, type that shell name before the whole
|
||||
# command line, like:
|
||||
#
|
||||
# ksh gradlew
|
||||
#
|
||||
# Busybox and similar reduced shells will NOT work, because this script
|
||||
# requires all of these POSIX shell features:
|
||||
# * functions;
|
||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||
# * compound commands having a testable exit status, especially «case»;
|
||||
# * various built-in commands including «command», «set», and «ulimit».
|
||||
#
|
||||
# Important for patching:
|
||||
#
|
||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||
#
|
||||
# The "traditional" practice of packing multiple parameters into a
|
||||
# space-separated string is a well documented source of bugs and security
|
||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||
# options in "$@", and eventually passing that to Java.
|
||||
#
|
||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||
# see the in-line comments for details.
|
||||
#
|
||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
|
||||
# Resolve links: $0 may be a link
|
||||
app_path=$0
|
||||
|
||||
# Need this for daisy-chained symlinks.
|
||||
while
|
||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||
[ -h "$app_path" ]
|
||||
do
|
||||
ls=$( ls -ld "$app_path" )
|
||||
link=${ls#*' -> '}
|
||||
case $link in #(
|
||||
/*) app_path=$link ;; #(
|
||||
*) app_path=$APP_HOME$link ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
} >&2
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
} >&2
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "$( uname )" in #(
|
||||
CYGWIN* ) cygwin=true ;; #(
|
||||
Darwin* ) darwin=true ;; #(
|
||||
MSYS* | MINGW* ) msys=true ;; #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||
else
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
fi
|
||||
|
||||
# Collect all arguments for the java command, stacking in reverse order:
|
||||
# * args from the command line
|
||||
# * the main class name
|
||||
# * -classpath
|
||||
# * -D...appname settings
|
||||
# * --module-path (only if needed)
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
for arg do
|
||||
if
|
||||
case $arg in #(
|
||||
-*) false ;; # don't mess with options #(
|
||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||
[ -e "$t" ] ;; #(
|
||||
*) false ;;
|
||||
esac
|
||||
then
|
||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||
fi
|
||||
# Roll the args list around exactly as many times as the number of
|
||||
# args, so each arg winds up back in the position where it started, but
|
||||
# possibly modified.
|
||||
#
|
||||
# NB: a `for` loop captures its iteration list before it begins, so
|
||||
# changing the positional parameters here affects neither the number of
|
||||
# iterations, nor the values presented in `arg`.
|
||||
shift # remove old arg
|
||||
set -- "$@" "$arg" # push replacement arg
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
#
|
||||
# In Bash we could simply go:
|
||||
#
|
||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||
# set -- "${ARGS[@]}" "$@"
|
||||
#
|
||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||
# character that might be a shell metacharacter, then use eval to reverse
|
||||
# that process (while maintaining the separation between arguments), and wrap
|
||||
# the whole thing up as a single "set" statement.
|
||||
#
|
||||
# This will of course break if any of these variables contains a newline or
|
||||
# an unmatched quote.
|
||||
#
|
||||
|
||||
eval "set -- $(
|
||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||
xargs -n1 |
|
||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
Vendored
+82
@@ -0,0 +1,82 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem gradlew startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables, and ensure extensions are enabled
|
||||
setlocal EnableExtensions
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
"%COMSPEC%" /c exit 1
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
"%COMSPEC%" /c exit 1
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
|
||||
|
||||
@rem Execute gradlew
|
||||
@rem endlocal doesn't take effect until after the line is parsed and variables are expanded
|
||||
@rem which allows us to clear the local environment before executing the java command
|
||||
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel
|
||||
|
||||
:exitWithErrorLevel
|
||||
@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts
|
||||
"%COMSPEC%" /c exit %ERRORLEVEL%
|
||||
Binary file not shown.
@@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
setlocal
|
||||
cd /d "%~dp0"
|
||||
|
||||
rem Gradle/Loom for 1.21.11 needs JDK 21 (default java may be newer)
|
||||
if exist "C:\Program Files\Java\jdk-21" set "JAVA_HOME=C:\Program Files\Java\jdk-21"
|
||||
|
||||
if not exist logs mkdir logs
|
||||
for /f %%t in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HH-mm-ss"') do set "TS=%%t"
|
||||
set "LOG=logs\run_%TS%.log"
|
||||
echo Logging to %LOG%
|
||||
|
||||
rem Everything gradle/game prints goes to the console AND logs\run_<time>.log
|
||||
rem extra args are passed through, e.g. run.bat -PuiCmd=run\cmd\c.txt
|
||||
set "ARGS=%*"
|
||||
powershell -NoProfile -Command "& { & '.\gradlew.bat' runClient --console=plain $env:ARGS 2>&1 | ForEach-Object { $_; Add-Content -LiteralPath '%LOG%' -Value $_ -Encoding UTF8 }; exit $LASTEXITCODE }"
|
||||
set "RC=%ERRORLEVEL%"
|
||||
|
||||
rem keep a copy of the game's own latest.log and any crash report written during this run
|
||||
if exist run\logs\latest.log copy /y run\logs\latest.log "logs\run_%TS%_latest.log" >nul
|
||||
for /f "delims=" %%c in ('powershell -NoProfile -Command "Get-ChildItem run\crash-reports\*.txt -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime.Ticks -gt %T0% } | Sort-Object LastWriteTime | Select-Object -Last 1 -ExpandProperty FullName"') do (
|
||||
copy /y "%%c" "logs\run_%TS%_crash.txt" >nul
|
||||
echo Crash report copied to logs\run_%TS%_crash.txt
|
||||
)
|
||||
|
||||
echo Exit code %RC%. Log: %LOG%
|
||||
if not "%RC%"=="0" pause
|
||||
exit /b %RC%
|
||||
@@ -0,0 +1,12 @@
|
||||
pluginManagement {
|
||||
repositories {
|
||||
maven {
|
||||
name = 'Fabric'
|
||||
url = 'https://maven.fabricmc.net/'
|
||||
}
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = 'prestige'
|
||||
@@ -0,0 +1,115 @@
|
||||
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 {
|
||||
// covariant getValue (added by fix_typed_values.py)
|
||||
@Override
|
||||
public Boolean getValue() {
|
||||
return (Boolean)super.getValue();
|
||||
}
|
||||
|
||||
public BoolSetting(String var1, boolean var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
|
||||
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});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public BoolSetting setDescription_BoolSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
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});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public enum Category {
|
||||
Combat,
|
||||
Misc,
|
||||
Movement,
|
||||
Visual,
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
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 {
|
||||
// covariant getValue (added by fix_typed_values.py)
|
||||
@Override
|
||||
public java.awt.Color getValue() {
|
||||
return (java.awt.Color)super.getValue();
|
||||
}
|
||||
|
||||
public ColorSetting(String var1, Color var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
|
||||
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});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public ColorSetting setDescription_ColorSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
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});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
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) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
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 {
|
||||
// covariant getValue (added by fix_typed_values.py)
|
||||
@Override
|
||||
public String getValue() {
|
||||
return (String)super.getValue();
|
||||
}
|
||||
|
||||
private final String[] options;
|
||||
|
||||
public EnumSetting(String var1, String var2, String[] var3) {
|
||||
super(var1, var2);
|
||||
this.options = var3;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public String[] getOptions() {
|
||||
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});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public EnumSetting setDescription_EnumSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
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});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,282 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
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;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
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): ";
|
||||
|
||||
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();
|
||||
|
||||
for (Method var13 : var8.getDeclaredMethods()) {
|
||||
if (var13.isAnnotationPresent(Subscribe.class)) {
|
||||
Class[] var14 = var13.getParameterTypes();
|
||||
if (var14.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) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!var9.isEmpty()) {
|
||||
synchronized (this.lock) {
|
||||
if (!d(new Object[]{this.listeners, var4, var5})) {
|
||||
HashMap var25 = 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};
|
||||
} else {
|
||||
var29 = new ListenerEntry[var28.length + 1];
|
||||
System.arraycopy(var28, 0, var29, 0, var28.length);
|
||||
var29[var28.length] = var27;
|
||||
}
|
||||
|
||||
var25.put(var27.a_Class(new Object[0]), var29);
|
||||
}
|
||||
|
||||
this.listeners = var25;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void unregister(Object[] var1) {
|
||||
Object var4 = var1[0];
|
||||
if (var4 != null) {
|
||||
synchronized (this.lock) {
|
||||
HashMap var7 = new HashMap(this.listeners);
|
||||
boolean var8 = false;
|
||||
|
||||
for (Entry var10 : (Iterable<Entry>)(new ArrayList(var7.entrySet()))) {
|
||||
ListenerEntry[] var11 = (ListenerEntry[])var10.getValue();
|
||||
int var12 = 0;
|
||||
|
||||
for (ListenerEntry var16 : var11) {
|
||||
if (var16.a_Object(new Object[0]) != var4) {
|
||||
var12++;
|
||||
}
|
||||
}
|
||||
|
||||
if (var12 != var11.length) {
|
||||
var8 = true;
|
||||
if (var12 == 0) {
|
||||
var7.remove(var10.getKey());
|
||||
} else {
|
||||
ListenerEntry[] var21 = new ListenerEntry[var12];
|
||||
int var22 = 0;
|
||||
|
||||
for (ListenerEntry var18 : var11) {
|
||||
if (var18.a_Object(new Object[0]) != var4) {
|
||||
var21[var22++] = var18;
|
||||
}
|
||||
}
|
||||
|
||||
var7.put((Class)var10.getKey(), var21);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var8) {
|
||||
this.listeners = var7;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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]);
|
||||
} else {
|
||||
for (ListenerEntry var12 : var8) {
|
||||
try {
|
||||
var12.a_MethodHandle(new Object[0]).invokeExact((Event)var4);
|
||||
} catch (Throwable var14) {
|
||||
c(new Object[]{var12, var14, var5});
|
||||
}
|
||||
}
|
||||
|
||||
return var4.a_boolean___(new Object[0]);
|
||||
}
|
||||
}
|
||||
|
||||
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 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) {
|
||||
return false;
|
||||
} else {
|
||||
for (ListenerEntry var11 : var7) {
|
||||
if (var4.isInstance(var11.a_Object(new Object[0]))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
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 {
|
||||
// covariant getValue (added by fix_typed_values.py)
|
||||
@Override
|
||||
public Float getValue() {
|
||||
return (Float)super.getValue();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public float getMin() {
|
||||
return this.min;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public float getMax() {
|
||||
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});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public FloatSetting setDescription_FloatSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
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});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public enum Gamemode {
|
||||
Crystal,
|
||||
Mace,
|
||||
Sword,
|
||||
Spear,
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
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 {
|
||||
// covariant getValue (added by fix_typed_values.py)
|
||||
@Override
|
||||
public Integer getValue() {
|
||||
return (Integer)super.getValue();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public int getMin() {
|
||||
return this.min;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public int getMax() {
|
||||
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});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public IntSetting setDescription_IntSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
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});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
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;
|
||||
|
||||
public class KeybindSetting extends Setting {
|
||||
// covariant getValue (added by fix_typed_values.py)
|
||||
@Override
|
||||
public Integer getValue() {
|
||||
return (Integer)super.getValue();
|
||||
}
|
||||
|
||||
private boolean toggleMode;
|
||||
|
||||
public KeybindSetting(String var1, int var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public boolean isToggleMode() {
|
||||
return this.toggleMode;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setToggleMode(boolean var1) {
|
||||
this.toggleMode = var1;
|
||||
}
|
||||
|
||||
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});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public KeybindSetting setDescription_KeybindSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isPressed(Object[] var1) {
|
||||
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;
|
||||
}
|
||||
|
||||
@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});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import java.lang.invoke.MethodHandle;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class ListenerEntry {
|
||||
private final Method method;
|
||||
private final Object target;
|
||||
private final Class eventType;
|
||||
private final MethodHandle handle;
|
||||
|
||||
public ListenerEntry(Method var1, Object var2, Class var3) {
|
||||
this(var1, var2, var3, null);
|
||||
}
|
||||
|
||||
public ListenerEntry(Method var1, Object var2, Class var3, MethodHandle var4) {
|
||||
this.method = var1;
|
||||
this.target = var2;
|
||||
this.eventType = var3;
|
||||
this.handle = var4;
|
||||
}
|
||||
|
||||
public Method a(Object[] var1) {
|
||||
return this.method;
|
||||
}
|
||||
|
||||
public Object a_Object(Object[] var1) {
|
||||
return this.target;
|
||||
}
|
||||
|
||||
public Class a_Class(Object[] var1) {
|
||||
return this.eventType;
|
||||
}
|
||||
|
||||
public MethodHandle a_MethodHandle(Object[] var1) {
|
||||
return this.handle;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
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;
|
||||
private final EnumSetting descriptionMode;
|
||||
private final BoolSetting rounded;
|
||||
private final ColorSetting menuColor;
|
||||
|
||||
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});
|
||||
}
|
||||
|
||||
public KeybindSetting getMenuKey(Object[] var1) {
|
||||
return this.menuKey;
|
||||
}
|
||||
|
||||
public EnumSetting getDescriptionMode(Object[] var1) {
|
||||
return this.descriptionMode;
|
||||
}
|
||||
|
||||
public BoolSetting getRounded(Object[] var1) {
|
||||
return this.rounded;
|
||||
}
|
||||
|
||||
public ColorSetting getMenuColor(Object[] var1) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,307 @@
|
||||
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 java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class Module extends SettingHolder implements RenderContract2 {
|
||||
private final List coreSettings = new ArrayList();
|
||||
private final BoolSetting enabledSetting = new BoolSetting("Enabled", false);
|
||||
private String name;
|
||||
private final KeybindSetting keybind;
|
||||
private Category category;
|
||||
private String description;
|
||||
private boolean lastEnabled;
|
||||
private volatile List allSettingsCache;
|
||||
|
||||
public Module() {
|
||||
this.keybind = new KeybindSetting("Bind", -1).setDescription_KeybindSetting("Keybind for " + this.name);
|
||||
this.coreSettings.add(this.enabledSetting);
|
||||
this.coreSettings.add(this.keybind);
|
||||
}
|
||||
|
||||
public Module(String var1, String var2, int var3) {
|
||||
this();
|
||||
Event.b();
|
||||
this.name = var1;
|
||||
this.description = var2;
|
||||
|
||||
for (Category var10 : Category.values()) {
|
||||
if (var10.ordinal() == var3) {
|
||||
this.category = var10;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NativeId("")
|
||||
public void a(Object var1, String var2, String var3, int var4) {
|
||||
if (var1 != null) {
|
||||
this.settings.add((Setting)var1);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public boolean isEnabled() {
|
||||
return (Boolean)this.enabledSetting.getValue();
|
||||
}
|
||||
|
||||
public int getKey(Object[] var1) {
|
||||
return (Integer)this.keybind.getValue();
|
||||
}
|
||||
|
||||
public KeybindSetting getKeybind(Object[] var1) {
|
||||
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;
|
||||
this.enabledSetting.setValue(!this.isEnabled());
|
||||
this.setLastEnabled(new Object[]{this.isEnabled()});
|
||||
if (this.isEnabled()) {
|
||||
Prestige.eventBus.register(new Object[]{this, var6});
|
||||
if (b.world != null && b.player != null) {
|
||||
this.onEnable(new Object[]{var8});
|
||||
} else {
|
||||
Prestige.moduleManager.queueEnable(new Object[]{this, var12});
|
||||
}
|
||||
} else {
|
||||
Prestige.eventBus.unregister(new Object[]{this, var4});
|
||||
if (b.world != null && b.player != null) {
|
||||
this.onDisable(new Object[]{var14});
|
||||
} else {
|
||||
Prestige.moduleManager.queueDisable(new Object[]{this, var16});
|
||||
}
|
||||
}
|
||||
|
||||
ModuleNotificationsElement.r(new Object[]{this, var10});
|
||||
}
|
||||
|
||||
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;
|
||||
if (this.isEnabled()) {
|
||||
Prestige.eventBus.register(new Object[]{this, var6});
|
||||
if (b.world != null && b.player != null) {
|
||||
this.onEnable(new Object[]{var8});
|
||||
} else {
|
||||
Prestige.moduleManager.queueEnable(new Object[]{this, var12});
|
||||
}
|
||||
} else {
|
||||
Prestige.eventBus.unregister(new Object[]{this, var4});
|
||||
if (b.world != null && b.player != null) {
|
||||
this.onDisable(new Object[]{var14});
|
||||
} else {
|
||||
Prestige.moduleManager.queueDisable(new Object[]{this, var16});
|
||||
}
|
||||
}
|
||||
|
||||
ModuleNotificationsElement.r(new Object[]{this, var10});
|
||||
}
|
||||
|
||||
public void dispose(Object[] var1) {
|
||||
this.name = null;
|
||||
Event.b();
|
||||
this.description = null;
|
||||
ArrayList var5 = new ArrayList();
|
||||
var5.addAll(this.settings);
|
||||
var5.addAll(this.coreSettings);
|
||||
|
||||
for (Setting var7 : (Iterable<Setting>)(var5)) {
|
||||
var7.setName(new Object[]{null});
|
||||
var7.setDescription(null);
|
||||
var7.setValue(null);
|
||||
}
|
||||
}
|
||||
|
||||
public void onEnable(Object[] var1) {
|
||||
}
|
||||
|
||||
public void onDisable(Object[] var1) {
|
||||
}
|
||||
|
||||
public boolean b(Object[] var1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public String getInfo(Object[] var1) {
|
||||
return "";
|
||||
}
|
||||
|
||||
public List getCoreSettings(Object[] var1) {
|
||||
return this.coreSettings;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
this.name = var2;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public String getDescription() {
|
||||
return this.description;
|
||||
}
|
||||
|
||||
public void setDescription(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
this.description = var2;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public Category getCategory() {
|
||||
return this.category;
|
||||
}
|
||||
|
||||
public void setCategory(Object[] var1) {
|
||||
Category var2 = (Category)var1[0];
|
||||
this.category = var2;
|
||||
}
|
||||
|
||||
public boolean getLastEnabled(Object[] var1) {
|
||||
return this.lastEnabled;
|
||||
}
|
||||
|
||||
public void setLastEnabled(Object[] var1) {
|
||||
boolean var2 = (Boolean)var1[0];
|
||||
this.lastEnabled = var2;
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
|
||||
return var4;
|
||||
}
|
||||
|
||||
public Set getGamemodes(Object[] var1) {
|
||||
return Set.of(Gamemode.Any);
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public int getGamemodeMask() {
|
||||
Set var6 = this.getGamemodes(new Object[]{33917734280704L});
|
||||
Event.b();
|
||||
int var7 = 0;
|
||||
|
||||
for (Gamemode var9 : (Iterable<Gamemode>)(var6)) {
|
||||
if (var9 != Gamemode.Any) {
|
||||
var7 |= 1 << var9.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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
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 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 {
|
||||
private final MenuModule menu;
|
||||
private List modules;
|
||||
private final ConcurrentLinkedQueue enableQueue;
|
||||
private final ConcurrentLinkedQueue disableQueue;
|
||||
public static boolean f = true;
|
||||
|
||||
public ModuleManager(long var1) {
|
||||
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});
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onTick(TickEvent19 var1) {
|
||||
if (b.world != null && b.player != null) {
|
||||
while (!this.enableQueue.isEmpty()) {
|
||||
Module var9 = (Module)this.enableQueue.poll();
|
||||
if (var9 != null && var9.isEnabled()) {
|
||||
var9.onEnable(new Object[]{136490818940166L});
|
||||
}
|
||||
}
|
||||
|
||||
while (!this.disableQueue.isEmpty()) {
|
||||
Module var10 = (Module)this.disableQueue.poll();
|
||||
if (var10 != null && !var10.isEnabled()) {
|
||||
var10.onDisable(new Object[]{43569551062885L});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void queueEnable(Object[] var1) {
|
||||
Module var4 = (Module)var1[0];
|
||||
if (!this.enableQueue.contains(var4)) {
|
||||
this.enableQueue.offer(var4);
|
||||
}
|
||||
}
|
||||
|
||||
public void queueDisable(Object[] var1) {
|
||||
Module var4 = (Module)var1[0];
|
||||
if (!this.disableQueue.contains(var4)) {
|
||||
this.disableQueue.offer(var4);
|
||||
}
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public List getModules() {
|
||||
return this.modules;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setModules(List var1) {
|
||||
this.modules = var1;
|
||||
}
|
||||
|
||||
public MenuModule getMenu(Object[] var1) {
|
||||
return this.menu;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setMenuColor(Color var1) {
|
||||
this.menu.getMenuColor(new Object[0]).setValue(var1);
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
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;
|
||||
|
||||
public class MultiSetting extends Setting {
|
||||
// covariant getValue (added by fix_typed_values.py)
|
||||
@Override
|
||||
public String getValue() {
|
||||
return (String)super.getValue();
|
||||
}
|
||||
|
||||
private final String[] options;
|
||||
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);
|
||||
|
||||
for (int var7 = 0; var7 < var2.length; var7++) {
|
||||
this.indexByOption.put(var2[var7], var7);
|
||||
}
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public String[] getOptions() {
|
||||
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);
|
||||
} else {
|
||||
return this.selected[var5];
|
||||
}
|
||||
}
|
||||
|
||||
@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);
|
||||
} else {
|
||||
this.selected[var6] = var2;
|
||||
}
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public boolean[] getSelected() {
|
||||
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});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public MultiSetting setDescription_MultiSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
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});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import dev.zprestige.prestige.annotation.NativeId;
|
||||
import java.util.List;
|
||||
|
||||
public class Native {
|
||||
public static Class a;
|
||||
|
||||
@NativeId("f29b5f2e-3df2-4db8-bb6e-1c01a5f91f12")
|
||||
public static void a(List var0) {
|
||||
}
|
||||
|
||||
@NativeId("6937e6e7-60ef-45de-98e1-f177ec613e99")
|
||||
public static void b(int var0, StringBuilder var1) {
|
||||
}
|
||||
|
||||
@NativeId("c4f1db16-7850-44eb-8f8a-863dfe33ab26")
|
||||
public static void c(StringBuilder var0) {
|
||||
}
|
||||
|
||||
@NativeId("774de945-aba3-4038-b5ae-d8ff48635feb")
|
||||
public static void d(String var0, String var1, boolean var2, String var3, StringBuilder var4, String var5) {
|
||||
}
|
||||
|
||||
@NativeId("b6356619-bb5a-4616-a076-93f620a7d9de")
|
||||
public static void e(int var0, StringBuilder var1) {
|
||||
}
|
||||
|
||||
@NativeId("9ae73026-310d-4cbc-b283-12f3f530fe67")
|
||||
public static void f(int var0, String var1, StringBuilder var2) {
|
||||
}
|
||||
|
||||
@NativeId("08dcf01c-9943-4f66-8dfd-120714d7abdd")
|
||||
public static void g(String var0) {
|
||||
}
|
||||
|
||||
@NativeId("018b2f19-e79e-7d6a-a56d-29feb6211b04")
|
||||
public static void h() {
|
||||
}
|
||||
|
||||
@NativeId("70d16b96-40d4-4e4b-8d11-111b87ee88c2")
|
||||
public static void i() {
|
||||
}
|
||||
|
||||
@NativeId("0dfaa780-8d92-4e8f-aa2e-9dae747c4dd6")
|
||||
public static boolean j() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
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 java.util.function.Predicate;
|
||||
|
||||
public class RangeSetting extends Setting {
|
||||
// covariant getValue (added by fix_typed_values.py)
|
||||
@Override
|
||||
public Float getValue() {
|
||||
return (Float)super.getValue();
|
||||
}
|
||||
|
||||
private final float min;
|
||||
private final float max;
|
||||
private float low;
|
||||
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;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public float getLow() {
|
||||
return this.low;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setLow(float var1) {
|
||||
this.low = var1;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public float getHigh() {
|
||||
return this.high;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setHigh(float var1) {
|
||||
this.high = var1;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public float getMin() {
|
||||
return this.min;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public float getMax() {
|
||||
return this.max;
|
||||
}
|
||||
|
||||
public float getRolled(Object[] var1) {
|
||||
return this.rolled;
|
||||
}
|
||||
|
||||
public void setRolled(Object[] var1) {
|
||||
float var2 = (Float)var1[0];
|
||||
this.rolled = var2;
|
||||
}
|
||||
|
||||
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 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 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});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public RangeSetting setDescription_RangeSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
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});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
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 {
|
||||
private String name;
|
||||
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;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
this.name = var2;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public Object getValue() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void setValue(Object var1) {
|
||||
this.value = var1;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public String getDescription() {
|
||||
return this.description;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public Setting setDescription(String var1) {
|
||||
this.description = var1;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Setting setVisibility(Object[] var1) {
|
||||
Predicate var2 = (Predicate)var1[0];
|
||||
this.visibility = var2;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
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 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 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 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.zprestige.prestige;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface Subscribe {
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
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 {
|
||||
// covariant getValue (added by fix_typed_values.py)
|
||||
@Override
|
||||
public String getValue() {
|
||||
return (String)super.getValue();
|
||||
}
|
||||
|
||||
private final String placeholder;
|
||||
|
||||
public TextSetting(String var1, String var2, String var3) {
|
||||
super(var1, var2);
|
||||
this.placeholder = var3;
|
||||
}
|
||||
|
||||
public String getPlaceholder(Object[] var1) {
|
||||
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});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public TextSetting setDescription_TextSetting(String var1) {
|
||||
super.setDescription(var1);
|
||||
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});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.zprestige.prestige.annotation;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface Chainable {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package dev.zprestige.prestige.annotation;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface NativeId {
|
||||
String value();
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
package dev.zprestige.prestige.client;
|
||||
|
||||
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.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.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.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.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 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);
|
||||
public static EventBus eventBus;
|
||||
public static FontManager c;
|
||||
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 void init() {
|
||||
b();
|
||||
boolean var34 = false;
|
||||
try {
|
||||
if (a.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
|
||||
.register(
|
||||
(RenderContract6)(lpL44_0, lpL44_1) -> {
|
||||
b();
|
||||
if (!w) {
|
||||
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});
|
||||
}
|
||||
|
||||
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});
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
RenderContract5.b.register((RenderContract6)(lpL43_0, lpL43_1) -> {
|
||||
b();
|
||||
if (!w) {
|
||||
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});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Throwable var35) {
|
||||
if (!var34) {
|
||||
a.set(false);
|
||||
}
|
||||
|
||||
var35.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 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();
|
||||
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});
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
this.init();
|
||||
}
|
||||
|
||||
private static Throwable a(Throwable var0) {
|
||||
return var0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
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,86 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,214 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,230 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,723 @@
|
||||
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,25 @@
|
||||
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();
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
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,147 @@
|
||||
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,190 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
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,136 @@
|
||||
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 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 TargetTracker(long var1) {
|
||||
super();
|
||||
var1 = 0L;
|
||||
var1 = 108076624727597L ^ var1;
|
||||
long var3 = var1 ^ 134580352215820L;
|
||||
this.a = null;
|
||||
this.c = 0L;
|
||||
Prestige.eventBus.register(new Object[]{this, var3});
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
|
||||
@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 PlayerEntity a(Object[] var1) {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,147 @@
|
||||
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,14 @@
|
||||
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,130 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,152 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,960 @@
|
||||
package dev.zprestige.prestige.config;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParseException;
|
||||
import dev.zprestige.prestige.ColorSetting;
|
||||
import dev.zprestige.prestige.KeybindSetting;
|
||||
import dev.zprestige.prestige.Module;
|
||||
import dev.zprestige.prestige.MultiSetting;
|
||||
import dev.zprestige.prestige.RangeSetting;
|
||||
import dev.zprestige.prestige.Setting;
|
||||
import dev.zprestige.prestige.annotation.Chainable;
|
||||
import dev.zprestige.prestige.client.Prestige;
|
||||
import dev.zprestige.prestige.data.ModuleStringBoolData;
|
||||
import dev.zprestige.prestige.event.Event;
|
||||
import dev.zprestige.prestige.hud.HudElement;
|
||||
import dev.zprestige.prestige.math.MathUtil5;
|
||||
import dev.zprestige.prestige.render.RenderHelper11;
|
||||
import dev.zprestige.prestige.type.NotificationType;
|
||||
import dev.zprestige.prestige.type.SettingFlag;
|
||||
import dev.zprestige.prestige.type.TrajectoryType;
|
||||
import dev.zprestige.prestige.util.TpsTimer;
|
||||
import java.awt.Color;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.Map.Entry;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
|
||||
public class ConfigManager {
|
||||
private static final Gson a = new Gson();
|
||||
private static final int b = 100000;
|
||||
private static final int c = 64;
|
||||
private String d;
|
||||
private String e;
|
||||
private static final long m = 8000L;
|
||||
|
||||
@Chainable
|
||||
public String a() {
|
||||
Event.b();
|
||||
RenderHelper11 var16 = new RenderHelper11("save");
|
||||
JsonObject var17 = new JsonObject();
|
||||
|
||||
try {
|
||||
if (Prestige.moduleManager == null) {
|
||||
var16.b(new Object[]{"Config", "module manager is not ready", null});
|
||||
} else {
|
||||
HashSet var18 = new HashSet();
|
||||
var18.add("Menu");
|
||||
JsonObject var19 = new JsonObject();
|
||||
|
||||
for (Setting var21 : (Iterable<Setting>)(Prestige.moduleManager.getMenu(new Object[0]).settings)) {
|
||||
this.g(new Object[]{var19, var21, "Menu", var16, 128387161211156L});
|
||||
}
|
||||
|
||||
var17.add("Menu", var19);
|
||||
|
||||
for (Module var32 : (Iterable<Module>)(Prestige.moduleManager.getModules())) {
|
||||
String var22 = var32.getName();
|
||||
if (var22 == null || var22.isBlank()) {
|
||||
var16.b(new Object[]{"Unnamed module", "module has no config name", null});
|
||||
} else if (!var18.add(var22)) {
|
||||
var16.b(new Object[]{var22, "duplicate config section name", null});
|
||||
} else {
|
||||
JsonObject var23 = new JsonObject();
|
||||
|
||||
for (Setting var25 : (Iterable<Setting>)(var32.getCoreSettings(new Object[0]))) {
|
||||
this.g(new Object[]{var23, var25, var22, var16, 128387161211156L});
|
||||
}
|
||||
|
||||
for (Setting var38 : (Iterable<Setting>)(var32.settings)) {
|
||||
this.g(new Object[]{var23, var38, var22, var16, 128387161211156L});
|
||||
}
|
||||
|
||||
var17.add(var22, var23);
|
||||
}
|
||||
}
|
||||
|
||||
if (Prestige.l == null) {
|
||||
var16.b(new Object[]{"HUD", "HUD editor is not ready", null});
|
||||
} else {
|
||||
for (HudElement var35 : Prestige.l.a_HudElementArr(new Object[0])) {
|
||||
String var37 = var35.a_String____(new Object[0]);
|
||||
if (var37 == null || var37.isBlank()) {
|
||||
var16.b(new Object[]{"HUD", "component has no config name", null});
|
||||
} else if (!var18.add(var37)) {
|
||||
var16.b(new Object[]{"HUD > " + var37, "duplicate config section name", null});
|
||||
} else {
|
||||
try {
|
||||
JsonObject var39 = new JsonObject();
|
||||
var39.addProperty("Enabled", var35.e_boolean(new Object[]{15166320517519L}));
|
||||
var39.addProperty("X", var35.a_float_______(new Object[0]));
|
||||
var39.addProperty("Y", var35.b_float___(new Object[0]));
|
||||
if (var35.b_boolean____(new Object[0])) {
|
||||
var16.c(new Object[]{3});
|
||||
} else {
|
||||
var39.addProperty("RuleX", var35.i.name());
|
||||
var39.addProperty("RuleY", var35.j.name());
|
||||
var39.addProperty("OffX", var35.k);
|
||||
var39.addProperty("OffY", var35.l);
|
||||
var16.c(new Object[]{7});
|
||||
}
|
||||
|
||||
var17.add(var37, var39);
|
||||
} catch (Throwable var27) {
|
||||
j(new Object[]{var27, 77239967061762L});
|
||||
var16.b(new Object[]{"HUD > " + var37, d_String(new Object[]{var27, 126091222217669L}), var27});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Throwable var28) {
|
||||
j(new Object[]{var28, 77239967061762L});
|
||||
var16.b(new Object[]{"Config", "unexpected save failure: " + d_String(new Object[]{var28, 126091222217669L}), var28});
|
||||
}
|
||||
|
||||
String var29;
|
||||
try {
|
||||
var29 = var17.toString();
|
||||
} catch (Throwable var26) {
|
||||
j(new Object[]{var26, 77239967061762L});
|
||||
var16.b(new Object[]{"Config", "could not serialize snapshot: " + d_String(new Object[]{var26, 126091222217669L}), var26});
|
||||
var29 = "{}";
|
||||
}
|
||||
|
||||
if (var16.a_boolean__________________________________________(new Object[]{17026319865315L})) {
|
||||
if (this.d != null) {
|
||||
var16.a(new Object[]{"Config", "save was aborted; the previous complete snapshot was kept", null});
|
||||
var29 = this.d;
|
||||
} else {
|
||||
var16.b(new Object[]{"Config", "save was aborted; no complete fallback snapshot exists", null});
|
||||
var29 = "{}";
|
||||
}
|
||||
} else {
|
||||
this.d = var29;
|
||||
}
|
||||
|
||||
i(new Object[]{var16, 29277096836346L});
|
||||
return var29;
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public void a(String var1) {
|
||||
Event.b();
|
||||
RenderHelper11 var25 = new RenderHelper11("load");
|
||||
|
||||
try {
|
||||
JsonObject var26 = this.a_JsonObject(new Object[]{var1, var25, 50406667818198L});
|
||||
if (var26 == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Prestige.moduleManager != null) {
|
||||
HashSet var27 = new HashSet();
|
||||
var27.add("Menu");
|
||||
ArrayList var28 = new ArrayList();
|
||||
Set var29 = Collections.newSetFromMap(new IdentityHashMap());
|
||||
this.a(new Object[]{var26, var29, var25, 33673993163928L});
|
||||
this.b(new Object[]{var26, var25, 86545728593565L});
|
||||
|
||||
for (Module var31 : (Iterable<Module>)(Prestige.moduleManager.getModules())) {
|
||||
String var32 = var31.getName();
|
||||
if (var32 != null && !var32.isBlank()) {
|
||||
if (!var27.add(var32)) {
|
||||
var25.b(new Object[]{var32, "duplicate module config name; section was skipped", null});
|
||||
} else {
|
||||
this.c(new Object[]{var26, var31, var32, var29, var28, var25, 63085766558568L});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Prestige.l == null) {
|
||||
var25.a(new Object[]{"HUD", "HUD editor is not ready; HUD layout was skipped", null});
|
||||
} else {
|
||||
for (HudElement var33 : Prestige.l.a_HudElementArr(new Object[0])) {
|
||||
String var34 = var33.a_String____(new Object[0]);
|
||||
if (var34 == null || var34.isBlank()) {
|
||||
var25.b(new Object[]{"HUD", "component has no config name", null});
|
||||
} else if (!var27.add(var34)) {
|
||||
var25.b(new Object[]{"HUD > " + var34, "duplicate config section name; section was skipped", null});
|
||||
} else {
|
||||
this.e(new Object[]{var26, var33, var34, var25, 5466957899849L});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.h(new Object[]{var26, var27, "", "module or HUD section", var25, 9248152575382L});
|
||||
|
||||
for (ModuleStringBoolData var43 : (Iterable<ModuleStringBoolData>)(var28)) {
|
||||
JsonElement var10001 = var43.aE();
|
||||
Module var10002 = var43.aC();
|
||||
String var10003 = var43.aD();
|
||||
boolean var10004 = var43.aF();
|
||||
Object[] var10008 = new Object[]{null, null, null, null, var25, 81130270711953L};
|
||||
var10008[3] = var10004;
|
||||
var10008[2] = var10003;
|
||||
var10008[1] = var10002;
|
||||
var10008[0] = var10001;
|
||||
this.d(var10008);
|
||||
}
|
||||
|
||||
if (var25.c == 0) {
|
||||
var25.b(new Object[]{"Config", "no recognized config sections were found", null});
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var25.b(new Object[]{"Config", "module manager is not ready", null});
|
||||
} catch (Throwable var38) {
|
||||
j(new Object[]{var38, 77239967061762L});
|
||||
var25.b(new Object[]{"Config", "unexpected load failure: " + d_String(new Object[]{var38, 126091222217669L}), var38});
|
||||
return;
|
||||
} finally {
|
||||
this.e = var25.a_String_______(new Object[0]);
|
||||
i(new Object[]{var25, 29277096836346L});
|
||||
}
|
||||
}
|
||||
|
||||
@Chainable
|
||||
public String b() {
|
||||
String var1 = this.e;
|
||||
this.e = null;
|
||||
return var1;
|
||||
}
|
||||
|
||||
private void a(Object[] var1) {
|
||||
JsonObject var4 = (JsonObject)var1[0];
|
||||
Set var3 = (Set)var1[1];
|
||||
RenderHelper11 var2 = (RenderHelper11)var1[2];
|
||||
long var5 = (Long)var1[3];
|
||||
var5 = 96496729806863L ^ var5;
|
||||
long var7 = var5 ^ 37162905344827L;
|
||||
long var9 = var5 ^ 132314134132321L;
|
||||
long var11 = var5 ^ 103654541799618L;
|
||||
long var13 = var5 ^ 107987087481170L;
|
||||
long var15 = var5 ^ 16891702107029L;
|
||||
long var17 = var5 ^ 65759533973330L;
|
||||
Event.b();
|
||||
HashSet var20 = new HashSet();
|
||||
var20.add("Menu");
|
||||
Iterator var21 = Prestige.moduleManager.getModules().iterator();
|
||||
|
||||
while (true) {
|
||||
Module var22;
|
||||
String var23;
|
||||
boolean var27;
|
||||
while (true) {
|
||||
boolean var26;
|
||||
while (true) {
|
||||
if (!var21.hasNext()) {
|
||||
return;
|
||||
}
|
||||
|
||||
var22 = (Module)var21.next();
|
||||
var23 = var22.getName();
|
||||
if (var23 != null && !var23.isBlank() && var20.add(var23)) {
|
||||
JsonElement var24 = var4.get(var23);
|
||||
if (var24 != null && var24.isJsonObject()) {
|
||||
JsonObject var25 = var24.getAsJsonObject();
|
||||
if (var25.has("Enabled")) {
|
||||
try {
|
||||
var26 = MathUtil5.a_boolean________(new Object[]{this.a_String_(new Object[]{var25.get("Enabled"), var11}), var9});
|
||||
break;
|
||||
} catch (Throwable var32) {
|
||||
j(new Object[]{var32, var15});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!var26) {
|
||||
try {
|
||||
var27 = var22.isEnabled();
|
||||
break;
|
||||
} catch (Throwable var33) {
|
||||
j(new Object[]{var33, var15});
|
||||
var2.b(new Object[]{var23 + " > Enabled", "could not inspect current module state: " + d_String(new Object[]{var33, var17}), var33});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var27) {
|
||||
var3.add(var22);
|
||||
String var28 = var23 + " > Enabled";
|
||||
|
||||
try {
|
||||
var22.toggle(new Object[]{var7});
|
||||
if (var22.isEnabled()) {
|
||||
var22.toggle(new Object[]{var7});
|
||||
}
|
||||
|
||||
if (!var22.isEnabled()) {
|
||||
var2.c(new Object[]{1});
|
||||
} else {
|
||||
var2.a(new Object[]{var28, "module changed its own state while being disabled", null});
|
||||
}
|
||||
} catch (Throwable var34) {
|
||||
j(new Object[]{var34, var15});
|
||||
Object[] var10006 = new Object[]{null, null, var34, var13};
|
||||
var10006[1] = true;
|
||||
var10006[0] = var22;
|
||||
boolean var30 = this.a_boolean__(var10006);
|
||||
String var31 = var30 ? "disable lifecycle failed; previous state was restored" : "disable lifecycle failed; state may be inconsistent";
|
||||
var2.b(new Object[]{var28, var31, var34});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void b(Object[] var1) {
|
||||
JsonObject var2 = (JsonObject)var1[0];
|
||||
RenderHelper11 var3 = (RenderHelper11)var1[1];
|
||||
long var4 = (Long)var1[2];
|
||||
var4 = 96496729806863L ^ var4;
|
||||
long var6 = var4 ^ 8706910453811L;
|
||||
long var8 = var4 ^ 18813483277060L;
|
||||
long var10 = var4 ^ 79939548172944L;
|
||||
if (var2.has("Menu")) {
|
||||
var3.c++;
|
||||
JsonObject var13 = this.b_JsonObject(new Object[]{var2.get("Menu"), "Menu", var3, var6});
|
||||
if (var13 != null) {
|
||||
HashSet var14 = new HashSet();
|
||||
|
||||
for (Setting var16 : (Iterable<Setting>)(Prestige.moduleManager.getMenu(new Object[0]).settings)) {
|
||||
this.f(new Object[]{var13, var16, "Menu", var14, var3, var10});
|
||||
}
|
||||
|
||||
this.h(new Object[]{var13, var14, "Menu", "setting", var3, var8});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void c(Object[] var1) {
|
||||
JsonObject var7 = (JsonObject)var1[0];
|
||||
Module var2 = (Module)var1[1];
|
||||
String var3 = (String)var1[2];
|
||||
Set var8 = (Set)var1[3];
|
||||
List var9 = (List)var1[4];
|
||||
RenderHelper11 var6 = (RenderHelper11)var1[5];
|
||||
long var4 = (Long)var1[6];
|
||||
var4 = 96496729806863L ^ var4;
|
||||
long var10 = var4 ^ 123407556550086L;
|
||||
long var12 = var4 ^ 113019533182705L;
|
||||
long var14 = var4 ^ 69691540459365L;
|
||||
if (var7.has(var3)) {
|
||||
var6.c++;
|
||||
JsonObject var17 = this.b_JsonObject(new Object[]{var7.get(var3), var3, var6, var10});
|
||||
if (var17 != null) {
|
||||
HashSet var18 = new HashSet();
|
||||
boolean var19 = false;
|
||||
|
||||
for (Setting var21 : (Iterable<Setting>)(var2.getCoreSettings(new Object[0]))) {
|
||||
if ("Enabled".equals(var21.getName())) {
|
||||
var19 = true;
|
||||
var18.add("Enabled");
|
||||
} else {
|
||||
this.f(new Object[]{var17, var21, var3, var18, var6, var14});
|
||||
}
|
||||
}
|
||||
|
||||
for (Setting var24 : (Iterable<Setting>)(var2.settings)) {
|
||||
this.f(new Object[]{var17, var24, var3, var18, var6, var14});
|
||||
}
|
||||
|
||||
this.h(new Object[]{var17, var18, var3, "setting", var6, var12});
|
||||
if (var19 && var17.has("Enabled")) {
|
||||
var9.add(new ModuleStringBoolData(var2, var3, var17.get("Enabled"), var8.contains(var2)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void d(Object[] var1) {
|
||||
JsonElement var8 = (JsonElement)var1[0];
|
||||
Module var2 = (Module)var1[1];
|
||||
String var4 = (String)var1[2];
|
||||
boolean var3 = (Boolean)var1[3];
|
||||
RenderHelper11 var5 = (RenderHelper11)var1[4];
|
||||
long var6 = (Long)var1[5];
|
||||
var6 = 96496729806863L ^ var6;
|
||||
long var9 = var6 ^ 130452708159282L;
|
||||
long var11 = var6 ^ 51947669766760L;
|
||||
long var13 = var6 ^ 10085635278027L;
|
||||
long var15 = var6 ^ 58684175330651L;
|
||||
long var17 = var6 ^ 96985419263900L;
|
||||
long var19 = var6 ^ 119465039121243L;
|
||||
long var21 = var6 ^ 121114916499154L;
|
||||
Event.b();
|
||||
String var24 = var4 + " > Enabled";
|
||||
if (!var3) {
|
||||
try {
|
||||
boolean var25 = MathUtil5.a_boolean________(new Object[]{this.a_String_(new Object[]{var8, var13}), var11});
|
||||
boolean var26 = var2.isEnabled();
|
||||
if (var25 == var26) {
|
||||
var5.c(new Object[]{1});
|
||||
return;
|
||||
}
|
||||
|
||||
if (var25 && !var2.b(new Object[]{var21})) {
|
||||
var5.a(new Object[]{var24, "activation is blocked for downloaded configs; settings were still loaded", null});
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
var2.toggle(new Object[]{var9});
|
||||
if (var2.isEnabled() == var25) {
|
||||
var5.c(new Object[]{1});
|
||||
} else {
|
||||
var5.a(new Object[]{var24, "module changed its own state during activation", null});
|
||||
}
|
||||
} catch (Throwable var31) {
|
||||
j(new Object[]{var31, var17});
|
||||
Object[] var10006 = new Object[]{null, null, var31, var15};
|
||||
var10006[1] = var26;
|
||||
var10006[0] = var2;
|
||||
boolean var29 = this.a_boolean__(var10006);
|
||||
String var30 = var29 ? "module lifecycle failed; previous state was restored" : "module lifecycle failed; state may be inconsistent";
|
||||
var5.b(new Object[]{var24, var30, var31});
|
||||
}
|
||||
} catch (Throwable var32) {
|
||||
j(new Object[]{var32, var17});
|
||||
var5.b(new Object[]{var24, d_String(new Object[]{var32, var19}), var32});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean a_boolean__(Object[] var1) {
|
||||
Module var4 = (Module)var1[0];
|
||||
boolean var3 = (Boolean)var1[1];
|
||||
Throwable var2 = (Throwable)var1[2];
|
||||
long var5 = (Long)var1[3];
|
||||
var5 = 96496729806863L ^ var5;
|
||||
long var7 = var5 ^ 22237184105062L;
|
||||
long var9 = var5 ^ 64498351692488L;
|
||||
|
||||
try {
|
||||
if (var4.isEnabled() != var3) {
|
||||
var4.toggle(new Object[]{var7});
|
||||
}
|
||||
|
||||
return var4.isEnabled() == var3;
|
||||
} catch (Throwable var13) {
|
||||
j(new Object[]{var13, var9});
|
||||
var2.addSuppressed(var13);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void e(Object[] var1) {
|
||||
JsonObject var7 = (JsonObject)var1[0];
|
||||
HudElement var2 = (HudElement)var1[1];
|
||||
String var4 = (String)var1[2];
|
||||
RenderHelper11 var3 = (RenderHelper11)var1[3];
|
||||
long var5 = (Long)var1[4];
|
||||
var5 = 96496729806863L ^ var5;
|
||||
long var8 = var5 ^ 100411059039696L;
|
||||
long var10 = var5 ^ 5502290586488L;
|
||||
long var12 = var5 ^ 58875693054694L;
|
||||
long var14 = var5 ^ 101797762110170L;
|
||||
long var16 = var5 ^ 23108292749124L;
|
||||
long var18 = var5 ^ 36929804059523L;
|
||||
long var20 = var5 ^ 85373803017959L;
|
||||
long var22 = var5 ^ 87860093076389L;
|
||||
long var24 = var5 ^ 85724311003336L;
|
||||
long var26 = var5 ^ 55444573469968L;
|
||||
long var28 = var5 ^ 107814391728816L;
|
||||
long var30 = var5 ^ 119585972925391L;
|
||||
long var32 = var5 ^ 74892457757715L;
|
||||
long var34 = var5 ^ 104387745518025L;
|
||||
long var36 = var5 ^ 59274824819998L;
|
||||
if (var7.has(var4)) {
|
||||
var3.c++;
|
||||
String var39 = "HUD > " + var4;
|
||||
JsonObject var40 = this.b_JsonObject(new Object[]{var7.get(var4), var39, var3, var20});
|
||||
if (var40 != null) {
|
||||
Set var41 = Set.of("Enabled", "X", "Y", "Anchor", "RuleX", "RuleY", "OffX", "OffY");
|
||||
this.h(new Object[]{var40, var41, var39, "setting", var3, var8});
|
||||
boolean var42 = var40.has("RuleX") && var40.has("RuleY") && var40.has("OffX") && var40.has("OffY");
|
||||
boolean var43 = var40.has("X");
|
||||
boolean var44 = var40.has("Y");
|
||||
if (var42) {
|
||||
try {
|
||||
SettingFlag var45 = SettingFlag.valueOf(this.a_String_(new Object[]{var40.get("RuleX"), var32}));
|
||||
SettingFlag var46 = SettingFlag.valueOf(this.a_String_(new Object[]{var40.get("RuleY"), var32}));
|
||||
float var47 = MathUtil5.a_float_____________(new Object[]{this.a_String_(new Object[]{var40.get("OffX"), var32}), var24});
|
||||
float var48 = MathUtil5.a_float_____________(new Object[]{this.a_String_(new Object[]{var40.get("OffY"), var32}), var24});
|
||||
Object[] var10007 = new Object[]{null, null, null, null, var26};
|
||||
var10007[3] = var48;
|
||||
var10007[2] = var47;
|
||||
var10007[1] = var46;
|
||||
var10007[0] = var45;
|
||||
var2.f_void(var10007);
|
||||
var3.c(new Object[]{4});
|
||||
} catch (IllegalArgumentException var52) {
|
||||
var3.b(new Object[]{var39 + " > Position", "unknown positioning rule; position was skipped", null});
|
||||
} catch (Throwable var53) {
|
||||
j(new Object[]{var53, var16});
|
||||
var3.b(new Object[]{var39 + " > Position", d_String(new Object[]{var53, var18}), var53});
|
||||
}
|
||||
} else if (var43 != var44) {
|
||||
var3.b(new Object[]{var39 + " > Position", "X and Y must both be present; position was skipped", null});
|
||||
} else if (var43) {
|
||||
try {
|
||||
label128: {
|
||||
float var58 = MathUtil5.a_float_____________(new Object[]{this.a_String_(new Object[]{var40.get("X"), var32}), var24});
|
||||
float var60 = MathUtil5.a_float_____________(new Object[]{this.a_String_(new Object[]{var40.get("Y"), var32}), var24});
|
||||
|
||||
label129: {
|
||||
{
|
||||
if (var40.has("Anchor")) {
|
||||
try {
|
||||
TrajectoryType var10001 = TrajectoryType.valueOf(this.a_String_(new Object[]{var40.get("Anchor"), var32}));
|
||||
Object[] var10006 = new Object[]{null, null, null, var12};
|
||||
var10006[2] = var60;
|
||||
var10006[1] = var58;
|
||||
var10006[0] = var10001;
|
||||
var2.g(var10006);
|
||||
var3.c(new Object[]{3});
|
||||
break label128;
|
||||
} catch (IllegalArgumentException var54) {
|
||||
break label129;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Object[] var10005 = new Object[]{null, null, var10};
|
||||
var10005[1] = var60;
|
||||
var10005[0] = var58;
|
||||
var2.a_void_______(var10005);
|
||||
var3.c(new Object[]{2});
|
||||
break label128;
|
||||
}
|
||||
|
||||
var3.b(new Object[]{var39 + " > Anchor", "unknown anchor; position was skipped", null});
|
||||
}
|
||||
} catch (Throwable var56) {
|
||||
j(new Object[]{var56, var16});
|
||||
var3.b(new Object[]{var39 + " > Position", d_String(new Object[]{var56, var18}), var56});
|
||||
}
|
||||
}
|
||||
|
||||
if (var40.has("Enabled")) {
|
||||
try {
|
||||
boolean var59 = MathUtil5.a_boolean________(new Object[]{this.a_String_(new Object[]{var40.get("Enabled"), var32}), var28});
|
||||
if (var59 != var2.e_boolean(new Object[]{var34})) {
|
||||
boolean var61 = var2.e_boolean(new Object[]{var34});
|
||||
|
||||
try {
|
||||
var2.j(new Object[]{var30});
|
||||
} catch (Throwable var50) {
|
||||
j(new Object[]{var50, var16});
|
||||
Object[] var63 = new Object[]{null, null, var50, var14};
|
||||
var63[1] = var61;
|
||||
var63[0] = var2;
|
||||
boolean var62 = this.b_boolean_(var63);
|
||||
String var49 = var62 ? "HUD lifecycle failed; previous state was restored" : "HUD lifecycle failed; state may be inconsistent";
|
||||
var3.b(new Object[]{var39 + " > Enabled", var49, var50});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var3.c(new Object[]{1});
|
||||
} catch (Throwable var51) {
|
||||
j(new Object[]{var51, var16});
|
||||
var3.b(new Object[]{var39 + " > Enabled", d_String(new Object[]{var51, var18}), var51});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean b_boolean_(Object[] var1) {
|
||||
HudElement var5 = (HudElement)var1[0];
|
||||
boolean var4 = (Boolean)var1[1];
|
||||
Throwable var6 = (Throwable)var1[2];
|
||||
long var2 = (Long)var1[3];
|
||||
var2 = 96496729806863L ^ var2;
|
||||
long var7 = var2 ^ 113891817421082L;
|
||||
long var9 = var2 ^ 94173269318428L;
|
||||
long var11 = var2 ^ 33340080713105L;
|
||||
|
||||
try {
|
||||
if (var5.e_boolean(new Object[]{var9}) != var4) {
|
||||
var5.j(new Object[]{var7});
|
||||
}
|
||||
|
||||
return var5.e_boolean(new Object[]{var9}) == var4;
|
||||
} catch (Throwable var15) {
|
||||
j(new Object[]{var15, var11});
|
||||
var6.addSuppressed(var15);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void f(Object[] var1) {
|
||||
JsonObject var5 = (JsonObject)var1[0];
|
||||
Setting var2 = (Setting)var1[1];
|
||||
String var8 = (String)var1[2];
|
||||
Set var7 = (Set)var1[3];
|
||||
RenderHelper11 var6 = (RenderHelper11)var1[4];
|
||||
long var3 = (Long)var1[5];
|
||||
var3 = 96496729806863L ^ var3;
|
||||
long var9 = var3 ^ 107052151354858L;
|
||||
long var11 = var3 ^ 18849944105048L;
|
||||
long var13 = var3 ^ 70634159414031L;
|
||||
long var15 = var3 ^ 128299157553096L;
|
||||
if (var2 != null && var2.getName() != null && !var2.getName().isBlank()) {
|
||||
String var18 = var2.getName();
|
||||
if (!var7.add(var18)) {
|
||||
var6.b(new Object[]{var8 + " > " + var18, "duplicate registered setting name", null});
|
||||
} else if (var5.has(var18)) {
|
||||
String var19 = var8 + " > " + var18;
|
||||
|
||||
try {
|
||||
MathUtil5.a(new Object[]{var2, this.a_String_(new Object[]{var5.get(var18), var11}), var9});
|
||||
var6.c(new Object[]{1});
|
||||
} catch (Throwable var21) {
|
||||
j(new Object[]{var21, var13});
|
||||
var6.b(new Object[]{var19, d_String(new Object[]{var21, var15}), var21});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var6.a(new Object[]{var8, "an unnamed setting was skipped", null});
|
||||
}
|
||||
}
|
||||
|
||||
private void g(Object[] var1) {
|
||||
JsonObject var2 = (JsonObject)var1[0];
|
||||
Setting var7 = (Setting)var1[1];
|
||||
String var5 = (String)var1[2];
|
||||
RenderHelper11 var6 = (RenderHelper11)var1[3];
|
||||
long var3 = (Long)var1[4];
|
||||
var3 = 96496729806863L ^ var3;
|
||||
long var8 = var3 ^ 121466085324506L;
|
||||
long var10 = var3 ^ 111294525115929L;
|
||||
long var12 = var3 ^ 89794695424734L;
|
||||
if (var7 != null && var7.getName() != null && !var7.getName().isBlank()) {
|
||||
String var15 = var5 + " > " + var7.getName();
|
||||
if (var2.has(var7.getName())) {
|
||||
var6.b(new Object[]{var15, "duplicate registered setting name", null});
|
||||
} else {
|
||||
try {
|
||||
var2.addProperty(var7.getName(), this.b_String(new Object[]{var7, var8}));
|
||||
var6.c(new Object[]{1});
|
||||
} catch (Throwable var17) {
|
||||
j(new Object[]{var17, var10});
|
||||
var6.b(new Object[]{var15, d_String(new Object[]{var17, var12}), var17});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var6.a(new Object[]{var5, "an unnamed setting was skipped", null});
|
||||
}
|
||||
}
|
||||
|
||||
private JsonObject a_JsonObject(Object[] var1) {
|
||||
String var2 = (String)var1[0];
|
||||
RenderHelper11 var5 = (RenderHelper11)var1[1];
|
||||
long var3 = (Long)var1[2];
|
||||
var3 = 96496729806863L ^ var3;
|
||||
long var6 = var3 ^ 44758310302231L;
|
||||
if (var2 != null && !var2.isBlank()) {
|
||||
if (var2.length() > 100000) {
|
||||
var5.b(new Object[]{"Config", "downloaded config is too large", null});
|
||||
return null;
|
||||
} else if (this.c_boolean(new Object[]{var2, var6})) {
|
||||
var5.b(new Object[]{"Config", "downloaded config is nested too deeply", null});
|
||||
return null;
|
||||
} else {
|
||||
JsonObject var9;
|
||||
try {
|
||||
var9 = a.fromJson(var2, JsonObject.class);
|
||||
} catch (Exception var8) {
|
||||
var5.b(new Object[]{"Config", "downloaded config is not valid JSON", var8});
|
||||
return null;
|
||||
}
|
||||
|
||||
if (var9 == null) {
|
||||
var5.b(new Object[]{"Config", "downloaded config contained JSON null", null});
|
||||
return null;
|
||||
} else {
|
||||
return var9;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var5.b(new Object[]{"Config", "downloaded config was empty", null});
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean c_boolean(Object[] var1) {
|
||||
String var4 = (String)var1[0];
|
||||
Event.b();
|
||||
int var6 = 0;
|
||||
boolean var7 = false;
|
||||
boolean var8 = false;
|
||||
|
||||
for (int var9 = 0; var9 < var4.length(); var9++) {
|
||||
char var10 = var4.charAt(var9);
|
||||
if (var7) {
|
||||
if (var8) {
|
||||
var8 = false;
|
||||
} else if (var10 == '\\') {
|
||||
var8 = true;
|
||||
} else if (var10 == '"') {
|
||||
var7 = false;
|
||||
}
|
||||
} else if (var10 == '"') {
|
||||
var7 = true;
|
||||
} else if (var10 == '{' || var10 == '[') {
|
||||
if (++var6 > 64) {
|
||||
return true;
|
||||
}
|
||||
} else if (var10 == '}' || var10 == ']') {
|
||||
var6--;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private JsonObject b_JsonObject(Object[] var1) {
|
||||
JsonElement var2 = (JsonElement)var1[0];
|
||||
String var6 = (String)var1[1];
|
||||
RenderHelper11 var3 = (RenderHelper11)var1[2];
|
||||
if (var2 == null || var2.isJsonNull()) {
|
||||
var3.b(new Object[]{var6, "section is null", null});
|
||||
return null;
|
||||
} else if (!var2.isJsonObject()) {
|
||||
var3.b(new Object[]{var6, "section must be a JSON object", null});
|
||||
return null;
|
||||
} else {
|
||||
return var2.getAsJsonObject();
|
||||
}
|
||||
}
|
||||
|
||||
private String a_String_(Object[] var1) {
|
||||
JsonElement var2 = (JsonElement)var1[0];
|
||||
if (var2 == null || var2.isJsonNull()) {
|
||||
throw new IllegalArgumentException("value is null");
|
||||
} else if (!var2.isJsonPrimitive()) {
|
||||
throw new IllegalArgumentException("expected a single value");
|
||||
} else {
|
||||
return var2.getAsString();
|
||||
}
|
||||
}
|
||||
|
||||
private void h(Object[] var1) {
|
||||
JsonObject var3 = (JsonObject)var1[0];
|
||||
Set var2 = (Set)var1[1];
|
||||
String var4 = (String)var1[2];
|
||||
String var7 = (String)var1[3];
|
||||
RenderHelper11 var8 = (RenderHelper11)var1[4];
|
||||
Event.b();
|
||||
|
||||
for (Entry var11 : var3.entrySet()) {
|
||||
if (!var2.contains(var11.getKey())) {
|
||||
String var12 = var4.isEmpty() ? (String)var11.getKey() : var4 + " > " + (String)var11.getKey();
|
||||
var8.a(new Object[]{var12, var7 + " is not available in this version; skipped", null});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private String b_String(Object[] var1) {
|
||||
Setting var2 = (Setting)var1[0];
|
||||
long var3 = (Long)var1[1];
|
||||
var3 = 96496729806863L ^ var3;
|
||||
long var5 = var3 ^ 54118292651812L;
|
||||
if (var2 instanceof ColorSetting var18) {
|
||||
Color var19 = (Color)var18.getValue();
|
||||
if (var19 == null) {
|
||||
throw new IllegalStateException("color is null");
|
||||
} else {
|
||||
return var19.getRed() + "." + var19.getGreen() + "." + var19.getBlue() + "." + var19.getAlpha();
|
||||
}
|
||||
} else if (var2 instanceof KeybindSetting var17) {
|
||||
if (var17.getValue() == null) {
|
||||
throw new IllegalStateException("bind is null");
|
||||
} else {
|
||||
return var17.getValue() + "." + var17.isToggleMode();
|
||||
}
|
||||
} else if (var2 instanceof MultiSetting var16) {
|
||||
StringBuilder var9 = new StringBuilder();
|
||||
|
||||
for (String var13 : var16.getOptions()) {
|
||||
if (!var13.isEmpty()) {
|
||||
var9.append(var13).append(".").append(var16.isSelected(new Object[]{var13, var5})).append("&");
|
||||
}
|
||||
}
|
||||
|
||||
return var9.toString();
|
||||
} else if (var2 instanceof RangeSetting var15) {
|
||||
return var15.getLow() + "|" + var15.getHigh();
|
||||
} else {
|
||||
Object var8 = var2.getValue();
|
||||
if (var8 == null) {
|
||||
throw new IllegalStateException("value is null");
|
||||
} else {
|
||||
return var8.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void i(Object[] var0) {
|
||||
RenderHelper11 var1 = (RenderHelper11)var0[0];
|
||||
long var2 = (Long)var0[1];
|
||||
var2 = 96496729806863L ^ var2;
|
||||
long var4 = var2 ^ 72704133099798L;
|
||||
long var6 = var2 ^ 12490493998071L;
|
||||
if (!"load".equals(var1.a) && (var1.a_boolean__________________________________________(new Object[]{var4}) || var1.e != 0)) {
|
||||
Runnable var9 = () -> {
|
||||
if (Prestige.v != null) {
|
||||
String var8 = "load".equals(var1.a) ? "loaded" : "saved";
|
||||
TpsTimer var10000 = Prestige.v;
|
||||
String var10001 = "Config " + var8;
|
||||
int var10002 = var1.d;
|
||||
int var10003 = var1.e;
|
||||
int var10004 = var1.b;
|
||||
Object[] var10008 = new Object[]{null, null, null, var8, 114751876588817L};
|
||||
var10008[2] = var10004;
|
||||
var10008[1] = var10003;
|
||||
var10008[0] = var10002;
|
||||
String var9x = c_String(var10008);
|
||||
long var10x = m;
|
||||
Object[] var10007 = new Object[]{
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
var1.d > 0 ? NotificationType.ERROR : (var1.e > 0 ? NotificationType.WARNING : NotificationType.SUCCESS),
|
||||
104881728073391L
|
||||
};
|
||||
var10007[2] = var10x;
|
||||
var10007[1] = var9x;
|
||||
var10007[0] = var10001;
|
||||
var10000.a(var10007);
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
MinecraftClient var10 = MinecraftClient.getInstance();
|
||||
if (var10 != null && !var10.isOnThread()) {
|
||||
var10.execute(var9);
|
||||
} else {
|
||||
var9.run();
|
||||
}
|
||||
} catch (Throwable var11) {
|
||||
j(new Object[]{var11, var6});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static String c_String(Object[] var0) {
|
||||
int var2 = (Integer)var0[0];
|
||||
int var6 = (Integer)var0[1];
|
||||
int var1 = (Integer)var0[2];
|
||||
String var5 = (String)var0[3];
|
||||
return var2 + " errors, " + var6 + " skipped, " + var1 + " " + var5;
|
||||
}
|
||||
|
||||
private static String d_String(Object[] var0) {
|
||||
Throwable var3 = (Throwable)var0[0];
|
||||
Event.b();
|
||||
String var5 = var3.getMessage();
|
||||
return var5 != null && !var5.isBlank() ? var5 : var3.getClass().getSimpleName();
|
||||
}
|
||||
|
||||
private static void j(Object[] var0) {
|
||||
Throwable var1 = (Throwable)var0[0];
|
||||
if (var1 instanceof ThreadDeath var6) {
|
||||
throw var6;
|
||||
} else if (var1 instanceof VirtualMachineError var5) {
|
||||
throw var5;
|
||||
} else {
|
||||
if (var1 instanceof InterruptedException) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 Throwable a(Throwable var0) {
|
||||
return var0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
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,89 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public record BoolData3(ArrayList<Vec3d> b9, boolean b_) {
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
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) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.GpuBuffer;
|
||||
|
||||
public record BufferQuadIntData(GpuBuffer cc, IntBoolData cd, int ce, long cf) {
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
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 net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record DoubleData(BlockPos al, BlockHitResult am, double an) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderContract4;
|
||||
|
||||
public record DrawFloatData(RenderContract4 ca, float cb) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public record FloatData(Entity ag, float ah, float ai) {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
public record FloatDoubleIntData(float bt, double bu, int bv, double bw) {
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
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,4 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
public record IntBoolData(int cg, int ch, int ci, boolean cj) {
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
public record IntData3(int b5, int b6, int b7, int b8) {
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.DrawContext;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.IntSupplier;
|
||||
|
||||
public record IntSupplierData(IntSupplier b3) implements Uniform {
|
||||
public IntSupplierData(int var1) {
|
||||
this(() -> var1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void a(DrawContext var1) {
|
||||
var1.a(new Object[]{this.b3.getAsInt()});
|
||||
}
|
||||
|
||||
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,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.registry.RegistryKey;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public record LongData(RegistryKey<World> bn, long bo) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record LongData2(BlockPos aj, long ak) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.network.packet.Packet;
|
||||
|
||||
public record LongData3(Packet<?> as, long at) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record LongData4(BlockPos ay, long az) {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.client.render.Camera;
|
||||
import org.joml.Matrix4f;
|
||||
|
||||
public record MatrixCameraData(Matrix4f bA, Matrix4f bB, Camera bC) {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import dev.zprestige.prestige.Module;
|
||||
|
||||
public record ModuleStringBoolData(Module aC, String aD, JsonElement aE, boolean aF) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.Module;
|
||||
|
||||
public record ModuleStringFloatData(Module a_, String ba, float bb) {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.RenderPass;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public record PassConsumerData(RenderPass bx, Consumer by) {
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import dev.zprestige.prestige.render.DrawContext;
|
||||
import dev.zprestige.prestige.render.Shader;
|
||||
import dev.zprestige.prestige.render.Uniform;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public record ShaderData(Shader b0) implements Uniform {
|
||||
@Override
|
||||
public void a(DrawContext var1) {
|
||||
var1.e(new Object[]{this.b0});
|
||||
}
|
||||
|
||||
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,114 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Arrays;
|
||||
|
||||
public record StringData(Class<?> bi, String bj, Class<?> bk, Class<?>[] bl, Class<?> bm) {
|
||||
@Override
|
||||
public boolean equals(Object var1) {
|
||||
if (this == var1) {
|
||||
return true;
|
||||
} else if (var1 != null && this.getClass() == var1.getClass()) {
|
||||
StringData var5 = (StringData)var1;
|
||||
if (!this.bi.equals(var5.bi)) {
|
||||
return false;
|
||||
} else if (!this.bm.equals(var5.bm)) {
|
||||
return false;
|
||||
} else if (!this.bj.equals(var5.bj)) {
|
||||
return false;
|
||||
} else if (!this.bk.equals(var5.bk)) {
|
||||
return false;
|
||||
} else if (this.bl.length != var5.bl.length) {
|
||||
return false;
|
||||
} else {
|
||||
for (int var6 = 0; var6 < this.bl.length; var6++) {
|
||||
if (!this.bl[var6].equals(var5.bl[var6])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int var3 = this.bi.hashCode();
|
||||
var3 = 31 * var3 + this.bj.hashCode();
|
||||
var3 = 31 * var3 + this.bk.hashCode();
|
||||
var3 = 31 * var3 + this.bm.hashCode();
|
||||
return 31 * var3 + Arrays.hashCode((Object[])this.bl);
|
||||
}
|
||||
|
||||
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,7 @@
|
||||
package dev.zprestige.prestige.data;
|
||||
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public record VecBoolData(BlockPos c, BlockPos d, Vec3d e, BlockPos f, BlockPos g, Vec3d h, boolean i) {
|
||||
}
|
||||
Loaded 100 of 774 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user