Java Bukkit插件多个权限不起作用
我正在尝试这样做,如果一个玩家被opped或者至少有两个权限节点中的一个,他们就可以执行一个命令Java Bukkit插件多个权限不起作用,java,plugins,permissions,bukkit,Java,Plugins,Permissions,Bukkit,我正在尝试这样做,如果一个玩家被opped或者至少有两个权限节点中的一个,他们就可以执行一个命令 Player=(Player)发送方 if(!(player.hasPermission(“perm.node1”))| |(player.hasPermission(“perm.node2”)){ sender.sendMessage(ChatColor.RED+“拒绝访问!”); 返回true; } 我正在一台服务器上测试这个插件,该服务器的bukkit版本与编译该插件时使用的bukkit版本相
Player=(Player)发送方代码>
if(!(player.hasPermission(“perm.node1”))| |(player.hasPermission(“perm.node2”)){
sender.sendMessage(ChatColor.RED+“拒绝访问!”);
返回true;
}
我正在一台服务器上测试这个插件,该服务器的bukkit版本与编译该插件时使用的bukkit版本相同,对此我表示反对,我没有给自己任何权限
如果需要(!(player.hasPermission(“perm.node1”)
,则只有一个权限节点,代码可以正常工作,但如果列出了这两个权限,则代码的回复为“拒绝访问!”
“拒绝访问!”这句话在代码中没有出现,所以它一定来自于此语句
我曾尝试向if语句player.isOp()
添加另一个或,但没有效果
如果我在一个有perm.node1
的用户组中,我可以执行有问题的命令而不会得到“拒绝访问!”但是如果我有perm.node2
,我会得到“拒绝访问!”,无论我是否有perm.node1如果玩家有“perm.node2”的权限,你的条件将计算为true(并拒绝访问)
试试这个:
if (!player.hasPermission("perm.node1") && !player.hasPermisson("perm.node2")) {
// deny access...
}
谢谢你解决这个问题。我的印象是,如果!如果是跨越| |,那就意味着两者都是D