点击动作(clickAction)机制
在玩家点击方块或家具时执行命令、发出声音或发送消息
信息
clickAction
机制允许你在玩家点击方块或家具时执行命令、发出声音或发送消息。
配置
接下来,在 mechanics
不分,你可以在任何 noteblock-mechanic
、furniture-mechanic
或 stringblock-mechanic
下添加默认的 clickAction 机制。
Mechanics:
noteblock/furniture/stringblock:
clickActions:
- conditions:
- '#player.hasPermission("test.permission")'
actions:
- '[console] say <player> hello <player>!'
在这步过后,如果玩家拥有权限 test.permission
,玩家会触发控制台命令 say hello <player>
的动作。
如果你没有使用条件,你需要在必要的地方插入括号:
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