Added Player.chat().

This commit is contained in:
sk89q 2011-02-16 21:46:01 -08:00
parent 03c118f343
commit 5f940cf764
2 changed files with 36 additions and 20 deletions

View file

@ -585,38 +585,50 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
}
}
if (s.startsWith("/")) {
this.c(s);
// CraftBukkit start
chat(s);
// CraftBukkit end
}
}
// CraftBukkit start
public boolean chat(String msg) {
if (msg.startsWith("/")) {
this.c(msg);
return true;
} else {
// CraftBukkit start
Player player = getPlayer();
PlayerChatEvent event = new PlayerChatEvent(Type.PLAYER_CHAT, player, s);
PlayerChatEvent event = new PlayerChatEvent(Type.PLAYER_CHAT, player, msg);
server.getPluginManager().callEvent(event);
s = String.format(event.getFormat(), event.getPlayer().getDisplayName(), event.getMessage());
msg = String.format(event.getFormat(), event.getPlayer().getDisplayName(), event.getMessage());
if (event.isCancelled()) {
return;
return true;
}
// CraftBukkit end
a.info(s);
this.d.f.a((Packet) (new Packet3Chat(s)));
}
a.info(msg);
this.d.f.a((Packet) (new Packet3Chat(msg)));
}
return false;
}
// CraftBukkit end
private void c(String s) {
// CraftBukkit start
CraftPlayer player = getPlayer();
boolean targetPluginFound = server.dispatchCommand(player, s.substring(1));
if (targetPluginFound) {
return;
}
PlayerChatEvent event = new PlayerChatEvent(Type.PLAYER_COMMAND, player, s);
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
boolean targetPluginFound = server.dispatchCommand(player, s.substring(1));
if (targetPluginFound) {
return;
}
s = event.getMessage();
player = (CraftPlayer) event.getPlayer();
EntityPlayer e = player.getHandle();

View file

@ -110,6 +110,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
entity.a.b(((Packet) (new Packet6SpawnPosition(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()))));
}
public void chat(String msg) {
entity.a.chat(msg);
}
public boolean performCommand(String command) {
return server.dispatchCommand(this, command);
}