Use Bukkits console sender

This commit is contained in:
Evenprime 2012-03-01 16:44:07 +01:00
parent 86c640f0cc
commit 930a115175
3 changed files with 5 additions and 57 deletions

View File

@ -13,7 +13,7 @@
<dependency> <dependency>
<groupId>org.bukkit</groupId> <groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId> <artifactId>craftbukkit</artifactId>
<version>1.1-R5-SNAPSHOT</version> <version>1.1-R6-SNAPSHOT</version>
<type>jar</type> <type>jar</type>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>

View File

@ -1,49 +0,0 @@
package cc.co.evenprime.bukkit.nocheat.actions;
import org.bukkit.Bukkit;
import org.bukkit.Server;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.permissions.PermissibleBase;
import org.bukkit.permissions.ServerOperator;
/**
* This class is used to execute commands of other plugins.
* It ignores any feedback of other plugins and claims to be
* OP when asked.
*
*/
public class NoCheatCommandSender extends PermissibleBase implements ConsoleCommandSender {
private static final ServerOperator serverOperator = new ServerOperator() {
@Override
public boolean isOp() {
return true;
}
@Override
public void setOp(boolean value) {
//
}
};
public NoCheatCommandSender() {
super(serverOperator);
}
@Override
public String getName() {
return "NoCheatCommandSender";
}
@Override
public void sendMessage(String message) {
// We don't want messages
}
@Override
public Server getServer() {
return Bukkit.getServer();
}
}

View File

@ -4,12 +4,10 @@ import java.util.Locale;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.command.CommandException; import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import cc.co.evenprime.bukkit.nocheat.NoCheat; import cc.co.evenprime.bukkit.nocheat.NoCheat;
import cc.co.evenprime.bukkit.nocheat.NoCheatLogEvent; import cc.co.evenprime.bukkit.nocheat.NoCheatLogEvent;
import cc.co.evenprime.bukkit.nocheat.NoCheatPlayer; import cc.co.evenprime.bukkit.nocheat.NoCheatPlayer;
import cc.co.evenprime.bukkit.nocheat.actions.Action; import cc.co.evenprime.bukkit.nocheat.actions.Action;
import cc.co.evenprime.bukkit.nocheat.actions.NoCheatCommandSender;
import cc.co.evenprime.bukkit.nocheat.actions.ParameterName; import cc.co.evenprime.bukkit.nocheat.actions.ParameterName;
import cc.co.evenprime.bukkit.nocheat.actions.types.ActionList; import cc.co.evenprime.bukkit.nocheat.actions.types.ActionList;
import cc.co.evenprime.bukkit.nocheat.actions.types.ConsolecommandAction; import cc.co.evenprime.bukkit.nocheat.actions.types.ConsolecommandAction;
@ -21,11 +19,10 @@ import cc.co.evenprime.bukkit.nocheat.data.Statistics.Id;
public abstract class Check { public abstract class Check {
private final String name; private final String name;
// used to bundle information of multiple checks // used to bundle information of multiple checks
private final String groupId; private final String groupId;
private static final CommandSender noCheatCommandSender = new NoCheatCommandSender(); protected final NoCheat plugin;
protected final NoCheat plugin;
public Check(NoCheat plugin, String groupId, String name) { public Check(NoCheat plugin, String groupId, String name) {
this.plugin = plugin; this.plugin = plugin;
@ -89,7 +86,7 @@ public abstract class Check {
final String command = action.getCommand(player, check); final String command = action.getCommand(player, check);
try { try {
plugin.getServer().dispatchCommand(noCheatCommandSender, command); plugin.getServer().dispatchCommand(Bukkit.getConsoleSender(), command);
} catch(CommandException e) { } catch(CommandException e) {
System.out.println("[NoCheat] failed to execute the command '" + command + "': " + e.getMessage() + ", please check if everything is setup correct."); System.out.println("[NoCheat] failed to execute the command '" + command + "': " + e.getMessage() + ", please check if everything is setup correct.");
} catch(Exception e) { } catch(Exception e) {