From 46bd7111849f5418ea5ff0c857430ec2f636b852 Mon Sep 17 00:00:00 2001 From: Royan Xu <132798457+happylabdab2@users.noreply.github.com> Date: Fri, 25 Apr 2025 18:25:02 -0700 Subject: [PATCH 1/4] Update core.js Added magnify edgecase --- core/core.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/core.js b/core/core.js index 1e499d5..6b6f292 100644 --- a/core/core.js +++ b/core/core.js @@ -368,8 +368,12 @@ var main;(function(){` if (EFIConfig.doMinify) { _status("Shrinking file..."); await wait(50); - - patchedFile = await minify(patchedFile, parser, EFIConfig); + if (globalThis.process) { + let _minify = require("./minify").minify; + patchedFile = await _minify(patchedFile, parser, EFIConfig); + } else { + patchedFile = await minify(patchedFile, parser, EFIConfig); + } } @@ -436,4 +440,4 @@ if (globalThis.process) { patchClient: patchClient, conf: EFIConfig } -} \ No newline at end of file +} From 8c0d5765e953e4cd31a0449293fbfbd6b7a66b96 Mon Sep 17 00:00:00 2001 From: Royan Xu <132798457+happylabdab2@users.noreply.github.com> Date: Sat, 26 Apr 2025 17:10:17 -0700 Subject: [PATCH 2/4] 1.12 method correction 1.8->1.12 method correction --- examplemods/AsyncSink.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/examplemods/AsyncSink.js b/examplemods/AsyncSink.js index 78b0b2e..b91154f 100644 --- a/examplemods/AsyncSink.js +++ b/examplemods/AsyncSink.js @@ -7,6 +7,13 @@ ModAPI.meta.credits("By ZXMushroom63"); const ResourceLocation = ModAPI.reflect.getClassByName("ResourceLocation").constructors.find(x => x.length === 1); //AsyncSink is a plugin to debug and override asynchronous methods in EaglercraftX async function runtimeComponent() { + let booleanResult; + //jl_Boolean_valueOf-> 1.12, nlevit_BooleanResult__new-> 1.8 + if (ModAPI.is_1_12) { + booleanResult = (b) => ModAPI.hooks.methods.jl_Boolean_valueOf(b * 1); + } else { + booleanResult = (b) => ModAPI.hooks.methods.nlevit_BooleanResult__new(b * 1); + } const booleanResult = (b) => ModAPI.hooks.methods.nlevit_BooleanResult__new(b * 1); const wrap = ModAPI.hooks.methods.otji_JSWrapper_wrap; const unwrap = ModAPI.hooks.methods.otji_JSWrapper_unwrap; @@ -401,4 +408,4 @@ ModAPI.meta.credits("By ZXMushroom63"); return soundPool; } } -})(); \ No newline at end of file +})(); From 99ee123897daa0337c6f9187309b8c1871709b4e Mon Sep 17 00:00:00 2001 From: Royan Xu <132798457+happylabdab2@users.noreply.github.com> Date: Sat, 26 Apr 2025 19:40:24 -0700 Subject: [PATCH 3/4] Update AsyncSink.js fix for the fix --- examplemods/AsyncSink.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examplemods/AsyncSink.js b/examplemods/AsyncSink.js index b91154f..1637176 100644 --- a/examplemods/AsyncSink.js +++ b/examplemods/AsyncSink.js @@ -8,9 +8,8 @@ ModAPI.meta.credits("By ZXMushroom63"); //AsyncSink is a plugin to debug and override asynchronous methods in EaglercraftX async function runtimeComponent() { let booleanResult; - //jl_Boolean_valueOf-> 1.12, nlevit_BooleanResult__new-> 1.8 if (ModAPI.is_1_12) { - booleanResult = (b) => ModAPI.hooks.methods.jl_Boolean_valueOf(b * 1); + booleanResult = (b) = ModAPI.reflect.getClassById("net.lax1dude.eaglercraft.internal.teavm.BooleanResult").constructors[0](b*1); } else { booleanResult = (b) => ModAPI.hooks.methods.nlevit_BooleanResult__new(b * 1); } From cdf2800977b408f37b607ff21142cf0a8fb8a2e7 Mon Sep 17 00:00:00 2001 From: Royan Xu <132798457+happylabdab2@users.noreply.github.com> Date: Sat, 26 Apr 2025 19:42:38 -0700 Subject: [PATCH 4/4] Update AsyncSink.js fixed fixed fix --- examplemods/AsyncSink.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examplemods/AsyncSink.js b/examplemods/AsyncSink.js index 1637176..fe7153d 100644 --- a/examplemods/AsyncSink.js +++ b/examplemods/AsyncSink.js @@ -8,12 +8,13 @@ ModAPI.meta.credits("By ZXMushroom63"); //AsyncSink is a plugin to debug and override asynchronous methods in EaglercraftX async function runtimeComponent() { let booleanResult; + if (ModAPI.is_1_12) { - booleanResult = (b) = ModAPI.reflect.getClassById("net.lax1dude.eaglercraft.internal.teavm.BooleanResult").constructors[0](b*1); + booleanResult = (b) => ModAPI.reflect.getClassById("net.lax1dude.eaglercraft.internal.teavm.BooleanResult").constructors[0](b*1); } else { booleanResult = (b) => ModAPI.hooks.methods.nlevit_BooleanResult__new(b * 1); } - const booleanResult = (b) => ModAPI.hooks.methods.nlevit_BooleanResult__new(b * 1); + const wrap = ModAPI.hooks.methods.otji_JSWrapper_wrap; const unwrap = ModAPI.hooks.methods.otji_JSWrapper_unwrap; function getAsyncHandlerName(name) {