From d9847bdf6f02d2b4e1f35943f514cb72437b2655 Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Sat, 3 Oct 2026 15:50:48 +0200 Subject: [PATCH] wave N+13b: adv var7 conditions (line shift fix) --- build-logs/vfbuild28.log | 42 ++++++++++++++++++++++ src/main/java/defpackage/adv.java | 12 ++++--- tools/waves_n13.py | 60 +++++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+), 5 deletions(-) create mode 100644 build-logs/vfbuild28.log create mode 100644 tools/waves_n13.py diff --git a/build-logs/vfbuild28.log b/build-logs/vfbuild28.log new file mode 100644 index 0000000..5928e62 --- /dev/null +++ b/build-logs/vfbuild28.log @@ -0,0 +1,42 @@ +/storage/aboba/evovis-client/src/main/java/defpackage/adv.java:103: error: local variables referenced from a lambda expression must be final or effectively final + this.applyProceduralAnimation(var6, var7, var1.getId(), var5); + ^ +/storage/aboba/evovis-client/src/main/java/defpackage/adv.java:103: error: local variables referenced from a lambda expression must be final or effectively final + this.applyProceduralAnimation(var6, var7, var1.getId(), var5); + ^ +/storage/aboba/evovis-client/src/main/java/defpackage/adv.java:116: error: local variables referenced from a lambda expression must be final or effectively final + if (var7.procedural) { + ^ +/storage/aboba/evovis-client/src/main/java/defpackage/adv.java:124: error: local variables referenced from a lambda expression must be final or effectively final + if (var7 != null) { + ^ +/storage/aboba/evovis-client/src/main/java/defpackage/adv.java:134: error: local variables referenced from a lambda expression must be final or effectively final + var9x = var6.roots.iterator(); + ^ +/storage/aboba/evovis-client/src/main/java/defpackage/adv.java:143: error: local variables referenced from a lambda expression must be final or effectively final + this.applyAnimation(var6, var7, var1.getId()); + ^ +/storage/aboba/evovis-client/src/main/java/defpackage/adv.java:143: error: local variables referenced from a lambda expression must be final or effectively final + this.applyAnimation(var6, var7, var1.getId()); + ^ +Note: Some input files use or override a deprecated API. +Note: Recompile with -Xlint:deprecation for details. +Note: Some input files use unchecked or unsafe operations. +Note: Recompile with -Xlint:unchecked for details. +7 errors + +FAILURE: Build failed with an exception. + +* What went wrong: +Execution failed for task ':compileJava' (registered by plugin class 'org.gradle.api.plugins.JavaBasePlugin'). +> Compilation failed; see the compiler output below. + /storage/aboba/evovis-client/src/main/java/defpackage/adv.java:103: error: local variables referenced from a lambda expression must be final or effectively final + this.applyProceduralAnimation(var6, var7, var1.getId(), var5); + ^ + 7 errors + +* Try: +> Check your code and dependencies to fix the compilation error(s) +> Run with --scan to get full insights from a Build Scan (powered by Develocity). + +BUILD FAILED in 6s diff --git a/src/main/java/defpackage/adv.java b/src/main/java/defpackage/adv.java index 2a7444e..62302ff 100644 --- a/src/main/java/defpackage/adv.java +++ b/src/main/java/defpackage/adv.java @@ -91,6 +91,8 @@ public class adv { case 779688452: var7 = this.getAnimation(var1); var8 = RenderTypes.entityTranslucent(var1.getTexture()); + final aif var6f = var6; + final adu var7f = var7; var3.submitCustomGeometry(var2, var8, (var6x, var7x) -> { PoseStack var8x = null; Iterator var9x = null; @@ -100,7 +102,7 @@ public class adv { while (true) { switch (var11x) { case -1409001055: - this.applyProceduralAnimation(var6, var7, var1.getId(), var5); + this.applyProceduralAnimation(var6f, var7f, var1.getId(), var5); var11x = 594291748; break; case -1320694889: @@ -113,7 +115,7 @@ public class adv { case -996278645: return; case -266866544: - if (var7.procedural) { + if (var7f.procedural) { var11x = -1409001055; } else { var11x = 2014302504; @@ -121,7 +123,7 @@ public class adv { break; case -64019536: default: - if (var7 != null) { + if (var7f != null) { var11x = -266866544; } else { var11x = 594291748; @@ -131,7 +133,7 @@ public class adv { var8x = new PoseStack(); var8x.last().pose().set(var6x.pose()); var8x.last().normal().set(var6x.normal()); - var9x = var6.roots.iterator(); + var9x = var6f.roots.iterator(); var11x = -1320694889; break; case 1295738808: @@ -140,7 +142,7 @@ public class adv { var11x = -1320694889; break; case 2014302504: - this.applyAnimation(var6, var7, var1.getId()); + this.applyAnimation(var6f, var7f, var1.getId()); var11x = 594291748; } } diff --git a/tools/waves_n13.py b/tools/waves_n13.py new file mode 100644 index 0000000..6e3166c --- /dev/null +++ b/tools/waves_n13.py @@ -0,0 +1,60 @@ +"""Волна N+13: vfbuild28 — 7 EF в adv.java (var6/var7 в submitCustomGeometry lambda). +Запуск: python3 tools/waves_n13.py""" + +import os, sys + +ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +JAVA = os.path.join(ROOT, "src/main/java") +p = os.path.join(JAVA, "defpackage/adv.java") +L = open(p, encoding="utf-8", errors="replace").read().splitlines() +ok = True + + +def edit(ln, pairs): + global ok + i = ln - 1 + if i >= len(L): + ok = False + print(f"MISS {ln} oob") + return + line = L[i] + for old, new in pairs: + if old in line: + line = line.replace(old, new) + elif new not in line: + ok = False + print(f"MISS {ln}: {old!r} got {L[i].strip()!r}") + return + L[i] = line + + +edit(143, [("applyAnimation(var6, var7,", "applyAnimation(var6f, var7f,")]) +edit(134, [("var6.roots.iterator()", "var6f.roots.iterator()")]) +edit(124, [("if (var7.procedural) {", "if (var7f.procedural) {")]) +edit(116, [("if (var7 != null) {", "if (var7f != null) {")]) +edit( + 103, + [ + ( + "applyProceduralAnimation(var6, var7,", + "applyProceduralAnimation(var6f, var7f,", + ) + ], +) + +INS = [ + " final aif var6f = var6;", + " final adu var7f = var7;", +] +if ( + L[93].strip().startswith("var3.submitCustomGeometry(") + and "final aif var6f" not in L[88:94] +): + L[93:93] = INS +else: + ok = False + print(f"INSERT-MISS: L94 = {L[93].strip()[:60]!r}") + +open(p, "w", encoding="utf-8").write("\n".join(L) + "\n") +print("OK" if ok else "PROBLEMS") +sys.exit(0 if ok else 1)