66import ch .njol .skript .lang .SkriptEvent ;
77import ch .njol .skript .lang .SkriptParser .ParseResult ;
88import ch .njol .skript .util .Time ;
9+ import org .bukkit .Bukkit ;
910import org .bukkit .event .Event ;
1011import org .bukkit .event .HandlerList ;
1112import org .jetbrains .annotations .NotNull ;
@@ -82,8 +83,9 @@ public void run() {
8283 @ Override
8384 public void unload () {
8485 unloaded = true ;
85- for (TimerTask task : timerTasks )
86+ for (TimerTask task : timerTasks ) {
8687 task .cancel ();
88+ }
8789 TIMER .purge ();
8890 }
8991
@@ -94,14 +96,18 @@ public boolean check(Event event) {
9496
9597 private void execute () {
9698 // Ensure this element wasn't unloaded
97- if (unloaded )
99+ if (unloaded ) {
98100 return ;
99- RealTimeEvent event = new RealTimeEvent ();
100- SkriptEventHandler .logEventStart (event );
101- SkriptEventHandler .logTriggerStart (trigger );
102- trigger .execute (event );
103- SkriptEventHandler .logTriggerEnd (trigger );
104- SkriptEventHandler .logEventEnd ();
101+ }
102+
103+ Bukkit .getScheduler ().scheduleSyncDelayedTask (Skript .getInstance (), () -> {
104+ RealTimeEvent event = new RealTimeEvent ();
105+ SkriptEventHandler .logEventStart (event );
106+ SkriptEventHandler .logTriggerStart (trigger );
107+ trigger .execute (event );
108+ SkriptEventHandler .logTriggerEnd (trigger );
109+ SkriptEventHandler .logEventEnd ();
110+ });
105111 }
106112
107113 @ Override
0 commit comments