diff --git a/sources/src/main/java/net/minecraft/server/PlayerChunkMap.java b/sources/src/main/java/net/minecraft/server/PlayerChunkMap.java index fdeb2585c..e47f98a69 100644 --- a/sources/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/sources/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -16,7 +16,6 @@ import java.util.List; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.locks.ReentrantReadWriteLock; import javax.annotation.Nullable; @@ -58,7 +57,7 @@ public class PlayerChunkMap { private final Set f = Sets.newHashSet(); private final List g = Lists.newLinkedList(); private final List h = Lists.newLinkedList(); - private final List i = Lists.newArrayList(); + private final List i = Lists.newCopyOnWriteArrayList(); // Akarin - bad plugin will access this private AtomicInteger j = new AtomicInteger(); public int getViewDistance() { return j.get(); } // Paper OBFHELPER // Akarin - atmoic private long k; private AtomicBoolean l = new AtomicBoolean(true); // Akarin - atmoic @@ -74,10 +73,10 @@ public class PlayerChunkMap { return this.world; } - public synchronized Iterator b() { // Akarin - synchronized + public Iterator b() { final Iterator iterator = this.i.iterator(); - return new AbstractIterator() { + return new AbstractIterator() { protected Chunk a() { while (true) { if (iterator.hasNext()) { @@ -107,7 +106,7 @@ public class PlayerChunkMap { } } - protected Object computeNext() { + protected Chunk computeNext() { return this.a(); } };