mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-12 09:51:12 +01:00
Commands are now "bukkit.command.x" instead of "craftbukkit.command.x", added legacy perms for compat
This commit is contained in:
parent
3915c15ef5
commit
d69bbd38c2
4 changed files with 5 additions and 186 deletions
|
@ -35,7 +35,7 @@ public class ConsoleCommandHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkPermission(ICommandListener listener, String command) {
|
private boolean checkPermission(ICommandListener listener, String command) {
|
||||||
if (hasPermission(listener, "craftbukkit.command." + command)) {
|
if (hasPermission(listener, "bukkit.command." + command)) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
listener.sendMessage("I'm sorry, Dave, but I cannot let you do that.");
|
listener.sendMessage("I'm sorry, Dave, but I cannot let you do that.");
|
||||||
|
|
|
@ -70,7 +70,7 @@ import org.bukkit.craftbukkit.command.ServerCommandListener;
|
||||||
import org.bukkit.craftbukkit.map.CraftMapView;
|
import org.bukkit.craftbukkit.map.CraftMapView;
|
||||||
import org.bukkit.scheduler.BukkitWorker;
|
import org.bukkit.scheduler.BukkitWorker;
|
||||||
import org.bukkit.craftbukkit.scheduler.CraftScheduler;
|
import org.bukkit.craftbukkit.scheduler.CraftScheduler;
|
||||||
import org.bukkit.craftbukkit.util.permissions.DefaultPermissions;
|
import org.bukkit.util.permissions.DefaultPermissions;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
import org.bukkit.event.world.WorldInitEvent;
|
import org.bukkit.event.world.WorldInitEvent;
|
||||||
import org.bukkit.permissions.Permission;
|
import org.bukkit.permissions.Permission;
|
||||||
|
@ -354,7 +354,7 @@ public final class CraftServer implements Server {
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
Player player = (Player)sender;
|
Player player = (Player)sender;
|
||||||
if (commandLine.toLowerCase().startsWith("me ")) {
|
if (commandLine.toLowerCase().startsWith("me ")) {
|
||||||
if (!player.hasPermission("craftbukkit.command.me")) {
|
if (!player.hasPermission("bukkit.command.me")) {
|
||||||
player.sendMessage(ChatColor.RED + "You do not have permission to perform this command.");
|
player.sendMessage(ChatColor.RED + "You do not have permission to perform this command.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -363,7 +363,7 @@ public final class CraftServer implements Server {
|
||||||
server.server.serverConfigurationManager.sendAll(new Packet3Chat(commandLine));
|
server.server.serverConfigurationManager.sendAll(new Packet3Chat(commandLine));
|
||||||
return true;
|
return true;
|
||||||
} else if (commandLine.toLowerCase().startsWith("kill")) {
|
} else if (commandLine.toLowerCase().startsWith("kill")) {
|
||||||
if (!player.hasPermission("craftbukkit.command.kill")) {
|
if (!player.hasPermission("bukkit.command.kill")) {
|
||||||
player.sendMessage(ChatColor.RED + "You do not have permission to perform this command.");
|
player.sendMessage(ChatColor.RED + "You do not have permission to perform this command.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -375,7 +375,7 @@ public final class CraftServer implements Server {
|
||||||
player.damage(ede.getDamage());
|
player.damage(ede.getDamage());
|
||||||
return true;
|
return true;
|
||||||
} else if (commandLine.toLowerCase().startsWith("tell ")) {
|
} else if (commandLine.toLowerCase().startsWith("tell ")) {
|
||||||
if (!player.hasPermission("craftbukkit.command.tell")) {
|
if (!player.hasPermission("bukkit.command.tell")) {
|
||||||
player.sendMessage(ChatColor.RED + "You do not have permission to perform this command.");
|
player.sendMessage(ChatColor.RED + "You do not have permission to perform this command.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,112 +0,0 @@
|
||||||
package org.bukkit.craftbukkit.util.permissions;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.permissions.Permission;
|
|
||||||
import org.bukkit.permissions.PermissionDefault;
|
|
||||||
import org.bukkit.plugin.PluginManager;
|
|
||||||
|
|
||||||
public class CommandPermissions {
|
|
||||||
private static final String ROOT = "craftbukkit.command";
|
|
||||||
private static final String PREFIX = ROOT + ".";
|
|
||||||
|
|
||||||
private CommandPermissions() {}
|
|
||||||
|
|
||||||
private static Permission registerWhitelist(Permission parent) {
|
|
||||||
Permission whitelist = DefaultPermissions.registerPermission(PREFIX + "whitelist", "Allows the user to modify the server whitelist", PermissionDefault.OP, parent);
|
|
||||||
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "whitelist.add", "Allows the user to add a player to the server whitelist", whitelist);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "whitelist.remove", "Allows the user to remove a player from the server whitelist", whitelist);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "whitelist.reload", "Allows the user to reload the server whitelist", whitelist);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "whitelist.enable", "Allows the user to enable the server whitelist", whitelist);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "whitelist.disable", "Allows the user to disable the server whitelist", whitelist);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "whitelist.list", "Allows the user to list all the users on the server whitelist", whitelist);
|
|
||||||
|
|
||||||
whitelist.recalculatePermissibles();
|
|
||||||
|
|
||||||
return whitelist;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Permission registerBan(Permission parent) {
|
|
||||||
Permission ban = DefaultPermissions.registerPermission(PREFIX + "ban", "Allows the user to ban people", PermissionDefault.OP, parent);
|
|
||||||
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "ban.player", "Allows the user to ban players", ban);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "ban.ip", "Allows the user to ban IP addresses", ban);
|
|
||||||
|
|
||||||
ban.recalculatePermissibles();
|
|
||||||
|
|
||||||
return ban;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Permission registerUnban(Permission parent) {
|
|
||||||
Permission unban = DefaultPermissions.registerPermission(PREFIX + "unban", "Allows the user to unban people", PermissionDefault.OP, parent);
|
|
||||||
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "unban.player", "Allows the user to unban players", unban);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "unban.ip", "Allows the user to unban IP addresses", unban);
|
|
||||||
|
|
||||||
unban.recalculatePermissibles();
|
|
||||||
|
|
||||||
return unban;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Permission registerOp(Permission parent) {
|
|
||||||
Permission op = DefaultPermissions.registerPermission(PREFIX + "op", "Allows the user to change operators", PermissionDefault.OP, parent);
|
|
||||||
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "op.give", "Allows the user to give a player operator status", op);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "op.take", "Allows the user to take a players operator status", op);
|
|
||||||
|
|
||||||
op.recalculatePermissibles();
|
|
||||||
|
|
||||||
return op;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Permission registerSave(Permission parent) {
|
|
||||||
Permission save = DefaultPermissions.registerPermission(PREFIX + "save", "Allows the user to save the worlds", PermissionDefault.OP, parent);
|
|
||||||
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "save.enable", "Allows the user to enable automatic saving", save);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "save.disable", "Allows the user to disable automatic saving", save);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "save.perform", "Allows the user to perform a manual save", save);
|
|
||||||
|
|
||||||
save.recalculatePermissibles();
|
|
||||||
|
|
||||||
return save;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Permission registerTime(Permission parent) {
|
|
||||||
Permission time = DefaultPermissions.registerPermission(PREFIX + "time", "Allows the user to alter the time", PermissionDefault.OP, parent);
|
|
||||||
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "time.add", "Allows the user to fast-forward time", time);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "time.set", "Allows the user to change the time", time);
|
|
||||||
|
|
||||||
time.recalculatePermissibles();
|
|
||||||
|
|
||||||
return time;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Permission registerPermissions(Permission parent) {
|
|
||||||
Permission commands = DefaultPermissions.registerPermission(ROOT, "Gives the user the ability to use all Craftbukkit commands", parent);
|
|
||||||
|
|
||||||
registerWhitelist(commands);
|
|
||||||
registerBan(commands);
|
|
||||||
registerUnban(commands);
|
|
||||||
registerOp(commands);
|
|
||||||
registerSave(commands);
|
|
||||||
registerTime(commands);
|
|
||||||
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "kill", "Allows the user to commit suicide", PermissionDefault.TRUE, commands);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "me", "Allows the user to perform a chat action", PermissionDefault.TRUE, commands);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "tell", "Allows the user to privately message another player", PermissionDefault.TRUE, commands);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "say", "Allows the user to talk as the console", PermissionDefault.OP, commands);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "give", "Allows the user to give items to players", PermissionDefault.OP, commands);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "teleport", "Allows the user to teleport players", PermissionDefault.OP, commands);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "kick", "Allows the user to kick players", PermissionDefault.OP, commands);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "stop", "Allows the user to stop the server", PermissionDefault.OP, commands);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "list", "Allows the user to list all online players", PermissionDefault.OP, commands);
|
|
||||||
DefaultPermissions.registerPermission(PREFIX + "help", "Allows the user to view the vanilla help menu", PermissionDefault.OP, commands);
|
|
||||||
|
|
||||||
commands.recalculatePermissibles();
|
|
||||||
|
|
||||||
return commands;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,69 +0,0 @@
|
||||||
package org.bukkit.craftbukkit.util.permissions;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.permissions.Permission;
|
|
||||||
import org.bukkit.permissions.PermissionDefault;
|
|
||||||
import org.bukkit.plugin.PluginManager;
|
|
||||||
|
|
||||||
public final class DefaultPermissions {
|
|
||||||
private static final String ROOT = "craftbukkit";
|
|
||||||
private static final String PREFIX = ROOT + ".";
|
|
||||||
|
|
||||||
private DefaultPermissions() {}
|
|
||||||
|
|
||||||
public static Permission registerPermission(Permission perm) {
|
|
||||||
try {
|
|
||||||
Bukkit.getPluginManager().addPermission(perm);
|
|
||||||
return perm;
|
|
||||||
} catch (IllegalArgumentException ex) {
|
|
||||||
return Bukkit.getPluginManager().getPermission(perm.getName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Permission registerPermission(Permission perm, Permission parent) {
|
|
||||||
parent.getChildren().put(perm.getName(), true);
|
|
||||||
return registerPermission(perm);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Permission registerPermission(String name, String desc) {
|
|
||||||
Permission perm = registerPermission(new Permission(name, desc));
|
|
||||||
return perm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Permission registerPermission(String name, String desc, Permission parent) {
|
|
||||||
Permission perm = registerPermission(name, desc);
|
|
||||||
parent.getChildren().put(perm.getName(), true);
|
|
||||||
return perm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Permission registerPermission(String name, String desc, PermissionDefault def) {
|
|
||||||
Permission perm = registerPermission(new Permission(name, desc, def));
|
|
||||||
return perm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Permission registerPermission(String name, String desc, PermissionDefault def, Permission parent) {
|
|
||||||
Permission perm = registerPermission(name, desc, def);
|
|
||||||
parent.getChildren().put(perm.getName(), true);
|
|
||||||
return perm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Permission registerPermission(String name, String desc, PermissionDefault def, Map<String, Boolean> children) {
|
|
||||||
Permission perm = registerPermission(new Permission(name, desc, def, children));
|
|
||||||
return perm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Permission registerPermission(String name, String desc, PermissionDefault def, Map<String, Boolean> children, Permission parent) {
|
|
||||||
Permission perm = registerPermission(name, desc, def, children);
|
|
||||||
parent.getChildren().put(perm.getName(), true);
|
|
||||||
return perm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void registerCorePermissions() {
|
|
||||||
Permission parent = registerPermission(ROOT, "Gives the user the ability to use all Craftbukkit utilities and commands");
|
|
||||||
|
|
||||||
CommandPermissions.registerPermissions(parent);
|
|
||||||
|
|
||||||
parent.recalculatePermissibles();
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue