diff options
author | SoSeDiK <[email protected]> | 2024-05-01 13:00:11 +0300 |
---|---|---|
committer | GitHub <[email protected]> | 2024-05-01 12:00:11 +0200 |
commit | 4cfd9e25fad4ab9a40452acb090467249c19d105 (patch) | |
tree | db41a3ef161169689f451b4ad1a1beb3adf4690e | |
parent | 3e0eb4a1baa5df5847f69982c78814bf9757cb97 (diff) | |
download | Paper-4cfd9e25fad4ab9a40452acb090467249c19d105.tar.gz Paper-4cfd9e25fad4ab9a40452acb090467249c19d105.zip |
Expose canReach to mob pathfinding API (#10636)
-rw-r--r-- | patches/api/0148-Mob-Pathfinding-API.patch | 12 | ||||
-rw-r--r-- | patches/server/0249-Mob-Pathfinding-API.patch | 9 |
2 files changed, 17 insertions, 4 deletions
diff --git a/patches/api/0148-Mob-Pathfinding-API.patch b/patches/api/0148-Mob-Pathfinding-API.patch index ebd31df062..83fb575817 100644 --- a/patches/api/0148-Mob-Pathfinding-API.patch +++ b/patches/api/0148-Mob-Pathfinding-API.patch @@ -13,10 +13,10 @@ You can use EntityPathfindEvent to cancel new pathfinds from overriding your cur diff --git a/src/main/java/com/destroystokyo/paper/entity/Pathfinder.java b/src/main/java/com/destroystokyo/paper/entity/Pathfinder.java new file mode 100644 -index 0000000000000000000000000000000000000000..43f062257472a06e9e64c2feef6c3b1012aee00e +index 0000000000000000000000000000000000000000..3c1e2c93d923a683cc0455af77c43784ef12270e --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/entity/Pathfinder.java -@@ -0,0 +1,212 @@ +@@ -0,0 +1,220 @@ +package com.destroystokyo.paper.entity; + +import org.bukkit.Location; @@ -227,6 +227,14 @@ index 0000000000000000000000000000000000000000..43f062257472a06e9e64c2feef6c3b10 + * @return The closest point the path can get to the target location + */ + @Nullable Location getFinalPoint(); ++ ++ /** ++ * Checks whether the final point can be reached ++ * ++ * @return whether the final point can be reached ++ * @see #getFinalPoint() ++ */ ++ boolean canReachFinalPoint(); + } +} diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java diff --git a/patches/server/0249-Mob-Pathfinding-API.patch b/patches/server/0249-Mob-Pathfinding-API.patch index 2adce44ac3..7cf9f7d7fa 100644 --- a/patches/server/0249-Mob-Pathfinding-API.patch +++ b/patches/server/0249-Mob-Pathfinding-API.patch @@ -12,10 +12,10 @@ public net.minecraft.world.level.pathfinder.Path nodes diff --git a/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java new file mode 100644 -index 0000000000000000000000000000000000000000..064712e7b27a200b29c72076a82f4f5611fa507f +index 0000000000000000000000000000000000000000..3dbe4cf29a7984a1976a60bdeeb3ede02316a3cb --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java -@@ -0,0 +1,143 @@ +@@ -0,0 +1,148 @@ +package com.destroystokyo.paper.entity; + +import org.apache.commons.lang.Validate; @@ -132,6 +132,11 @@ index 0000000000000000000000000000000000000000..064712e7b27a200b29c72076a82f4f56 + } + + @Override ++ public boolean canReachFinalPoint() { ++ return path.canReach(); ++ } ++ ++ @Override + public List<Location> getPoints() { + List<Location> points = new ArrayList<>(); + for (Node point : path.nodes) { |