Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
1package org.bukkit.command;
2
3import org.bukkit.ChatColor;
4import org.bukkit.Server;
5import org.bukkit.permissions.PermissibleBase;
6import org.bukkit.permissions.Permission;
7import org.bukkit.permissions.PermissionAttachment;
8import org.bukkit.permissions.PermissionAttachmentInfo;
9import org.bukkit.plugin.Plugin;
10
11import java.util.Set;
12
13/**
14 * Represents CLI input from a console
15 */
16public class ConsoleCommandSender implements CommandSender {
17 private final Server server;
18 private final PermissibleBase perm = new PermissibleBase(this);
19
20 public ConsoleCommandSender(Server server) {
21 this.server = server;
22 }
23
24 public void sendMessage(String message) {
25 System.out.println(ChatColor.stripColor(message));
26 }
27
28 public boolean isOp() {
29 return true;
30 }
31
32 public void setOp(boolean value) {
33 throw new UnsupportedOperationException("Cannot change operator status of server console");
34 }
35
36 public boolean isPlayer() {
37 return false;
38 }
39
40 public Server getServer() {
41 return server;
42 }
43
44 public boolean isPermissionSet(String name) {
45 return perm.isPermissionSet(name);
46 }
47
48 public boolean isPermissionSet(Permission perm) {
49 return this.perm.isPermissionSet(perm);
50 }
51
52 public boolean hasPermission(String name) {
53 return perm.hasPermission(name);
54 }
55
56 public boolean hasPermission(Permission perm) {
57 return this.perm.hasPermission(perm);
58 }
59
60 public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value) {
61 return perm.addAttachment(plugin, name, value);
62 }
63
64 public PermissionAttachment addAttachment(Plugin plugin) {
65 return perm.addAttachment(plugin);
66 }
67
68 public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks) {
69 return perm.addAttachment(plugin, name, value, ticks);
70 }
71
72 public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
73 return perm.addAttachment(plugin, ticks);
74 }
75
76 public void removeAttachment(PermissionAttachment attachment) {
77 perm.removeAttachment(attachment);
78 }
79
80 public void recalculatePermissions() {
81 perm.recalculatePermissions();
82 }
83
84 public Set<PermissionAttachmentInfo> getEffectivePermissions() {
85 return perm.getEffectivePermissions();
86 }
87
88 public String getName() {
89 return "CONSOLE";
90 }
91}