事件动作
方块事件写在 block/*.yml 的 events 下。每个事件有自己的触发类型、条件和动作列表。
事件类型
| 类型 | 触发时机 |
|---|---|
left | 玩家左键点击方块。 |
right | 玩家右键点击方块。 |
break | 玩家破坏方块。 |
break 事件里可以使用 cancel 阻止破坏,也可以使用 drop-origin 或 drop:* 控制掉落。
动作列表
| 动作 | 说明 |
|---|---|
animation:动作ID | 播放 DragonCore 方块动作。 |
cancel | 取消当前交互或破坏事件。 |
remove | 直接移除该方块,并删除保存数据。 |
blockcd:秒数 | 让当前方块进入玩家个人冷却。 |
cd:组名:秒数 | 让玩家的指定冷却组进入冷却。 |
cd:秒数 | 让玩家的默认冷却组进入冷却。 |
servercd:组名:秒数 | 让全服指定冷却组进入冷却。 |
servercd:秒数 | 让全服默认冷却组进入冷却。 |
console:指令 | 控制台执行指令,支持 PAPI 变量。 |
op:指令 | 玩家临时 OP 执行指令,支持 PAPI 变量。 |
sit:高度 | 让玩家坐到方块位置,默认高度 0.2。 |
message:文本 | 给玩家发送消息,支持 & 颜色符号。 |
drop-origin | 掉落当前方块原始物品。 |
drop:物品源@物品ID:数量 | 掉落指定物品库物品。 |
return | 中断运行,不再检测后续事件。 |
掉落物品源
drop:* 支持以下物品源缩写:
| 缩写 | 物品来源 |
|---|---|
AF | AzureFlow |
NI | NeigeItems |
SI | SX-Item |
MM | MythicMobs |
OA | OriginAttribute |
示例:drop:MM@测试物品:1。
数量支持固定值,也支持 min-max 格式。正式使用前建议先在测试服检查控制台,物品 ID 写错会输出错误提示。
内置占位
动作和条件中会替换以下占位:
| 占位 | 说明 |
|---|---|
{owner} | 方块放置者名称。没有放置者时为 SYSTEM。 |
{id} | 当前方块 ID。 |
指令类动作还会经过 PlaceholderAPI 变量替换,例如 %player_name%。
示例:右键播放动画并进入冷却
yaml
发光按钮:
type: "right"
cd-group: "button"
cd-message: "&7按钮还在冷却中,剩余 {time} 秒。"
true-action:
- "animation:open"
- "message:&a你启动了按钮。"
- "cd:button:2.0"示例:破坏时掉落原方块
yaml
回收家具:
type: "break"
true-action:
- "cancel"
- "drop-origin"
- "remove"这个写法会取消原版破坏,掉落玩家当初放置的方块物品,并删除该位置的数据。