diff --git a/CREDITS b/CREDITS index 95030cc..8128f5b 100644 --- a/CREDITS +++ b/CREDITS @@ -28,7 +28,7 @@ ZXMushroom63: - - Wrote the plugin system and API + - Wrote the plugin system, API and GUI - Added a skip button for the start screen!!!!!!!!!!! Wow! EaglercraftX Developers diff --git a/NoReflect/index.html b/NoReflect/index.html index 12c34a6..8758616 100644 --- a/NoReflect/index.html +++ b/NoReflect/index.html @@ -185,7 +185,8 @@ "net.minecraft.client.entity.EntityOtherPlayerMP", "net.minecraft.client.entity.AbstractClientPlayer", "net.minecraft.init.Blocks", - "net.minecraft.init.Items" + "net.minecraft.init.Items", + "me.otterdev.UwUAPI" ], "imports": ["java.lang.String", "java.util.Calendar", "net.minecraft.world.WorldSettings.GameType"], "managerFile": "net.eaglerforge.reflect.PLReflect", diff --git a/sources/setup/workspace_template/javascript/ModLoader.js b/sources/setup/workspace_template/javascript/ModLoader.js index 9a21198..c8b4924 100644 --- a/sources/setup/workspace_template/javascript/ModLoader.js +++ b/sources/setup/workspace_template/javascript/ModLoader.js @@ -1,5 +1,11 @@ +function promisifyIDBRequest(request) { + return new Promise((resolve, reject) => { + request.onsuccess = () => resolve(request.result); + request.onerror = () => reject(request.error); + }); +} function loadLoader() { - window.ModLoader = function ModLoader(ModsArr) { + window.ModLoader = async function ModLoader(ModsArr) { if (!window.eaglerMLoaderMainRun) { var searchParams = new URLSearchParams(location.search); searchParams.getAll("Mod").forEach((ModToAdd) => { @@ -16,11 +22,71 @@ function loadLoader() { eaglercraftXOpts.Mods.forEach((ModToAdd) => { console.log( "EaglerML: Adding Mod to loadlist from eaglercraftXOpts: " + - ModToAdd + ModToAdd ); ModsArr.push(ModToAdd); }); } + + //Reverse engineer eaglercraftx virtual file system to gain external access to mod store WITHOUT messing with java teavm nonsense + var StoreId = null; + var decoder = new TextDecoder("utf-8"); + console.log("EaglerML: Searching in iDB"); + try { + var dbs = await indexedDB.databases(); + for (let i=0; i= ModsArr.length) { clearInterval(identifier); @@ -127,7 +193,7 @@ function loadLoader() { console.log( "EaglerML: Starting to load " + ModsArr.length + " Mods..." ); - window.returntotalloadedmods = function returntotalloadedmods(){ + window.returnTotalLoadedMods = function returnTotalLoadedMods() { return totalLoaded } }; diff --git a/sources/setup/workspace_template/javascript/OfflineDownloadTemplate.txt b/sources/setup/workspace_template/javascript/OfflineDownloadTemplate.txt index 90cdc12..13a857f 100644 --- a/sources/setup/workspace_template/javascript/OfflineDownloadTemplate.txt +++ b/sources/setup/workspace_template/javascript/OfflineDownloadTemplate.txt @@ -160,8 +160,14 @@ function initAPI(version) { }