ScriptCommands.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package me.km.snuviscript.commands;
  2. import me.hammerle.snuviscript.code.Script;
  3. import me.hammerle.snuviscript.code.ScriptManager;
  4. import me.km.snuviscript.Scripts;
  5. import net.minecraft.server.MinecraftServer;
  6. public class ScriptCommands {
  7. private static void nothing(Script sc) {
  8. }
  9. public static void registerFunctions(ScriptManager sm, Scripts scripts, MinecraftServer server) {
  10. sm.registerConsumer("script.callevent", (sc, in) -> {
  11. String name = in[0].getString(sc);
  12. if(in.length >= 2) {
  13. sm.callEvent(name, (Script) in[1].get(sc), ScriptCommands::nothing, ScriptCommands::nothing);
  14. } else {
  15. sm.callEvent(name, ScriptCommands::nothing, ScriptCommands::nothing);
  16. }
  17. });
  18. sm.registerFunction("script.start", (sc, in) -> {
  19. String[] names = new String[in.length];
  20. for(int i = 0; i < in.length; i++) {
  21. names[i] = in[i].getString(sc);
  22. }
  23. return scripts.startScript(null, names);
  24. });
  25. sm.registerFunction("script.startnamed", (sc, in) -> {
  26. String[] names = new String[in.length - 1];
  27. for(int i = 0; i < names.length; i++) {
  28. names[i] = in[i + 1].getString(sc);
  29. }
  30. return scripts.startScript(in[0].getString(sc), names);
  31. });
  32. }
  33. }