SnuviScript.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package me.hammerle.snuviscript;
  2. import java.io.IOException;
  3. import java.util.List;
  4. import java.util.concurrent.Executors;
  5. import java.util.concurrent.ScheduledExecutorService;
  6. import java.util.concurrent.TimeUnit;
  7. import me.hammerle.snuviscript.code.ISnuviLogger;
  8. import me.hammerle.snuviscript.code.ISnuviScheduler;
  9. import me.hammerle.snuviscript.code.Script;
  10. import me.hammerle.snuviscript.code.SnuviParser;
  11. import me.hammerle.snuviscript.code.SnuviUtils;
  12. import me.hammerle.snuviscript.exceptions.PreScriptException;
  13. import me.hammerle.snuviscript.token.Tokenizer;
  14. public class SnuviScript
  15. {
  16. public static void main(String[] args) throws IOException
  17. {
  18. ISnuviLogger logger = new ISnuviLogger()
  19. {
  20. @Override
  21. public void print(String message, Exception ex, String function, String scriptname, Script sc, int line)
  22. {
  23. System.out.println("________________________________________");
  24. System.out.println("Exception");
  25. if(message != null)
  26. {
  27. System.out.println(" - " + message);
  28. }
  29. if(ex != null)
  30. {
  31. System.out.println(" - " + ex.getClass().getSimpleName());
  32. }
  33. if(function != null)
  34. {
  35. System.out.println(" - Funktion: " + function);
  36. }
  37. if(scriptname != null)
  38. {
  39. System.out.println(" - Script: " + scriptname);
  40. }
  41. if(line != -1)
  42. {
  43. System.out.println(" - Line: " + line);
  44. }
  45. }
  46. };
  47. ISnuviScheduler scheduler = new ISnuviScheduler()
  48. {
  49. @Override
  50. public int scheduleTask(Runnable r)
  51. {
  52. System.out.println("SCHEDULER");
  53. return 0;
  54. }
  55. @Override
  56. public int scheduleTask(Runnable r, long delay)
  57. {
  58. ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
  59. executor.schedule(r, delay, TimeUnit.MILLISECONDS);
  60. executor.shutdown();
  61. return 1;
  62. }
  63. };
  64. SnuviParser parser = new SnuviParser(logger, scheduler);
  65. parser.startScript(true, ".sbasic", "./test");
  66. /*try
  67. {
  68. List<String> list = SnuviUtils.readCode(".sbasic", "./test");
  69. Tokenizer t = new Tokenizer(String.join("\n", list));
  70. t.tokenize();
  71. }
  72. catch(PreScriptException ex)
  73. {
  74. System.out.println(ex);
  75. System.out.println(ex.getStartLine() + " " + ex.getEndLine());
  76. ex.printStackTrace();
  77. }*/
  78. //parser.callEvent("testevent", null, null);
  79. }
  80. /*public static Location getSpawn()
  81. {
  82. // Player changeDimension, WorldServer, MinecraftServer
  83. return KajetansMod.conf.getLocation("spawn");
  84. }
  85. public static void setSpawn(World w, Vec3d v, float yaw, float pitch)
  86. {
  87. SimpleConfig conf = KajetansMod.conf;
  88. conf.setLocation("spawn", new Location(w, v, yaw, pitch));
  89. conf.save();
  90. w.setSpawnPoint(new BlockPos(v.x, v.y, v.z));
  91. }*/
  92. }