PaperMC/nms-patches/PathfinderGoalSelector.patch

31 lines
1.4 KiB
Diff
Raw Normal View History

@@ -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;
}
}