Follow vanilla settings behavior. Fixes BUKKIT-5069

A vanilla server does a series of checks for the client black-listing
certain chat types (commands or chat). This change changes a CB
whitelist to the vanilla blacklist behavior.
Dieser Commit ist enthalten in:
Wesley Wolfe 2013-12-06 16:44:32 -06:00
Ursprung dc86362c9a
Commit 70747ca28b

Datei anzeigen

@ -758,7 +758,7 @@ public class PlayerConnection implements PacketPlayInListener {
} }
public void a(PacketPlayInChat packetplayinchat) { public void a(PacketPlayInChat packetplayinchat) {
if (this.player.getChatFlags() == EnumChatVisibility.HIDDEN) { if (this.player.dead || this.player.getChatFlags() == EnumChatVisibility.HIDDEN) { // CraftBukkit - dead men tell no tales
ChatMessage chatmessage = new ChatMessage("chat.cannotSend", new Object[0]); ChatMessage chatmessage = new ChatMessage("chat.cannotSend", new Object[0]);
chatmessage.b().setColor(EnumChatFormat.RED); chatmessage.b().setColor(EnumChatFormat.RED);
@ -835,14 +835,13 @@ public class PlayerConnection implements PacketPlayInListener {
// CraftBukkit start // CraftBukkit start
public void chat(String s, boolean async) { public void chat(String s, boolean async) {
if (s.isEmpty()) { if (s.isEmpty() || this.player.getChatFlags() == EnumChatVisibility.HIDDEN) {
return; return;
} }
if (!this.player.dead) {
if (s.startsWith("/")) { if (s.startsWith("/")) {
this.handleCommand(s); this.handleCommand(s);
} else if (this.player.getChatFlags() != EnumChatVisibility.FULL) { } else if (this.player.getChatFlags() == EnumChatVisibility.SYSTEM) {
// Do nothing, this is coming from a plugin // Do nothing, this is coming from a plugin
} else { } else {
Player player = this.getPlayer(); Player player = this.getPlayer();
@ -906,7 +905,6 @@ public class PlayerConnection implements PacketPlayInListener {
} }
} }
} }
}
// CraftBukkit end // CraftBukkit end
private void handleCommand(String s) { private void handleCommand(String s) {