package org.bukkit.command; import org.bukkit.ChatColor; import org.bukkit.Server; 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; /** * Represents CLI input from a console */ public class ConsoleCommandSender implements CommandSender { private final Server server; private final PermissibleBase perm = new PermissibleBase(this); public ConsoleCommandSender(Server server) { this.server = server; } public void sendMessage(String message) { System.out.println(ChatColor.stripColor(message)); } public boolean isOp() { return true; } public void setOp(boolean value) { throw new UnsupportedOperationException("Cannot change operator status of server console"); } public boolean isPlayer() { return false; } public Server getServer() { return server; } 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 getEffectivePermissions() { return perm.getEffectivePermissions(); } public String getName() { return "CONSOLE"; } }