From 0d2cbcd1cd902b461355ed9d95c9e333cce01c6f Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Mon, 19 Feb 2024 13:45:45 +0330 Subject: [PATCH] v1.1.1 --- .../net/minecraft/client/Minecraft.edit.java | 11 ++++++-- .../assets/minecraft/lang/en_US.edit.lang | 2 +- .../java/net/eaglerforge/EaglerForge.java | 3 +-- .../main/java/net/eaglerforge/api/ModAPI.java | 8 +++--- .../java/net/eaglerforge/api/ModLoader.java | 27 +++++++++++++++++++ .../java/net/eaglerforge/api/PlatformAPI.java | 9 +++---- .../eaglercraft/v1_8/EaglercraftVersion.java | 2 +- 7 files changed, 47 insertions(+), 15 deletions(-) create mode 100644 sources/main/java/net/eaglerforge/api/ModLoader.java diff --git a/patches/minecraft/net/minecraft/client/Minecraft.edit.java b/patches/minecraft/net/minecraft/client/Minecraft.edit.java index 8705969..922b599 100644 --- a/patches/minecraft/net/minecraft/client/Minecraft.edit.java +++ b/patches/minecraft/net/minecraft/client/Minecraft.edit.java @@ -20,12 +20,13 @@ > DELETE 1 @ 1 : 4 -> CHANGE 1 : 54 @ 1 : 4 +> CHANGE 1 : 55 @ 1 : 4 ~ ~ import net.eaglerforge.EaglerForge; ~ import net.eaglerforge.api.ModAPI; ~ import net.eaglerforge.api.ModData; +~ import net.eaglerforge.api.ModLoader; ~ import net.lax1dude.eaglercraft.v1_8.internal.PlatformInput; ~ ~ import org.apache.commons.lang3.Validate; @@ -300,7 +301,13 @@ + this.displayGuiScreen(new GuiScreenEditProfile(mainMenu)); + -> DELETE 3 @ 3 : 15 +> DELETE 3 @ 3 : 6 + +> CHANGE 1 : 4 @ 1 : 9 + +~ ModLoader.loadLoader(); +~ ModLoader.loadModsFromLocalStorage(); +~ ModLoader.loadMods(ModLoader.Mods); > CHANGE 16 : 17 @ 16 : 24 diff --git a/patches/resources/assets/minecraft/lang/en_US.edit.lang b/patches/resources/assets/minecraft/lang/en_US.edit.lang index 758ef34..c619ba2 100644 --- a/patches/resources/assets/minecraft/lang/en_US.edit.lang +++ b/patches/resources/assets/minecraft/lang/en_US.edit.lang @@ -9,7 +9,7 @@ ~ eaglercraft.recording.unsupported=Recording Unsupported! ~ eaglercraft.recording.stop=Stop Recording -~ eaglercraft.recording.start=reen... +~ eaglercraft.recording.start=Record Screen... ~ eaglercraft.soundCategory.voice=Voice > INSERT 1 : 202 @ 1 diff --git a/sources/main/java/net/eaglerforge/EaglerForge.java b/sources/main/java/net/eaglerforge/EaglerForge.java index c9651c2..de00ff7 100644 --- a/sources/main/java/net/eaglerforge/EaglerForge.java +++ b/sources/main/java/net/eaglerforge/EaglerForge.java @@ -4,7 +4,7 @@ import net.lax1dude.eaglercraft.v1_8.log4j.LogManager; import net.lax1dude.eaglercraft.v1_8.log4j.Logger; import org.teavm.jso.JSBody; -import net.eaglerforge.gui.ModLoader; +import net.eaglerforge.api.ModLoader; public class EaglerForge { public static final Logger log = LogManager.getLogger(); @@ -24,6 +24,5 @@ public class EaglerForge { public static void init() { log.info("Starting EaglerForge!"); log.info("Loading Mods..."); - ModLoader.loadLoader(); } } diff --git a/sources/main/java/net/eaglerforge/api/ModAPI.java b/sources/main/java/net/eaglerforge/api/ModAPI.java index 9f99c2d..c7b3b10 100644 --- a/sources/main/java/net/eaglerforge/api/ModAPI.java +++ b/sources/main/java/net/eaglerforge/api/ModAPI.java @@ -60,6 +60,10 @@ public class ModAPI { this.mc = mcIn; requiredList = new ArrayList(); initAPI(version); + + newEvent("load"); + newEvent("gui"); + newEvent("update"); globalsFunctor(this); globalsRequireFunctor(this); @@ -81,9 +85,7 @@ public class ModAPI { setGlobal("mcinstance", mc); setGlobal("platform", PlatformAPI.makeModData()); setGlobal("logger", LoggerAPI.makeModData()); - - -/* getModAPI().setCallbackVoidWithDataArg("drawStringWithShadow", (BaseData params) -> { + /*getModAPI().setCallbackVoidWithDataArg("drawStringWithShadow", (BaseData params) -> { mc.ingameGUI.getFontRenderer().drawStringWithShadow(params.getString("msg"), params.getFloat("x"), params.getFloat("y"), params.getInt("color")); });*/ ModGUI.loadFont(); diff --git a/sources/main/java/net/eaglerforge/api/ModLoader.java b/sources/main/java/net/eaglerforge/api/ModLoader.java new file mode 100644 index 0000000..7a3f062 --- /dev/null +++ b/sources/main/java/net/eaglerforge/api/ModLoader.java @@ -0,0 +1,27 @@ +package net.eaglerforge.api; + +import org.teavm.jso.JSBody; + +public class ModLoader { + public static String[] Mods = {}; + + @JSBody(params = { "Mods" }, script = "window.ModLoader(Mods);") + public static native void loadMods(String[] Mods); + + @JSBody(params = {}, script = "loadLoader();") + public static native void loadLoader(); + + @JSBody(params = { "Mods" }, script = "localStorage.setItem('ml::Mods', JSON.stringify(Mods))") + private static native void saveMods(String[] Mods); + + @JSBody(params = {}, script = "try { return JSON.parse(localStorage.getItem('ml::Mods')||'[]') } catch(err) {return []}") + private static native String[] retrieveMods(); + + public static void saveModsToLocalStorage() { + saveMods(Mods); + }; + + public static void loadModsFromLocalStorage() { + Mods = retrieveMods(); + }; +} \ No newline at end of file diff --git a/sources/main/java/net/eaglerforge/api/PlatformAPI.java b/sources/main/java/net/eaglerforge/api/PlatformAPI.java index 1dba96e..7451135 100644 --- a/sources/main/java/net/eaglerforge/api/PlatformAPI.java +++ b/sources/main/java/net/eaglerforge/api/PlatformAPI.java @@ -7,7 +7,7 @@ import org.teavm.jso.JSBody; public class PlatformAPI { @JSBody(params = { }, script = "return navigator.platform;") - public static native boolean getplatformOS(); + public static native void getplatformOS(); public static ModData makeModData() { ModData platformGlobal = new ModData(); platformGlobal.setCallbackBoolean("isOfflineDownload", () -> { @@ -31,15 +31,12 @@ public class PlatformAPI { platformGlobal.setCallbackBoolean("recSupported", () -> { return EagRuntime.recSupported(); }); - platformGlobal.setCallbackString("getRecText", () -> { - return EagRuntime.getRecText(); - }); platformGlobal.setCallbackVoid("toggleRec", () -> { EagRuntime.toggleRec(); }); - platformGlobal.setCallbackBoolean("getPlatformOS", () -> { + platformGlobal.setCallbackVoid("getPlatformOS", () -> { //return EagRuntime.getPlatformOS(); - return getplatformOS(); + getplatformOS(); }); return platformGlobal; } diff --git a/sources/main/java/net/lax1dude/eaglercraft/v1_8/EaglercraftVersion.java b/sources/main/java/net/lax1dude/eaglercraft/v1_8/EaglercraftVersion.java index 396a253..59262a2 100644 --- a/sources/main/java/net/lax1dude/eaglercraft/v1_8/EaglercraftVersion.java +++ b/sources/main/java/net/lax1dude/eaglercraft/v1_8/EaglercraftVersion.java @@ -11,7 +11,7 @@ public class EaglercraftVersion { /// Customize these to fit your fork: public static final String projectForkName = "EaglerForge"; - public static final String projectForkVersion = "v1"; + public static final String projectForkVersion = "v1.1"; public static final String projectForkVendor = "radmanplays"; public static final String projectForkURL = "https://github.com/eaglerforge/EaglerForge";