Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Bukkit插件多个权限不起作用_Java_Plugins_Permissions_Bukkit - Fatal编程技术网

Java Bukkit插件多个权限不起作用

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版本相

我正在尝试这样做,如果一个玩家被opped或者至少有两个权限节点中的一个,他们就可以执行一个命令

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