summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ConsoleCommandHandler.java
diff options
context:
space:
mode:
authorstevenh <steven.hartland@multiplay.co.uk>2011-05-22 20:24:44 +0100
committerstevenh <steven.hartland@multiplay.co.uk>2011-05-22 20:30:01 +0100
commit8b0924bbb449d1bf7d38d1d4743b383ba0ae0471 (patch)
tree2255e95b111a1f482a6268c54ec1c249f8a18aa3 /src/main/java/net/minecraft/server/ConsoleCommandHandler.java
parent6319a19073b10bc5f2d16ac7ce104b5ced267cdc (diff)
downloadcraftbukkit-8b0924bbb449d1bf7d38d1d4743b383ba0ae0471.tar
craftbukkit-8b0924bbb449d1bf7d38d1d4743b383ba0ae0471.tar.gz
craftbukkit-8b0924bbb449d1bf7d38d1d4743b383ba0ae0471.tar.lz
craftbukkit-8b0924bbb449d1bf7d38d1d4743b383ba0ae0471.tar.xz
craftbukkit-8b0924bbb449d1bf7d38d1d4743b383ba0ae0471.zip
Fixed duplicate console and player messages when built in server commands where used or an unknown command was issued
Diffstat (limited to 'src/main/java/net/minecraft/server/ConsoleCommandHandler.java')
-rw-r--r--src/main/java/net/minecraft/server/ConsoleCommandHandler.java35
1 files changed, 33 insertions, 2 deletions
diff --git a/src/main/java/net/minecraft/server/ConsoleCommandHandler.java b/src/main/java/net/minecraft/server/ConsoleCommandHandler.java
index eb48f2d9..d6f3bfb3 100644
--- a/src/main/java/net/minecraft/server/ConsoleCommandHandler.java
+++ b/src/main/java/net/minecraft/server/ConsoleCommandHandler.java
@@ -3,6 +3,12 @@ package net.minecraft.server;
import java.util.Iterator;
import java.util.Set;
import java.util.logging.Logger;
+// Craftbukkit start
+import java.util.List;
+import org.bukkit.craftbukkit.command.ServerCommandListener;
+import org.bukkit.craftbukkit.entity.CraftPlayer;
+import org.bukkit.command.CommandSender;
+// Craftbukkit end
public class ConsoleCommandHandler {
@@ -286,13 +292,38 @@ public class ConsoleCommandHandler {
}
private void print(String s, String s1) {
- listener.sendMessage(s1); // CraftBukkit
String s2 = s + ": " + s1;
- this.server.serverConfigurationManager.j("\u00A77(" + s2 + ")");
+ // CraftBukkit start
+ listener.sendMessage(s1);
+ informOps("\u00A77(" + s2 + ")");
+ if (listener instanceof MinecraftServer) {
+ return; // Already logged so don't call a.info()
+ }
+ // CraftBukkit end
a.info(s2);
}
+ // CraftBukkit start
+ private void informOps(String msg) {
+ Packet3Chat packet3chat = new Packet3Chat(msg);
+ EntityPlayer sender = null;
+ if (listener instanceof ServerCommandListener) {
+ CommandSender commandSender = ((ServerCommandListener) listener).getSender();
+ if (commandSender instanceof CraftPlayer) {
+ sender = ((CraftPlayer) commandSender).getHandle();
+ }
+ }
+ List<EntityPlayer> players = server.serverConfigurationManager.players;
+ for (int i = 0; i < players.size(); ++i) {
+ EntityPlayer entityPlayer = (EntityPlayer) players.get(i);
+ if (sender != entityPlayer && server.serverConfigurationManager.isOp(entityPlayer.name)) {
+ entityPlayer.netServerHandler.sendPacket(packet3chat);
+ }
+ }
+ }
+ // CraftBukkit end
+
private int a(String s, int i) {
try {
return Integer.parseInt(s);