From a07392c91059b64d7d0aebc67882c820ac938070 Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Sat, 3 Oct 2026 15:52:32 +0200 Subject: [PATCH] wave N+14: vfbuild29 fixes (aef EF copies: var1, var2, var1x) --- build-logs/vfbuild29.log | 30 +++++++++++++++ src/main/java/defpackage/aef.java | 9 +++-- tools/waves_n14.py | 61 +++++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 build-logs/vfbuild29.log create mode 100644 tools/waves_n14.py diff --git a/build-logs/vfbuild29.log b/build-logs/vfbuild29.log new file mode 100644 index 0000000..a8be6d1 --- /dev/null +++ b/build-logs/vfbuild29.log @@ -0,0 +1,30 @@ +/storage/aboba/evovis-client/src/main/java/defpackage/aef.java:123: error: local variables referenced from a lambda expression must be final or effectively final + Files.writeString(var2x, var1, StandardCharsets.UTF_8); + ^ +/storage/aboba/evovis-client/src/main/java/defpackage/aef.java:179: error: local variables referenced from a lambda expression must be final or effectively final + if (var2.player != null) { + ^ +/storage/aboba/evovis-client/src/main/java/defpackage/aef.java:186: error: local variables referenced from a lambda expression must be final or effectively final + adx.ownedOnly(var1x).applyTo(var0); + ^ +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. +3 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/aef.java:123: error: local variables referenced from a lambda expression must be final or effectively final + Files.writeString(var2x, var1, StandardCharsets.UTF_8); + ^ + 3 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 7s diff --git a/src/main/java/defpackage/aef.java b/src/main/java/defpackage/aef.java index b3f2757..341a3cf 100644 --- a/src/main/java/defpackage/aef.java +++ b/src/main/java/defpackage/aef.java @@ -112,6 +112,7 @@ public final class aef { return; case -660438716: var1 = var0.toJson().toString(); + final String var1f = var1; IO.execute( () -> { try { @@ -120,7 +121,7 @@ public final class aef { Path var2x = var1x.resolveSibling( "cosmetics_state.json.tmp" ); - Files.writeString(var2x, var1, StandardCharsets.UTF_8); + Files.writeString(var2x, var1f, StandardCharsets.UTF_8); CopyOption[] var10002 = new CopyOption[1]; var10002[0] = StandardCopyOption.REPLACE_EXISTING; Files.move(var2x, var1x, var10002); @@ -175,15 +176,17 @@ public final class aef { case -362427060: return; case -285474065: + final Minecraft var2f = var2; + final aee var1xf = var1x; var2.execute(() -> { - if (var2.player != null) { + if (var2f.player != null) { if (aee.readFor(var0).isEmpty()) { restoring = (boolean)(((1)) != 0); boolean var5 = false /* VF: Semaphore variable */; try { var5 = true; - adx.ownedOnly(var1x).applyTo(var0); + adx.ownedOnly(var1xf).applyTo(var0); var5 = false; } finally { if (var5) { diff --git a/tools/waves_n14.py b/tools/waves_n14.py new file mode 100644 index 0000000..c3df9d9 --- /dev/null +++ b/tools/waves_n14.py @@ -0,0 +1,61 @@ +"""Волна N+14: vfbuild29 — 3 EF в aef.java. Запуск: python3 tools/waves_n14.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/aef.java") +L = open(p, encoding="utf-8", errors="replace").read().splitlines() +ok = True + + +def edit(ln, old, new): + global ok + i = ln - 1 + if i < len(L) and old in L[i]: + L[i] = L[i].replace(old, new, 1) + elif i < len(L) and new in L[i]: + pass + else: + ok = False + print(f"MISS {ln}: {old!r} got {(L[i] if i < len(L) else '').strip()!r}") + + +def insert(ln, lines, guard_prefix, marker): + global ok + i = ln - 1 + if marker in L[max(0, i - 6) : i + 1]: + return + if i < len(L) and L[i].strip().startswith(guard_prefix): + L[i:i] = lines + else: + ok = False + print(f"INS-MISS {ln}: guard {guard_prefix!r} got {L[i].strip()[:60]!r}") + + +edit(186, "adx.ownedOnly(var1x).applyTo(var0);", "adx.ownedOnly(var1xf).applyTo(var0);") +edit(179, "if (var2.player != null) {", "if (var2f.player != null) {") +insert( + 178, + [ + " final Minecraft var2f = var2;", + " final aee var1xf = var1x;", + ], + "var2.execute(() -> {", + "final Minecraft var2f", +) +edit( + 123, + "Files.writeString(var2x, var1, StandardCharsets.UTF_8);", + "Files.writeString(var2x, var1f, StandardCharsets.UTF_8);", +) +insert( + 115, + [" final String var1f = var1;"], + "IO.execute(", + "final String var1f", +) + +open(p, "w", encoding="utf-8").write("\n".join(L) + "\n") +print("OK" if ok else "PROBLEMS") +sys.exit(0 if ok else 1)