Skip to content

点击动作(clickAction)机制

在玩家点击方块或家具时执行命令、发出声音或发送消息

信息

clickAction 机制允许你在玩家点击方块或家具时执行命令、发出声音或发送消息。

配置

若要着手制作,先创建一个基础的方块家具

接下来,在 mechanics 不分,你可以在任何 noteblock-mechanicfurniture-mechanicstringblock-mechanic 下添加默认的 clickAction 机制。

YAML
Mechanics:      
  noteblock/furniture/stringblock:
    clickActions:
      - conditions:
          - '#player.hasPermission("test.permission")'
        actions:
          - '[console] say <player> hello <player>!'

在这步过后,如果玩家拥有权限 test.permission,玩家会触发控制台命令 say hello <player> 的动作。

如果你没有使用条件,你需要在必要的地方插入括号:

YAML
Mechanics:
  noteblock/furniture/stringblock:
    clickActions:
      - conditions: []
        actions:
          - '[console] say <player> hello <player>!'

警告

这个机制不支持没有碰撞箱的家具。

条件

条件具有强大的灵活性。你可以对玩家(Player)或服务器(Server)使用任意“get”类方法。可参阅下文 Spigot Javadoc 获取所有可用的方法。

除此之外,Spring 文档提供了一种理解条件表达式的思路。

条件示例

#server.getOnlinePlayers().size() > 10

#server.getAllowEnd()

#server.getDefaultGameMode()

#player.world.name == 'world'

#player.hasPermission("test.permission")

#player.gamemode.name() == 'ADVENTURE'

动作

[console] <命令>

[player] <命令>

[message] <消息>

[actionbar] <消息>

{source=声源 volume=音量 pitch=音调} [sound] <声音名称>

动作示例

[console] say hello

[player] say hello

[message] <blue>Hello!

[actionbar] <gray>Hello from the actionbar!

{source=AMBIENT volume=0.1 pitch=1} [sound] minecraft:block.shulker_box.close