From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Paul Sauve 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 . 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 9fd6cf0c98cbf6300ef23d4aab32a6110aeba665..a0799baca3ae05ef1ff818abfe6a53d28fd99246 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 @@ -47,6 +47,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) -> { return !entry.getValue().isStillValid(time);