package me.km.snuviscript.commands; import me.hammerle.snuviscript.code.ScriptManager; import me.km.databank.DataBank; import me.km.events.CustomEventCaller; import me.km.permissions.ModCommandManager; import me.km.permissions.Permissions; import me.km.playerbank.IPlayerBank; import me.km.plots.WorldPlotMap; import me.km.scheduler.SnuviScheduler; import me.km.snuviscript.IScriptBank; import me.km.snuviscript.Scripts; import static me.km.snuviscript.commands.CommandUtils.getId; import net.minecraft.server.MinecraftServer; public class DeprecatedCommands { public static void registerFunctions(ScriptManager sm, Scripts scripts, Permissions perms, SnuviScheduler scheduler, MinecraftServer server, IPlayerBank playerBank, CustomEventCaller cec, IScriptBank scriptBank, DataBank dataBank, WorldPlotMap plots, ModCommandManager commands) { sm.registerFunction("getglobalvar", (sc, in) -> { Object o = in[0].get(sc); if(in.length == 2) { return scriptBank.getVar(in[1].getString(sc), getId(playerBank, o)); } return scriptBank.getVar(in[1].getString(sc), getId(playerBank, o), in[2].get(sc)); }); sm.registerAlias("getglobalvar", "ggv"); sm.registerConsumer("setglobalvar", (sc, in) -> { final String value = in[2].getString(sc); final String var = in[1].getString(sc); final int id = getId(playerBank, in[0].get(sc)); scheduler.scheduleAsyncTask(() -> { try { scriptBank.setVar(value, var, id); } catch(Exception ex) { scheduler.scheduleTask(() -> { sc.getScriptManager().getLogger().print("Worker error", ex, null, sc.getName(), sc, null); }); } }); }); sm.registerAlias("setglobalvar", "sgv"); sm.registerConsumer("delglobalvar", (sc, in) -> { final String var = in[1].getString(sc); final int id = getId(playerBank, in[0].get(sc)); scheduler.scheduleAsyncTask(() -> { try { scriptBank.deleteVar(var, id); } catch(Exception ex) { scheduler.scheduleTask(() -> { sc.getScriptManager().getLogger().print("Worker error", ex, null, sc.getName(), sc, null); }); } }); }); sm.registerAlias("delglobalvar", "dgv"); } }