Readded the legacy console sender.

This commit is contained in:
zml2008 2011-12-07 07:33:53 -08:00
parent 4454df341f
commit b1256eedcf
2 changed files with 92 additions and 1 deletions

View File

@ -0,0 +1,87 @@
package com.sk89q.worldguard.bukkit;
import java.util.Set;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionAttachment;
import org.bukkit.permissions.PermissionAttachmentInfo;
import org.bukkit.plugin.Plugin;
/**
* Console sender.
*
* @author sk89q
*/
class LegacyConsoleSender implements CommandSender {
private Server server;
public LegacyConsoleSender(Server server) {
this.server = server;
}
public void sendMessage(String message) {
WorldGuardPlugin.logger.info(message);
}
public Server getServer() {
return server;
}
public String getName() {
return "CONSOLE";
}
public boolean isPermissionSet(String name) {
return true;
}
public boolean isPermissionSet(Permission perm) {
return true;
}
public boolean hasPermission(String name) {
return true;
}
public boolean hasPermission(Permission perm) {
return true;
}
public PermissionAttachment addAttachment(Plugin plugin, String name,
boolean value) {
throw new UnsupportedOperationException("Fake legacy console command sender does not support this");
}
public PermissionAttachment addAttachment(Plugin plugin) {
throw new UnsupportedOperationException("Fake legacy console command sender does not support this");
}
public PermissionAttachment addAttachment(Plugin plugin, String name,
boolean value, int ticks) {
throw new UnsupportedOperationException("Fake legacy console command sender does not support this");
}
public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
throw new UnsupportedOperationException("Fake legacy console command sender does not support this");
}
public void removeAttachment(PermissionAttachment attachment) {
throw new UnsupportedOperationException("Fake legacy console command sender does not support this");
}
public void recalculatePermissions() {
}
public Set<PermissionAttachmentInfo> getEffectivePermissions() {
throw new UnsupportedOperationException("Fake legacy console command sender does not support this");
}
public boolean isOp() {
return true;
}
public void setOp(boolean value) {
}
}

View File

@ -569,7 +569,11 @@ public CommandSender matchPlayerOrConsole(CommandSender sender, String filter)
if (filter.equalsIgnoreCase("#console")
|| filter.equalsIgnoreCase("*console*")
|| filter.equalsIgnoreCase("!")) {
return getServer().getConsoleSender();
try {
return getServer().getConsoleSender();
} catch (Throwable t) {
return new LegacyConsoleSender(getServer());
}
}
return matchSinglePlayer(sender, filter);