From ca4116d4675e3f272c58056cc915e9887ff105ef Mon Sep 17 00:00:00 2001 From: zhangyuheng Date: Sun, 25 Feb 2024 00:53:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=9C=A8=E9=A2=86=E5=9C=B0=E5=86=85=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E5=88=A4=E6=96=AD=E6=89=80=E5=B1=9E=E4=B8=96=E7=95=8C?= =?UTF-8?q?=E7=9A=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/java/cn/lunadeer/dominion/Cache.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 86fc78c..e0c951b 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cn.lunadeer Dominion - 1.10.5-beta + 1.10.6-beta jar Dominion diff --git a/src/main/java/cn/lunadeer/dominion/Cache.java b/src/main/java/cn/lunadeer/dominion/Cache.java index 625061e..b3e5225 100644 --- a/src/main/java/cn/lunadeer/dominion/Cache.java +++ b/src/main/java/cn/lunadeer/dominion/Cache.java @@ -6,6 +6,7 @@ import cn.lunadeer.dominion.utils.Notification; import cn.lunadeer.dominion.utils.XLogger; import net.kyori.adventure.text.Component; import org.bukkit.Location; +import org.bukkit.World; import org.bukkit.entity.Player; import javax.annotation.Nullable; @@ -154,7 +155,7 @@ public class Cache { List in_dominions = new ArrayList<>(); for (Integer id : dominions_id) { DominionDTO d = id_dominions.get(id); - if (isInDominion(d, loc.getX(), loc.getY(), loc.getZ())) { + if (isInDominion(d, loc)) { in_dominions.add(d); } } @@ -178,6 +179,7 @@ public class Cache { private static boolean isInDominion(@Nullable DominionDTO dominion, Player player) { if (dominion == null) return false; + if (!Objects.equals(dominion.getWorld(), player.getWorld().getName())) return false; double x = player.getLocation().getX(); double y = player.getLocation().getY(); double z = player.getLocation().getZ(); @@ -186,8 +188,12 @@ public class Cache { z >= dominion.getZ1() && z <= dominion.getZ2(); } - private static boolean isInDominion(@Nullable DominionDTO dominion, double x, double y, double z) { + private static boolean isInDominion(@Nullable DominionDTO dominion, Location location) { if (dominion == null) return false; + if (!Objects.equals(dominion.getWorld(), location.getWorld().getName())) return false; + double x = location.getX(); + double y = location.getY(); + double z = location.getZ(); return x >= dominion.getX1() && x <= dominion.getX2() && y >= dominion.getY1() && y <= dominion.getY2() && z >= dominion.getZ1() && z <= dominion.getZ2();