diff options
author | Wesley Wolfe <weswolf@aol.com> | 2012-08-03 06:24:55 -0500 |
---|---|---|
committer | Wesley Wolfe <weswolf@aol.com> | 2012-08-03 23:44:45 -0500 |
commit | 02d6703da779a5876ceaf5d2fd2dd9833a7a6621 (patch) | |
tree | 03ac669aa3c8f9f1d91c98142de9d2eb36644f0c /src/main/java/net/minecraft/server/ServerConfigurationManagerAbstract.java | |
parent | 4942f5184a29e945d7b47aaf8b93f668ea20ce28 (diff) | |
download | craftbukkit-02d6703da779a5876ceaf5d2fd2dd9833a7a6621.tar craftbukkit-02d6703da779a5876ceaf5d2fd2dd9833a7a6621.tar.gz craftbukkit-02d6703da779a5876ceaf5d2fd2dd9833a7a6621.tar.lz craftbukkit-02d6703da779a5876ceaf5d2fd2dd9833a7a6621.tar.xz craftbukkit-02d6703da779a5876ceaf5d2fd2dd9833a7a6621.zip |
Implement new AsyncPlayerChatEvent. Addresses BUKKIT-2064
Added two utility collections for use with PlayerChatEvents allowing lazier
initialization of events and less need to synchronize against the player
list.
Provided a hidden queue system for similar logic to pre-1.3 chat. When a
plugin is listening for the deprecated PlayerChatEvent, all chat will be
delayed to be mirror executed from the main thread. All developers are
encouraged to immediately update to the developmental Bukkit chat API as a
minimum transition for server stability.
Additionally, changes were required to bring thread-safety to the flow
logic. CopyOnWriteArrayList is the only viable means to produce thread
safety with minimal diff; using a sane pre-implemented collection would
require reworking of sections of NMS logic.
As a minor change, implemented expected functionality for
PlayerCommandPreProcessEvent. Setting the player should now change the
player executing the command.
Diffstat (limited to 'src/main/java/net/minecraft/server/ServerConfigurationManagerAbstract.java')
-rw-r--r-- | src/main/java/net/minecraft/server/ServerConfigurationManagerAbstract.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main/java/net/minecraft/server/ServerConfigurationManagerAbstract.java b/src/main/java/net/minecraft/server/ServerConfigurationManagerAbstract.java index ba248008..35fa2cdd 100644 --- a/src/main/java/net/minecraft/server/ServerConfigurationManagerAbstract.java +++ b/src/main/java/net/minecraft/server/ServerConfigurationManagerAbstract.java @@ -30,7 +30,7 @@ public abstract class ServerConfigurationManagerAbstract { private static final SimpleDateFormat e = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z"); public static final Logger a = Logger.getLogger("Minecraft"); private final MinecraftServer server; - public final List players = new ArrayList(); + public final List players = new java.util.concurrent.CopyOnWriteArrayList(); // CraftBukkit - ArrayList -> CopyOnWriteArrayList: Iterator safety private final BanList banByName = new BanList(new File("banned-players.txt")); private final BanList banByIP = new BanList(new File("banned-ips.txt")); private Set operators = new HashSet(); |