Bukkit-API  1.7.9-R0.2
The inofficial Bukkit-API
CommandPermissions.java
1 package org.bukkit.util.permissions;
2 
5 
6 public final class CommandPermissions {
7  private static final String ROOT = "bukkit.command";
8  private static final String PREFIX = ROOT + ".";
9 
10  private CommandPermissions() {}
11 
12  private static Permission registerWhitelist(Permission parent) {
13  Permission whitelist = DefaultPermissions.registerPermission(PREFIX + "whitelist", "Allows the user to modify the server whitelist", PermissionDefault.OP, parent);
14 
15  DefaultPermissions.registerPermission(PREFIX + "whitelist.add", "Allows the user to add a player to the server whitelist", whitelist);
16  DefaultPermissions.registerPermission(PREFIX + "whitelist.remove", "Allows the user to remove a player from the server whitelist", whitelist);
17  DefaultPermissions.registerPermission(PREFIX + "whitelist.reload", "Allows the user to reload the server whitelist", whitelist);
18  DefaultPermissions.registerPermission(PREFIX + "whitelist.enable", "Allows the user to enable the server whitelist", whitelist);
19  DefaultPermissions.registerPermission(PREFIX + "whitelist.disable", "Allows the user to disable the server whitelist", whitelist);
20  DefaultPermissions.registerPermission(PREFIX + "whitelist.list", "Allows the user to list all the users on the server whitelist", whitelist);
21 
22  whitelist.recalculatePermissibles();
23 
24  return whitelist;
25  }
26 
27  private static Permission registerBan(Permission parent) {
28  Permission ban = DefaultPermissions.registerPermission(PREFIX + "ban", "Allows the user to ban people", PermissionDefault.OP, parent);
29 
30  DefaultPermissions.registerPermission(PREFIX + "ban.player", "Allows the user to ban players", ban);
31  DefaultPermissions.registerPermission(PREFIX + "ban.ip", "Allows the user to ban IP addresses", ban);
32 
34 
35  return ban;
36  }
37 
38  private static Permission registerUnban(Permission parent) {
39  Permission unban = DefaultPermissions.registerPermission(PREFIX + "unban", "Allows the user to unban people", PermissionDefault.OP, parent);
40 
41  DefaultPermissions.registerPermission(PREFIX + "unban.player", "Allows the user to unban players", unban);
42  DefaultPermissions.registerPermission(PREFIX + "unban.ip", "Allows the user to unban IP addresses", unban);
43 
45 
46  return unban;
47  }
48 
49  private static Permission registerOp(Permission parent) {
50  Permission op = DefaultPermissions.registerPermission(PREFIX + "op", "Allows the user to change operators", PermissionDefault.OP, parent);
51 
52  DefaultPermissions.registerPermission(PREFIX + "op.give", "Allows the user to give a player operator status", op);
53  DefaultPermissions.registerPermission(PREFIX + "op.take", "Allows the user to take a players operator status", op);
54 
56 
57  return op;
58  }
59 
60  private static Permission registerSave(Permission parent) {
61  Permission save = DefaultPermissions.registerPermission(PREFIX + "save", "Allows the user to save the worlds", PermissionDefault.OP, parent);
62 
63  DefaultPermissions.registerPermission(PREFIX + "save.enable", "Allows the user to enable automatic saving", save);
64  DefaultPermissions.registerPermission(PREFIX + "save.disable", "Allows the user to disable automatic saving", save);
65  DefaultPermissions.registerPermission(PREFIX + "save.perform", "Allows the user to perform a manual save", save);
66 
68 
69  return save;
70  }
71 
72  private static Permission registerTime(Permission parent) {
73  Permission time = DefaultPermissions.registerPermission(PREFIX + "time", "Allows the user to alter the time", PermissionDefault.OP, parent);
74 
75  DefaultPermissions.registerPermission(PREFIX + "time.add", "Allows the user to fast-forward time", time);
76  DefaultPermissions.registerPermission(PREFIX + "time.set", "Allows the user to change the time", time);
77 
79 
80  return time;
81  }
82 
83  public static Permission registerPermissions(Permission parent) {
84  Permission commands = DefaultPermissions.registerPermission(ROOT, "Gives the user the ability to use all CraftBukkit commands", parent);
85 
86  registerWhitelist(commands);
87  registerBan(commands);
88  registerUnban(commands);
89  registerOp(commands);
90  registerSave(commands);
91  registerTime(commands);
92 
93  DefaultPermissions.registerPermission(PREFIX + "kill", "Allows the user to commit suicide", PermissionDefault.TRUE, commands);
94  DefaultPermissions.registerPermission(PREFIX + "me", "Allows the user to perform a chat action", PermissionDefault.TRUE, commands);
95  DefaultPermissions.registerPermission(PREFIX + "tell", "Allows the user to privately message another player", PermissionDefault.TRUE, commands);
96  DefaultPermissions.registerPermission(PREFIX + "say", "Allows the user to talk as the console", PermissionDefault.OP, commands);
97  DefaultPermissions.registerPermission(PREFIX + "give", "Allows the user to give items to players", PermissionDefault.OP, commands);
98  DefaultPermissions.registerPermission(PREFIX + "teleport", "Allows the user to teleport players", PermissionDefault.OP, commands);
99  DefaultPermissions.registerPermission(PREFIX + "kick", "Allows the user to kick players", PermissionDefault.OP, commands);
100  DefaultPermissions.registerPermission(PREFIX + "stop", "Allows the user to stop the server", PermissionDefault.OP, commands);
101  DefaultPermissions.registerPermission(PREFIX + "list", "Allows the user to list all online players", PermissionDefault.OP, commands);
102  DefaultPermissions.registerPermission(PREFIX + "help", "Allows the user to view the vanilla help menu", PermissionDefault.TRUE, commands);
103  DefaultPermissions.registerPermission(PREFIX + "plugins", "Allows the user to view the list of plugins running on this server", PermissionDefault.TRUE, commands);
104  DefaultPermissions.registerPermission(PREFIX + "reload", "Allows the user to reload the server settings", PermissionDefault.OP, commands);
105  DefaultPermissions.registerPermission(PREFIX + "version", "Allows the user to view the version of the server", PermissionDefault.TRUE, commands);
106  DefaultPermissions.registerPermission(PREFIX + "gamemode", "Allows the user to change the gamemode of another player", PermissionDefault.OP, commands);
107  DefaultPermissions.registerPermission(PREFIX + "xp", "Allows the user to give themselves or others arbitrary values of experience", PermissionDefault.OP, commands);
108  DefaultPermissions.registerPermission(PREFIX + "toggledownfall", "Allows the user to toggle rain on/off for a given world", PermissionDefault.OP, commands);
109  DefaultPermissions.registerPermission(PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands);
110  DefaultPermissions.registerPermission(PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands);
111  DefaultPermissions.registerPermission(PREFIX + "effect", "Allows the user to add/remove effects on players", PermissionDefault.OP, commands);
112 
113  commands.recalculatePermissibles();
114 
115  return commands;
116  }
117 }