跳到主要内容

逻辑条件段

物品可包含多个具有不同条件的逻辑段,用于决定最终显示和使用的是哪个物品。

创建逻辑

你可以使用页面底部的任意条件段为物品添加逻辑条件。以下是包含条件段的物品配置示例:

20:
material: RED_WOOL
name: "你的名字不是Halogly"
has0:
value0: Halogly
compare0: '%cp-player-name%'
material: LIME_WOOL
name: "你的名字是Halogly"
has0:
value0: '%cp-player-name% HASPERM'
compare0: gamemode.creative
material: BLACK_WOOL
name: "你的名字是Halogly并且你可以执行/gamemode"
has1:
value0: '%cp-player-name% HASPERM'
compare0: essentials.fly
material: BLACK_WOOL
name: "你的名字是Halogly并且你可以执行/fly"

不同条件

上述物品包含一个默认条件段(回退物品),即红色羊毛,主条件段内还包含两个次级条件段。如示例所示,第一个条件段物品仅在玩家名为Halogly时显示,否则将显示红色羊毛。主条件内的has条件段只有在玩家名为Halogly时才会被检查。你需要在分段中使用常规物品设置(如material),因为当此条件段满足时,需要创建对应的物品。

多段同位

如你所见,第一个条件段内包含了两个嵌套的has段。同一层级下的has段不能使用相同的名称,因此需要通过数字后缀来区分(例如has0has1)。若多个has段的条件都满足,系统会优先使用数字编号最小的那个。

运算符

当需要比较两个不同值时可使用或运算符。两个值中任意一个值符合条件即成立。如下例所示,当玩家名为HaloglySteveNotch时会显示金块。或运算符也可用于连接多个条件。

has0:
value0: 'Halogly OR Steve OR Notch'
compare0: '%cp-player-name%'
material: GOLD_BLOCK

非运算符用于将条件取反判断。以下示例中,当玩家名称不是Halogly时会显示金块。

如果你在has段中使用大于等于比较符ISGREATER,假设你设定比较的数值是500,那么当值大于等于500时条件成立;配合非运算符后,则会在值小于等于499时条件成立。

has0:
value0: 'NOT Halogly'
compare0: '%cp-player-name%'
material: GOLD_BLOCK

当需要同时满足多个参数时使用与运算符。这就是value0compare0末尾带有数字编号的原因。如需添加更多参数,可继续使用value1compare1。系统会始终按照从小到大的顺序(升序)读取参数。以下示例仅在玩家拥有至少500元且玩家名为Halogly时条件成立。

has0:
value0: '%cp-player-balance% ISGREATER'
compare0: '500 AND'
value1: '%cp-player-name%'
compare1: 'Halogly'

权限

检查一名玩家是否拥有指定的权限。若不想通过面板检测玩家的权限,可以将玩家名称改为任何内容。

has0:
value0: '%cp-player-name% HASPERM'
compare0: 'essentials.gamemode'

比较

当两个值相等时成立。将value0compare0的值进行比较,不解析颜色代码。

has0:
value0: 'Halogly'
compare0: '%cp-player-name%'

大于等于

判断数值是否大于等于某个数值。在下面的示例中,若玩家的余额为500元甚至更高时,条件成立。

has0:
value0: '%cp-player-balance% ISGREATER'
compare0: '500'