DeprecatedCommands.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package me.km.snuviscript.commands;
  2. import me.hammerle.snuviscript.code.ScriptManager;
  3. import me.km.databank.DataBank;
  4. import me.km.events.CustomEventCaller;
  5. import me.km.permissions.ModCommandManager;
  6. import me.km.permissions.Permissions;
  7. import me.km.playerbank.IPlayerBank;
  8. import me.km.plots.WorldPlotMap;
  9. import me.km.scheduler.SnuviScheduler;
  10. import me.km.snuviscript.IScriptBank;
  11. import me.km.snuviscript.Scripts;
  12. import static me.km.snuviscript.commands.CommandUtils.getId;
  13. import net.minecraft.server.MinecraftServer;
  14. public class DeprecatedCommands {
  15. public static void registerFunctions(ScriptManager sm, Scripts scripts, Permissions perms, SnuviScheduler scheduler,
  16. MinecraftServer server, IPlayerBank playerBank, CustomEventCaller cec, IScriptBank scriptBank,
  17. DataBank dataBank, WorldPlotMap plots, ModCommandManager commands) {
  18. sm.registerFunction("getglobalvar", (sc, in) -> {
  19. Object o = in[0].get(sc);
  20. if(in.length == 2) {
  21. return scriptBank.getVar(in[1].getString(sc), getId(playerBank, o));
  22. }
  23. return scriptBank.getVar(in[1].getString(sc), getId(playerBank, o), in[2].get(sc));
  24. });
  25. sm.registerAlias("getglobalvar", "ggv");
  26. sm.registerConsumer("setglobalvar", (sc, in) -> {
  27. final String value = in[2].getString(sc);
  28. final String var = in[1].getString(sc);
  29. final int id = getId(playerBank, in[0].get(sc));
  30. scheduler.scheduleAsyncTask(() -> {
  31. try {
  32. scriptBank.setVar(value, var, id);
  33. } catch(Exception ex) {
  34. scheduler.scheduleTask(() -> {
  35. sc.getScriptManager().getLogger().print("Worker error", ex, null, sc.getName(), sc, null);
  36. });
  37. }
  38. });
  39. });
  40. sm.registerAlias("setglobalvar", "sgv");
  41. sm.registerConsumer("delglobalvar", (sc, in) -> {
  42. final String var = in[1].getString(sc);
  43. final int id = getId(playerBank, in[0].get(sc));
  44. scheduler.scheduleAsyncTask(() -> {
  45. try {
  46. scriptBank.deleteVar(var, id);
  47. } catch(Exception ex) {
  48. scheduler.scheduleTask(() -> {
  49. sc.getScriptManager().getLogger().print("Worker error", ex, null, sc.getName(), sc, null);
  50. });
  51. }
  52. });
  53. });
  54. sm.registerAlias("delglobalvar", "dgv");
  55. }
  56. }