diff options
Diffstat (limited to 'nms-patches/PathfinderGoalSelector.patch')
-rw-r--r-- | nms-patches/PathfinderGoalSelector.patch | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/nms-patches/PathfinderGoalSelector.patch b/nms-patches/PathfinderGoalSelector.patch index c2452a08..2aee5af4 100644 --- a/nms-patches/PathfinderGoalSelector.patch +++ b/nms-patches/PathfinderGoalSelector.patch @@ -1,6 +1,6 @@ ---- ../work/decompile-8eb82bde//net/minecraft/server/PathfinderGoalSelector.java 2014-11-28 17:43:43.305707430 +0000 -+++ src/main/java/net/minecraft/server/PathfinderGoalSelector.java 2014-11-28 17:38:21.000000000 +0000 -@@ -6,11 +6,15 @@ +--- /home/matt/mc-dev-private//net/minecraft/server/PathfinderGoalSelector.java 2015-02-26 22:40:22.967608135 +0000 ++++ src/main/java/net/minecraft/server/PathfinderGoalSelector.java 2015-02-26 22:40:22.971608135 +0000 +@@ -6,11 +6,13 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,23 +9,21 @@ 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 List<PathfinderGoalSelector.PathfinderGoalSelectorItem> b = Lists.newArrayList(); +- private List<PathfinderGoalSelector.PathfinderGoalSelectorItem> c = Lists.newArrayList(); ++ private List<PathfinderGoalSelector.PathfinderGoalSelectorItem> b = new UnsafeList<PathfinderGoalSelector.PathfinderGoalSelectorItem>(); ++ private List<PathfinderGoalSelector.PathfinderGoalSelectorItem> c = new UnsafeList<PathfinderGoalSelector.PathfinderGoalSelectorItem>(); 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)) { +@@ -107,9 +109,11 @@ + if (pathfindergoalselector_pathfindergoalselectoritem1 != pathfindergoalselector_pathfindergoalselectoritem) { + if (pathfindergoalselector_pathfindergoalselectoritem.b >= pathfindergoalselector_pathfindergoalselectoritem1.b) { + if (!this.a(pathfindergoalselector_pathfindergoalselectoritem, pathfindergoalselector_pathfindergoalselectoritem1) && this.c.contains(pathfindergoalselector_pathfindergoalselectoritem1)) { + ((UnsafeList.Itr) iterator).valid = false; // CraftBukkit - mark iterator for reuse return false; } - } else if (!pathfindergoalselectoritem1.a.i() && this.c.contains(pathfindergoalselectoritem1)) { + } else if (!pathfindergoalselector_pathfindergoalselectoritem1.a.i() && this.c.contains(pathfindergoalselector_pathfindergoalselectoritem1)) { + ((UnsafeList.Itr) iterator).valid = false; // CraftBukkit - mark iterator for reuse return false; } |