条件变量符
关于
条件/条件变量符允许您通过其他变量符或者权限作为条件来自定义输出。在本插件中主要有 2 个主要用处:
- 显示条件用于显示计分板、Boss条、排布等的必须满足的条件。 
- 条件变量符则为判别是否满足条件并控制满足和不满足的输出值。 
条件类型
比较数字
>=: 大于等于
例如: %ping%>=100 将会在玩家的延迟大于或者等于 100 时满足条件。
>: 大于
例如: %ping%>100 将会在玩家的延迟大于 100 时满足条件。
<=: 小于等于
例如: %ping%<=100 将会在玩家的延迟小于或者等于 100 时满足条件。
<: 小于
例如: %ping%<100 将会在玩家延迟小于 100 时满足条件。
文本
=: 等于 (必须完全精确,包括颜色符号)
例如: %world%=world 将会在玩家在 world 世界时满足。
!=: 不等于 (不符合)
例如: %world%!=world 将会在玩家在除了 world 外的世界时满足。
<-: 包含 (左侧为变量符,右侧为包含的文本)
例如: %world%<-lobby- 将会在名称开头为 lobby- (例如 lobby-1 等) 的世界时满足。
权限
permission:<值>: 权限要求
例如: permission:my.permission 将会在玩家拥有my.permission 权限时满足。
多条件要求
每个条件都可以有一个条件 范围 ,即一个条件列表。当你拥有超过 1 个条件时,你必须设置它们的条件类型。
这个值可以在 type 配置设置。可选的类型有:
- AND- 所有的条件都必须满足。
- OR- 只要有一个条件满足即可。
条件输出
如果你使用条件作为变量符使用,你可以指定它们的输出值。 yes 用于条件满足时的输出,no 则为不满足。如果这个条件只是一个显示条件,你可以将这两个选项的值留空或者不设置这两个选项。 
配置
打开 config.yml 并找到这一部分:
conditions:
  health:
    conditions:
    - '%health%<21'
    - '%health%>15'
    type: AND
    yes: Healthy!
    no: Damaged!health 为这个条件的名称。
conditions 为该条件要满足的子条件。
type 为条件类型,决定是所有子条件都要满足还是只需一个满足。
yes & no 为变量符输出值。
用法
你有 2 种方法来使用条件。
一种方法是使用 %condition:<名称>%,它将输出根据是否满足该条件而输出该条件的 yes 或者 no 的值。(如果你是在外部使用该变量符,请参考变量符一节中的外部用法)
另一种方法是将该条件的名称放置在可以放置条件的地方。这包括 Boss条,计分板和布局的显示条件配置,例如:
scoreboards:
  MyScoreboard:
    display-condition: MyCondition在这种情况下,yes/no 的配置也未被使用,因此你也不需要配置它们。
简写形式
如果你正在尝试可以放置条件的地方使用条件(Boss条,计分板等的显示条件等),你可以使用一个简写形式。
简写形式可以通过在各个条件的中间处使用 ; 分开以代表 AND 条件类型(即所有条件必须满足)。 OR 条件类型目前不支持。
示例:
使用前:
scoreboards:
  myScoreboard:
    display-condition: myCondition
.
.
.
conditions:
  myCondition:
    conditions:
      - "%my_placeholder%=something"
      - "%money%>1000"
    type: AND使用后:
scoreboards:
  myScoreboard:
    display-condition: "%my_placeholder%=something;%player_ping%>1000"刷新间隔
条件实际上只是一个变量符,同样它们也必须定期刷新。刷新间隔目前还不可以直接配置。它们基于子条件、yes/no 值等处包含的变量符决定它自身的刷新间隔。权限检查间隔为 1000 毫秒。 如果该条件只包含基于事件的变量符(即该变量符只在一个事件后才会刷新而不是定时刷新,例如 %world% 和 %server%),刷新间隔为 500 毫秒。 要配置变量符的刷新间隔,请查看 优化插件 页面。
提示
如果你正在被 = 条件判别困扰,请务必注意变量符的输出值和你设置的值必须完全一致(包括颜色代码)。如果你在使用 变量符输出替换,那么你应该设置被替换后的输出值。
要查看一个变量符的精确输出(包括颜色代码),请使用指令: /tab parse <玩家> <变量符>。
最后更新于
这有帮助吗?
