Skip to content

Commit 72dcc95

Browse files
authored
move addDelayedEvent to trigger after the delay finishes (#8299)
move addDelayedEvent to trigger after the delay finishes, rather than before.
1 parent 3ca1789 commit 72dcc95

File tree

4 files changed

+5
-5
lines changed

4 files changed

+5
-5
lines changed

src/main/java/ch/njol/skript/effects/Delay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ protected TriggerItem walk(Event event) {
6868
long start = Skript.debug() ? System.nanoTime() : 0;
6969
TriggerItem next = getNext();
7070
if (next != null && Skript.getInstance().isEnabled()) { // See https://github.com/SkriptLang/Skript/issues/3702
71-
addDelayedEvent(event);
7271

7372
Timespan duration = this.duration.getSingle(event);
7473
if (duration == null)
@@ -78,6 +77,7 @@ protected TriggerItem walk(Event event) {
7877
Object localVars = Variables.removeLocals(event);
7978

8079
Bukkit.getScheduler().scheduleSyncDelayedTask(Skript.getInstance(), () -> {
80+
addDelayedEvent(event);
8181
Skript.debug(getIndentation() + "... continuing after " + (System.nanoTime() - start) / 1_000_000_000. + "s");
8282

8383
// Re-set local variables

src/main/java/ch/njol/skript/effects/EffTeleport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,11 @@ public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelaye
132132
}
133133

134134
final Location fixed = location;
135-
Delay.addDelayedEvent(event);
136135
Object localVars = Variables.removeLocals(event);
137136

138137
// This will either fetch the chunk instantly if on Spigot or already loaded or fetch it async if on Paper.
139138
PaperLib.getChunkAtAsync(location).thenAccept(chunk -> {
139+
Delay.addDelayedEvent(event);
140140
// The following is now on the main thread
141141
SkriptTeleportFlag[] teleportFlags = this.teleportFlags == null ? null : this.teleportFlags.getArray(event);
142142
for (Entity entity : entityArray) {

src/main/java/ch/njol/skript/effects/IndeterminateDelay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ protected TriggerItem walk(Event event) {
2323
TriggerItem next = getNext();
2424

2525
if (next != null && Skript.getInstance().isEnabled()) { // See https://github.com/SkriptLang/Skript/issues/3702
26-
Delay.addDelayedEvent(event);
2726
Timespan duration = this.duration.getSingle(event);
2827
if (duration == null)
2928
return null;
@@ -32,6 +31,7 @@ protected TriggerItem walk(Event event) {
3231
Object localVars = Variables.removeLocals(event);
3332

3433
Bukkit.getScheduler().scheduleSyncDelayedTask(Skript.getInstance(), () -> {
34+
Delay.addDelayedEvent(event);
3535
Skript.debug(getIndentation() + "... continuing after " + (System.nanoTime() - start) / 1_000_000_000. + "s");
3636

3737
// Re-set local variables

src/main/java/ch/njol/skript/util/AsyncEffect.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ public abstract class AsyncEffect extends Effect {
2727
@Nullable
2828
protected TriggerItem walk(Event e) {
2929
debug(e, true);
30-
31-
Delay.addDelayedEvent(e); // Mark this event as delayed
30+
3231
Object localVars = Variables.removeLocals(e); // Back up local variables
3332

3433
if (!Skript.getInstance().isEnabled()) // See https://github.com/SkriptLang/Skript/issues/3702
3534
return null;
3635

3736
Bukkit.getScheduler().runTaskAsynchronously(Skript.getInstance(), () -> {
37+
Delay.addDelayedEvent(e); // Mark this event as delayed
3838
// Re-set local variables
3939
if (localVars != null)
4040
Variables.setLocalVariables(e, localVars);

0 commit comments

Comments
 (0)