EaglerForge/sources/main/java/net/eaglerforge/api/ModLoader.java

31 lines
1004 B
Java

package net.eaglerforge.api;
import org.teavm.jso.JSBody;
public class ModLoader {
public static String[] Mods = {};
@JSBody(params = { "Mods" }, script = "globalThis.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();
@JSBody(params = {}, script = "return (returnTotalLoadedMods || (()=>{return 0}))();")
public static native int returnTotalLoadedMods();
public static void saveModsToLocalStorage() {
saveMods(Mods);
};
public static void loadModsFromLocalStorage() {
Mods = retrieveMods();
};
}