summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/MinecraftServer.java
diff options
context:
space:
mode:
authorAndrew Ardill <andrew.ardill@gmail.com>2011-12-07 17:01:05 +1100
committerAndrew Ardill <andrew.ardill@gmail.com>2011-12-07 17:45:50 +1100
commit93a4a9ba8ce37179bd903283c73c453c8abcc208 (patch)
treeeca53bf707df8fd791c5eda336627ba0209f5e50 /src/main/java/net/minecraft/server/MinecraftServer.java
parente4a839cbbc057fce7ed614b01abdb5d59382f0f8 (diff)
downloadcraftbukkit-93a4a9ba8ce37179bd903283c73c453c8abcc208.tar
craftbukkit-93a4a9ba8ce37179bd903283c73c453c8abcc208.tar.gz
craftbukkit-93a4a9ba8ce37179bd903283c73c453c8abcc208.tar.lz
craftbukkit-93a4a9ba8ce37179bd903283c73c453c8abcc208.tar.xz
craftbukkit-93a4a9ba8ce37179bd903283c73c453c8abcc208.zip
Teach MinecraftServer how to handle Remote Console commands.
This fixes BUKKIT-220. Thanks for the help bawoodruff!
Diffstat (limited to 'src/main/java/net/minecraft/server/MinecraftServer.java')
-rw-r--r--src/main/java/net/minecraft/server/MinecraftServer.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cea2ffb2..91ea00d4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -20,10 +20,13 @@ import jline.ConsoleReader;
import joptsimple.OptionSet;
import org.bukkit.World.Environment;
import org.bukkit.command.ConsoleCommandSender;
+import org.bukkit.command.RemoteConsoleCommandSender;
+import org.bukkit.craftbukkit.command.CraftRemoteConsoleCommandSender;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.LoggerOutputStream;
import org.bukkit.craftbukkit.scheduler.CraftScheduler;
import org.bukkit.craftbukkit.util.ServerShutdownThread;
+import org.bukkit.event.Event;
import org.bukkit.event.server.ServerCommandEvent;
import org.bukkit.event.world.WorldInitEvent;
import org.bukkit.event.world.WorldLoadEvent;
@@ -67,6 +70,7 @@ public class MinecraftServer implements Runnable, ICommandListener, IMinecraftSe
public CraftServer server;
public OptionSet options;
public ConsoleCommandSender console;
+ public RemoteConsoleCommandSender remoteConsole;
public ConsoleReader reader;
public static int currentTick;
// CraftBukkit end
@@ -176,6 +180,7 @@ public class MinecraftServer implements Runnable, ICommandListener, IMinecraftSe
log.info("Starting remote control listener");
this.z = new RemoteControlListener(this);
this.z.a();
+ this.remoteConsole = new CraftRemoteConsoleCommandSender();
}
// CraftBukkit start
@@ -544,7 +549,7 @@ public class MinecraftServer implements Runnable, ICommandListener, IMinecraftSe
ServerCommand servercommand = (ServerCommand) this.x.remove(0);
// CraftBukkit start - ServerCommand for preprocessing
- ServerCommandEvent event = new ServerCommandEvent(this.console, servercommand.command);
+ ServerCommandEvent event = new ServerCommandEvent(Event.Type.SERVER_COMMAND, this.console, servercommand.command);
this.server.getPluginManager().callEvent(event);
servercommand = new ServerCommand(event.getCommand(), servercommand.b);
// CraftBukkit end
@@ -689,7 +694,13 @@ public class MinecraftServer implements Runnable, ICommandListener, IMinecraftSe
public String d(String s) {
RemoteControlCommandListener.a.a();
- this.consoleCommandHandler.handle(new ServerCommand(s, RemoteControlCommandListener.a));
+ // CraftBukkt start
+ ServerCommandEvent event = new ServerCommandEvent(Event.Type.REMOTE_COMMAND, this.remoteConsole, s);
+ this.server.getPluginManager().callEvent(event);
+ ServerCommand servercommand = new ServerCommand(event.getCommand(), RemoteControlCommandListener.a);
+ // this.consoleCommandHandler.handle(new ServerCommand(s, RemoteControlCommandListener.a)); // CraftBukkit - removed
+ this.server.dispatchCommand(this.remoteConsole, servercommand); // CraftBukkit
+ // CraftBukkit end
return RemoteControlCommandListener.a.b();
}