summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
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/org
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/org')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/command/CraftRemoteConsoleCommandSender.java26
-rw-r--r--src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java71
2 files changed, 97 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/command/CraftRemoteConsoleCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/CraftRemoteConsoleCommandSender.java
new file mode 100644
index 00000000..68acced1
--- /dev/null
+++ b/src/main/java/org/bukkit/craftbukkit/command/CraftRemoteConsoleCommandSender.java
@@ -0,0 +1,26 @@
+package org.bukkit.craftbukkit.command;
+
+import net.minecraft.server.RemoteControlCommandListener;
+import org.bukkit.command.RemoteConsoleCommandSender;
+
+public class CraftRemoteConsoleCommandSender extends ServerCommandSender implements RemoteConsoleCommandSender {
+ public CraftRemoteConsoleCommandSender() {
+ super();
+ }
+
+ public void sendMessage(String message) {
+ RemoteControlCommandListener.a.sendMessage(message);
+ }
+
+ public String getName() {
+ return "Rcon";
+ }
+
+ public boolean isOp() {
+ return true;
+ }
+
+ public void setOp(boolean value) {
+ throw new UnsupportedOperationException("Cannot change operator status of remote controller.");
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
new file mode 100644
index 00000000..1314c744
--- /dev/null
+++ b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
@@ -0,0 +1,71 @@
+package org.bukkit.craftbukkit.command;
+
+import org.bukkit.Bukkit;
+import org.bukkit.Server;
+import org.bukkit.command.CommandSender;
+import org.bukkit.permissions.PermissibleBase;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionAttachment;
+import org.bukkit.permissions.PermissionAttachmentInfo;
+import org.bukkit.plugin.Plugin;
+
+import java.util.Set;
+
+public abstract class ServerCommandSender implements CommandSender {
+ private final PermissibleBase perm = new PermissibleBase(this);
+
+ public ServerCommandSender() {
+ }
+
+ public boolean isPermissionSet(String name) {
+ return perm.isPermissionSet(name);
+ }
+
+ public boolean isPermissionSet(Permission perm) {
+ return this.perm.isPermissionSet(perm);
+ }
+
+ public boolean hasPermission(String name) {
+ return perm.hasPermission(name);
+ }
+
+ public boolean hasPermission(Permission perm) {
+ return this.perm.hasPermission(perm);
+ }
+
+ public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value) {
+ return perm.addAttachment(plugin, name, value);
+ }
+
+ public PermissionAttachment addAttachment(Plugin plugin) {
+ return perm.addAttachment(plugin);
+ }
+
+ public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks) {
+ return perm.addAttachment(plugin, name, value, ticks);
+ }
+
+ public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
+ return perm.addAttachment(plugin, ticks);
+ }
+
+ public void removeAttachment(PermissionAttachment attachment) {
+ perm.removeAttachment(attachment);
+ }
+
+ public void recalculatePermissions() {
+ perm.recalculatePermissions();
+ }
+
+ public Set<PermissionAttachmentInfo> getEffectivePermissions() {
+ return perm.getEffectivePermissions();
+ }
+
+ public boolean isPlayer() {
+ return false;
+ }
+
+ public Server getServer() {
+ return Bukkit.getServer();
+ }
+}