blob: 35833e9ff0d05ff81469d8b699ff6724e8444e3b [file] [log] [blame] [raw]
package net.glowstone.command;
import net.glowstone.GlowServer;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionDefault;
import java.util.HashSet;
import java.util.Set;
public class ReloadCommand extends GlowCommand {
public ReloadCommand(GlowServer server) {
super(server, "reload", "Reloads the server or portions of the server", "all/*|aliases", "rl");
}
@Override
public boolean run(CommandSender sender, String commandLabel, String[] args) {
if (args.length < 1 || args[0].matches("([Aa]ll|\\*)")) {
if (!checkPermission(sender, "all")) return false;
tellOps(sender, "Reloading server");
server.reload();
} else if (args[0].matches("[Aa]liases")) {
if (!checkPermission(sender, "aliases")) return false;
tellOps(sender, "Reloading command aliases");
server.reloadCommandAliases();
} else {
sender.sendMessage(ChatColor.YELLOW + "Unknown option!");
return false;
}
sender.sendMessage(ChatColor.GREEN + "Reload complete.");
return true;
}
@Override
public Set<Permission> registerPermissions(String prefix) {
Set<Permission> ret = new HashSet<Permission>();
ret.add(new Permission(prefix + ".all", "Gives permission for full server reloads"));
ret.add(new Permission(prefix + ".aliases", "Gives permission to reload server command aliases"));
return ret;
}
@Override
public PermissionDefault getPermissionDefault() {
return PermissionDefault.OP;
}
}