Java 如何在命令上添加权限?
我找不到如何在玩家输入命令时授予他们某些权限。BukkitAPI非常有助于向我展示可能的方法,当我只需要执行player或permission时。但是没有什么会给玩家一定的权限。以下是我必须让它工作的代码: 在我的主要班级中名列前茅Java 如何在命令上添加权限?,java,bukkit,Java,Bukkit,我找不到如何在玩家输入命令时授予他们某些权限。BukkitAPI非常有助于向我展示可能的方法,当我只需要执行player或permission时。但是没有什么会给玩家一定的权限。以下是我必须让它工作的代码: 在我的主要班级中名列前茅 public Permission blue = new Permission("Blue.allowed"); 合一 PluginManager pm = getServer().getPluginManager(); pm.addPermission(blue
public Permission blue = new Permission("Blue.allowed");
合一
PluginManager pm = getServer().getPluginManager();
pm.addPermission(blue);
我有一个简单的命令,我想让键入该命令的玩家获得蓝色权限:
public boolean onCommandAllowRed(CommandSender sender, Command cmd, String label, String[] args) {
if (cmd.getName().equalsIgnoreCase("give red") && sender instanceof Player) {
Player player = (Player) sender;
return true;
}
return false;
我只是不知道perms的对象模型,有人能帮我吗?Bukkit无法通过编程方式向单个播放器添加权限。这样做需要一些麻烦 为了更简单,我建议使用一个插件来获得权限,比如bPermissions或PEX,然后连接到它们的插件中,并使用给定的方法将权限添加到播放器中
若要挂接,您需要将插件包含到构建路径中,然后获取它的一个实例。通常情况下,插件会在其bukkit开发页面上告诉您如何连接到。bukkit不便于以编程方式向单个播放器添加权限。这样做需要一些麻烦 为了更简单,我建议使用一个插件来获得权限,比如bPermissions或PEX,然后连接到它们的插件中,并使用给定的方法将权限添加到播放器中
若要挂接,您需要将插件包含到构建路径中,然后获取它的一个实例。通常,插件会在其bukkit开发页面上告诉您如何连接到。要补充Baseball 435完全正确的答案,最简单、最有效的方法是连接到,而不是任何单个插件。
它是Bukkit几乎每一个编写良好的许可插件的适配器,将使您不必处理来自不同系统的不同API。要补充Baseball 435完全正确的答案,最简单、最有效的方法是连接到而不是任何单个插件。
它是Bukkit几乎所有编写良好的权限插件的适配器,可以让您不必处理来自不同系统的不同API。起初我也遇到过这个问题,我是自己发现的,我还建议一种保存方法,否则注销时权限将丢失 这就是我管理权限的方式
private static PermissionAttachment fetchPlayer(UUID uuid){
Plugin plugin = Core.getPlugin();
Player player = Bukkit.getPlayer(uuid);
if (player != null){
PermissionAttachment perm = player.addAttachment(plugin);
return perm;
}
else{
return null;
}
}
public static void addPermission(UUID uuid, String permission){
PermissionAttachment perm = fetchPlayer(uuid);
perm.setPermission(permission, true);
}
public static void removePermission(UUID uuid, String permission){
PermissionAttachment perm = fetchPlayer(uuid);
perm.unsetPermission(permission);
}
一开始我也有这个问题,我自己发现的,我也建议一种保存方法,否则注销时权限会丢失 这就是我管理权限的方式
private static PermissionAttachment fetchPlayer(UUID uuid){
Plugin plugin = Core.getPlugin();
Player player = Bukkit.getPlayer(uuid);
if (player != null){
PermissionAttachment perm = player.addAttachment(plugin);
return perm;
}
else{
return null;
}
}
public static void addPermission(UUID uuid, String permission){
PermissionAttachment perm = fetchPlayer(uuid);
perm.setPermission(permission, true);
}
public static void removePermission(UUID uuid, String permission){
PermissionAttachment perm = fetchPlayer(uuid);
perm.unsetPermission(permission);
}
好补充;是的,Vault充当具有类似功能的插件的包装器,使服务器所有者可以轻松地使用他们喜欢的任何权限插件,例如,不必担心另一个插件只需要特定类型的权限插件。大多数插件开发人员将使用Vault的API为服务器所有者提供选择的自由,并使他们自己更容易开发插件。如果您感兴趣,可以查看Vault的开发页面,查看他们支持哪些其他类型的插件。谢谢!我会看看保险库:好补充;是的,Vault充当具有类似功能的插件的包装器,使服务器所有者可以轻松地使用他们喜欢的任何权限插件,例如,不必担心另一个插件只需要特定类型的权限插件。大多数插件开发人员将使用Vault的API为服务器所有者提供选择的自由,并使他们自己更容易开发插件。如果您感兴趣,可以查看Vault的开发页面,查看他们支持哪些其他类型的插件。谢谢!我将查看保险库: