Oops
This commit is contained in:
@@ -14,8 +14,7 @@ import org.apache.logging.log4j.Logger;
|
|||||||
/**
|
/**
|
||||||
* <b>Akarin Changes Note</b><br>
|
* <b>Akarin Changes Note</b><br>
|
||||||
* <br>
|
* <br>
|
||||||
* 1) Make entries-set concurrent<br>
|
* 1) Add lock for entries-set operations<br>
|
||||||
* 2) Add lock for entries-set operations<br>
|
|
||||||
* @author cakoyo
|
* @author cakoyo
|
||||||
*/
|
*/
|
||||||
public class EntityTracker {
|
public class EntityTracker {
|
||||||
@@ -23,7 +22,7 @@ public class EntityTracker {
|
|||||||
private static final Logger a = LogManager.getLogger();
|
private static final Logger a = LogManager.getLogger();
|
||||||
private final WorldServer world;
|
private final WorldServer world;
|
||||||
private final Set<EntityTrackerEntry> c = Sets.newHashSet();
|
private final Set<EntityTrackerEntry> c = Sets.newHashSet();
|
||||||
private final ReentrantLock entriesLock = new ReentrantLock(); // Akarin - add lock
|
public final ReentrantLock entriesLock = new ReentrantLock(); // Akarin - add lock
|
||||||
public final IntHashMap<EntityTrackerEntry> trackedEntities = new IntHashMap();
|
public final IntHashMap<EntityTrackerEntry> trackedEntities = new IntHashMap();
|
||||||
private int e;
|
private int e;
|
||||||
|
|
||||||
|
|||||||
@@ -1161,7 +1161,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|||||||
|
|
||||||
EntityTrackerEntry entry = tracker.trackedEntities.get(other.getId());
|
EntityTrackerEntry entry = tracker.trackedEntities.get(other.getId());
|
||||||
if (entry != null && !entry.trackedPlayers.contains(getHandle())) {
|
if (entry != null && !entry.trackedPlayers.contains(getHandle())) {
|
||||||
|
tracker.entriesLock.lock(); // Akarin
|
||||||
entry.updatePlayer(getHandle());
|
entry.updatePlayer(getHandle());
|
||||||
|
tracker.entriesLock.unlock(); // Akarin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Paper start
|
// Paper start
|
||||||
|
|||||||
Reference in New Issue
Block a user