diff options
author | stevenh <steven.hartland@multiplay.co.uk> | 2011-05-22 20:24:44 +0100 |
---|---|---|
committer | stevenh <steven.hartland@multiplay.co.uk> | 2011-05-22 20:30:01 +0100 |
commit | 8b0924bbb449d1bf7d38d1d4743b383ba0ae0471 (patch) | |
tree | 2255e95b111a1f482a6268c54ec1c249f8a18aa3 /src/main/java/net/minecraft/server/ConsoleCommandHandler.java | |
parent | 6319a19073b10bc5f2d16ac7ce104b5ced267cdc (diff) | |
download | craftbukkit-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.java | 35 |
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); |