From 3e263bed97a1886b89304f43c0e95e50673772db Mon Sep 17 00:00:00 2001 From: fullwall Date: Sat, 17 Jun 2023 00:15:19 +0800 Subject: [PATCH] Modernise runTriggers --- .../net/citizensnpcs/trait/waypoint/Waypoint.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/main/src/main/java/net/citizensnpcs/trait/waypoint/Waypoint.java b/main/src/main/java/net/citizensnpcs/trait/waypoint/Waypoint.java index 2aa33c8a1..8847ac534 100644 --- a/main/src/main/java/net/citizensnpcs/trait/waypoint/Waypoint.java +++ b/main/src/main/java/net/citizensnpcs/trait/waypoint/Waypoint.java @@ -116,21 +116,18 @@ public class Waypoint implements Locatable { } private void runTriggers(final NPC npc, int start) { + List triggers = Lists.newArrayList(this.triggers); for (int i = start; i < triggers.size(); i++) { WaypointTrigger trigger = triggers.get(i); - trigger.onWaypointReached(npc, location); + trigger.onWaypointReached(npc, location.clone()); if (!(trigger instanceof DelayTrigger)) continue; int delay = ((DelayTrigger) trigger).getDelay(); if (delay <= 0) continue; final int newStart = i + 1; - Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), new Runnable() { - @Override - public void run() { - runTriggers(npc, newStart); - } - }, delay); + Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), () -> runTriggers(npc, newStart), + delay); break; } }