diff --git a/injector.js b/injector.js index 572b657..9352919 100644 --- a/injector.js +++ b/injector.js @@ -238,7 +238,6 @@ document.querySelector("#giveme").addEventListener("click", () => { ) { return; } - // @type File var file = document.querySelector("input").files[0]; var fileType = file.name.split("."); @@ -259,7 +258,6 @@ document.querySelector("#givemeserver").addEventListener("click", () => { ) { return; } - // @type File var file = document.querySelector("input").files[0]; var fileType = file.name.split("."); diff --git a/modgui.injector.js b/modgui.injector.js index 13cea80..2c5a49a 100644 --- a/modgui.injector.js +++ b/modgui.injector.js @@ -42,7 +42,7 @@ globalThis.modapi_guikit = `// ModAPI GUI made by TheIdiotPlays - + (reload to apply changes) @@ -168,7 +168,7 @@ globalThis.modapi_guikit = `// ModAPI GUI made by TheIdiotPlays fr.readAsDataURL(file); }); } - window.modapi_displayModGui = async function () { + window.modapi_displayModGui = async function (cb) { if (!getMods) { return; } @@ -248,7 +248,19 @@ globalThis.modapi_guikit = `// ModAPI GUI made by TheIdiotPlays tr.appendChild(button); tbody.appendChild(tr); }); + var once = false; + if (cb) { + document.querySelector("#modapi_gui_container ._doneButton").addEventListener("mousedown", ()=>{ + if (once) { + return; + } + once = true; + cb(); + document.querySelector("#modapi_gui_container").remove(); + }) + } } + window.modapi_clearmods = async () => { await resetMods(); window.modapi_displayModGui(); @@ -277,4 +289,5 @@ globalThis.modapi_guikit = `// ModAPI GUI made by TheIdiotPlays }); f.click(); } -})();`; +})(); +`; diff --git a/modgui.js b/modgui.js index ea89697..2b4ef23 100644 --- a/modgui.js +++ b/modgui.js @@ -42,7 +42,7 @@ - + (reload to apply changes) @@ -168,7 +168,7 @@ fr.readAsDataURL(file); }); } - window.modapi_displayModGui = async function () { + window.modapi_displayModGui = async function (cb) { if (!getMods) { return; } @@ -248,7 +248,19 @@ tr.appendChild(button); tbody.appendChild(tr); }); + var once = false; + if (cb) { + document.querySelector("#modapi_gui_container ._doneButton").addEventListener("mousedown", ()=>{ + if (once) { + return; + } + once = true; + cb(); + document.querySelector("#modapi_gui_container").remove(); + }) + } } + window.modapi_clearmods = async () => { await resetMods(); window.modapi_displayModGui(); diff --git a/postinit.injector.js b/postinit.injector.js index d770928..3f96bb1 100644 --- a/postinit.injector.js +++ b/postinit.injector.js @@ -749,4 +749,13 @@ globalThis.modapi_postinit = `(() => { var x = originalCrashMethod.apply(this, args); return x; } + var inited = false; + const originalMainMethod = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "_main")]; + ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "_main")] = function (...args) { + if (!inited) { + return modapi_displayModGui(originalMainMethod); + } else { + return originalMainMethod.apply(this, args); + } + } })();`; diff --git a/postinit.js b/postinit.js index ca06e9b..c4f04d1 100644 --- a/postinit.js +++ b/postinit.js @@ -749,4 +749,14 @@ var x = originalCrashMethod.apply(this, args); return x; } + var inited = false; + const originalMainMethod = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "_main")]; + ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "_main")] = function (...args) { + if (!inited) { + inited = true; + return modapi_displayModGui(globalThis.main); + } else { + return originalMainMethod.apply(this, args); + } + } })();