🏁要求

条件功能允许你基于权限检查执行操作

条件

语法

# open_requirement
# click_requirement
view_requirement:

  # 设置需要满足的最低条件数量才能被视为成功。
  # 默认值与条件数量相同。
  minimumRequirement: <number>
  
  # 条件列表,下面是每种类型的所有信息
  requirements:
    - type: permission
      permission: "example.permission"
      deny:
        - type: message
          messages:
            - "&c你没有权限!"
    - type: placeholder
      placeholder: "%player_gamemode%" # 需要PAPI ecloud Player
      value: "CREATIVE"    
      action: equals_string
      # 特定拒绝操作
      deny:
        - type: message
          messages:
            - "&c你必须在创造模式下"      
    - type: regex
      input: "%player_item_in_hand%" # 需要PAPI ecloud Player
      regex: "(NETHERITE_|DIAMOND_|IRON_|GOLDEN_|STONE_|WOODEN_|LEATHER_|BOW|CROSSBOW|FISHING_ROD|SHEARS|SHIELD|TRIDENT|TURTLE_HELMET|ELYTRA|FLINT_AND_STEEL)"      
      deny:
        - type: message
          messages:
            - "&c你手中没有物品!"
  
  # 全局成功操作
  success:
    - type: sound
      sound: ENTITY_PLAYER_LEVELUP
      
  # 全局拒绝操作
  deny:    
    - type: message
      messages:
        - "&c你手中没有物品。"

除了全局拒绝和成功操作外,你还可以为每个条件定义特定的拒绝和成功操作。

查看条件

定义玩家必须满足的要求才能在菜单中看到一个按钮。

示例:

view_requirement:
  deny:
    - type: chat
      messages:
        - "嘿,我的名字是 %player%"
  success:
    - type: sound
      sound: ENTITY_PLAYER_LEVELUP
  requirements:
    - type: permission
      permission: "admin.use"
    - type: placeholder
      placeholder: "%player_is_flying%"
      value: "yes"
      action: equals_string

打开条件

定义玩家必须满足的要求才能打开菜单。

示例

open_requirement:
  requirements:
    - type: regex
      input: "%player_item_in_hand%"
      regex: "(NETHERITE_|DIAMOND_|IRON_|GOLDEN_|STONE_|WOODEN_|LEATHER_|BOW|CROSSBOW|FISHING_ROD|SHEARS|SHIELD|TRIDENT|TURTLE_HELMET|ELYTRA|FLINT_AND_STEEL)"
  deny:
    - type: message
      messages:
        - "&c你手中没有物品。"

在下面的示例中,检查玩家手中的物品。如果物品匹配正则表达式模式,玩家可以打开菜单。否则,他们会收到一条消息,菜单不会打开。

点击条件

定义多个条件以点击按钮。你需要指定几个条件和相应的点击操作。

你可以使用以下格式直接应用所有点击:

clicks:
  - ALL # 或者 ANY

你可以将点击类型设置为 ALLANY 来将操作应用于所有点击。点击列表可以在 config.json 文件中管理。

示例:

click_requirement:
  left_click: # 你必须为你的条件指定一个名称,这个名称不会被使用。
    clicks:
      - LEFT
      - SHIFT_LEFT
    requirements:
      - type: placeholder
        placeholder: "%player_gamemode%"
        value: "CREATIVE"
        action: equals_string
    deny:
      - type: sound
        sound: VILLAGER_NO
        pitch: 0.5f
        volume: 1.5f
    success:
      - type: message
        messages:
          - "&a左键点击!"
  right_click: # 你必须为你的条件指定一个名称,这个名称不会被使用。
    clicks:
      - RIGHT
      - SHIFT_RIGHT
    requirements:
      - type: placeholder
        placeholder: "%player_gamemode%"
        value: "CREATIVE"
        action: equals_string
    deny:
      - type: sound
        sound: VILLAGER_NO
        pitch: 1.5f
        volume: 0.5f
    success:
      - type: message
        messages:
          - "&a右键点击!"

条件类型

类型
描述

检查玩家是否具有指定的权限。要反转条件,请在权限前面添加感叹号 !,例如:!<permission>

允许使用占位符定义权限。你必须指定占位符、与值进行的操作以及要检查的值。有关更多信息,请点击此处。

你可以指定玩家;否则,将使用打开菜单的玩家作为默认值。

检查输入是否匹配指定的正则表达式模式。输入可以是一个占位符。

检查玩家的菜单中是否有特定物品。

检查占位符返回的文本是否可以是玩家昵称。

Last updated