diff options
Diffstat (limited to 'nms-patches/PathfinderGoalSelector.patch')
-rw-r--r-- | nms-patches/PathfinderGoalSelector.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/nms-patches/PathfinderGoalSelector.patch b/nms-patches/PathfinderGoalSelector.patch new file mode 100644 index 00000000..e4b9428f --- /dev/null +++ b/nms-patches/PathfinderGoalSelector.patch @@ -0,0 +1,32 @@ +--- ../work/decompile-bb26c12b/net/minecraft/server/PathfinderGoalSelector.java 2014-11-27 08:59:46.837421248 +1100 ++++ src/main/java/net/minecraft/server/PathfinderGoalSelector.java 2014-11-27 08:42:10.164850887 +1100 +@@ -6,11 +6,15 @@ + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; + ++import org.bukkit.craftbukkit.util.UnsafeList; // CraftBukkit ++ + public class PathfinderGoalSelector { + + private static final Logger a = LogManager.getLogger(); +- private List b = Lists.newArrayList(); +- private List c = Lists.newArrayList(); ++ // CraftBukkit start - ArrayList -> UnsafeList ++ private List b = new UnsafeList(); ++ private List c = new UnsafeList(); ++ // CraftBukkit end + private final MethodProfiler d; + private int e; + private int f = 3; +@@ -107,9 +111,11 @@ + if (pathfindergoalselectoritem1 != pathfindergoalselectoritem) { + if (pathfindergoalselectoritem.b >= pathfindergoalselectoritem1.b) { + if (!this.a(pathfindergoalselectoritem, pathfindergoalselectoritem1) && this.c.contains(pathfindergoalselectoritem1)) { ++ ((UnsafeList.Itr) iterator).valid = false; // CraftBukkit - mark iterator for reuse + return false; + } + } else if (!pathfindergoalselectoritem1.a.i() && this.c.contains(pathfindergoalselectoritem1)) { ++ ((UnsafeList.Itr) iterator).valid = false; // CraftBukkit - mark iterator for reuse + return false; + } + } |