2019-04-27 08:26:04 +02:00
From d11a8e763b8d40afcfb60ecbda4c3c53a111b005 Mon Sep 17 00:00:00 2001
2016-12-20 05:08:31 +01:00
From: Aikar <aikar@aikar.co>
Date: Mon, 19 Dec 2016 23:07:42 -0500
Subject: [PATCH] Prevent Pathfinding out of World Border
This prevents Entities from trying to run outside of the World Border
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
2019-04-27 08:26:04 +02:00
index 2a391be28..0586597e7 100644
2016-12-20 05:08:31 +01:00
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
2019-04-27 08:26:04 +02:00
@@ -100,6 +100,7 @@ public abstract class NavigationAbstract {
2016-12-20 05:08:31 +01:00
@Nullable
2019-04-27 08:26:04 +02:00
protected PathEntity a(BlockPosition blockposition, Entity target, double d0, double d1, double d2, int i, boolean flag) {
// Paper end
2016-12-20 05:08:31 +01:00
+ if (!getEntity().getWorld().getWorldBorder().isInBounds(blockposition)) return null; // Paper - don't path out of world border
2019-04-27 08:26:04 +02:00
if (!this.a()) {
2016-12-20 05:08:31 +01:00
return null;
} else if (this.c != null && !this.c.b() && blockposition.equals(this.q)) {
diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java
2019-04-27 08:26:04 +02:00
index 94d1c2be1..51739e254 100644
2016-12-20 05:08:31 +01:00
--- a/src/main/java/net/minecraft/server/WorldBorder.java
+++ b/src/main/java/net/minecraft/server/WorldBorder.java
2018-08-26 20:11:49 +02:00
@@ -19,7 +19,7 @@ public class WorldBorder {
public WorldBorder() {}
2016-12-20 05:08:31 +01:00
- public boolean a(BlockPosition blockposition) {
2019-04-27 08:26:04 +02:00
+ public final boolean isInBounds(BlockPosition blockposition) { return this.a(blockposition); } public boolean a(BlockPosition blockposition) { // Paper - OBFHELPER
return (double) (blockposition.getX() + 1) > this.c() && (double) blockposition.getX() < this.e() && (double) (blockposition.getZ() + 1) > this.d() && (double) blockposition.getZ() < this.f();
2016-12-20 05:08:31 +01:00
}
--
2019-04-22 23:36:14 +02:00
2.21.0
2016-12-20 05:08:31 +01:00