package com.tommytony.war.command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import com.tommytony.war.War;
/**
* Represents a command that may only be used by War admins
*
*/
public abstract class AbstractOptionalWarAdminCommand extends AbstractWarCommand {
public AbstractOptionalWarAdminCommand(WarCommandHandler handler, CommandSender sender, String[] args, boolean mustBeWarAdmin) throws NotWarAdminException {
super(handler, sender, args);
if (mustBeWarAdmin && !isSenderWarAdmin()) {
throw new NotWarAdminException();
}
}
public boolean isSenderWarAdmin() {
if (this.getSender() instanceof Player) {
if (!War.war.isWarAdmin((Player) this.getSender())) {
return false;
} else {
return true;
}
} else if (!(this.getSender() instanceof ConsoleCommandSender)) {
return false;
} else {
// ConsoleCommandSender is admin
return true;
}
}
}