diff --git a/Spigot-Server-Patches/Optimize-Navigation-Listener.patch b/Spigot-Server-Patches/Optimize-Navigation-Listener.patch index 5b2d38a9b..b47e6a816 100644 --- a/Spigot-Server-Patches/Optimize-Navigation-Listener.patch +++ b/Spigot-Server-Patches/Optimize-Navigation-Listener.patch @@ -66,6 +66,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 - for (int k = 0; k < j; ++k) { - NavigationAbstract navigationabstract = anavigationabstract1[k]; + */ ++ // DO NOT USE AN ITERATOR! This must be a for (;;) to avoid CME. ++ // This is perfectly safe, as additions are ok to be done in this iteration ++ // and Removals are queued instead of immediate. + for (int k = 0; k < this.navigators.size(); ++k) { + NavigationAbstract navigationabstract = this.navigators.get(k); + // Paper end