From 58655fc45e67ec1a999c97d9cf2bfdac6df3a440 Mon Sep 17 00:00:00 2001 From: fullwall Date: Mon, 3 Jul 2023 02:12:40 +0800 Subject: [PATCH] Implement wander worldguard region change --- .../trait/waypoint/WanderWaypointProvider.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/main/src/main/java/net/citizensnpcs/trait/waypoint/WanderWaypointProvider.java b/main/src/main/java/net/citizensnpcs/trait/waypoint/WanderWaypointProvider.java index d91eb7506..c46b90d53 100644 --- a/main/src/main/java/net/citizensnpcs/trait/waypoint/WanderWaypointProvider.java +++ b/main/src/main/java/net/citizensnpcs/trait/waypoint/WanderWaypointProvider.java @@ -168,9 +168,6 @@ public class WanderWaypointProvider return; } WanderWaypointProvider.this.worldguardRegion = regionId; - if (currentGoal != null) { - currentGoal.setWorldGuardRegion(region); - } Messaging.sendErrorTr(sender, Messages.WANDER_WAYPOINTS_WORLDGUARD_REGION_SET, regionId); }); } else if (message.startsWith("pathfind")) { @@ -234,12 +231,12 @@ public class WanderWaypointProvider } public Object getWorldGuardRegion() { - if (worldguardRegion == null) { + if (worldguardRegion == null) return null; - } - if (worldguardRegionCache != null) { + + if (worldguardRegionCache != null) return worldguardRegionCache; - } + try { RegionManager manager = WorldGuard.getInstance().getPlatform().getRegionContainer() .get(BukkitAdapter.adapt(npc.getStoredLocation().getWorld())); @@ -270,7 +267,7 @@ public class WanderWaypointProvider this.npc = npc; if (currentGoal == null) { currentGoal = WanderGoal.builder(npc).xrange(xrange).yrange(yrange).fallback(this).tree(this).delay(delay) - .worldguardRegion(getWorldGuardRegion()).build(); + .worldguardRegion(() -> getWorldGuardRegion()).build(); if (paused) { currentGoal.pause(); }