aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/unapplied/server/0866-Skip-POI-finding-if-stuck-in-vehicle.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/unapplied/server/0866-Skip-POI-finding-if-stuck-in-vehicle.patch')
-rw-r--r--patches/unapplied/server/0866-Skip-POI-finding-if-stuck-in-vehicle.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/patches/unapplied/server/0866-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/unapplied/server/0866-Skip-POI-finding-if-stuck-in-vehicle.patch
new file mode 100644
index 0000000000..a4dcac44ac
--- /dev/null
+++ b/patches/unapplied/server/0866-Skip-POI-finding-if-stuck-in-vehicle.patch
@@ -0,0 +1,32 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Paul Sauve <[email protected]>
+Date: Thu, 18 Feb 2021 13:13:27 -0600
+Subject: [PATCH] Skip POI finding if stuck in vehicle
+
+Copyright (C) 2020 Technove LLC
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
+index 21e50342598f7cd9efa1a39e70bd72d152d98812..e8aa27547e3fa1a42720889c7038d4fb0273e7b5 100644
+--- a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
++++ b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
+@@ -57,6 +57,7 @@ public class AcquirePoi {
+ return false;
+ } else {
+ mutableLong.setValue(time + 20L + (long)world.getRandom().nextInt(20));
++ if (entity.getNavigation().isStuck()) mutableLong.add(200); // Paper - Perf: Wait an additional 10s to check again if they're stuck
+ PoiManager poiManager = world.getPoiManager();
+ long2ObjectMap.long2ObjectEntrySet().removeIf(entry -> !entry.getValue().isStillValid(time));
+ Predicate<BlockPos> predicate2 = pos -> {