跳转到内容

障碍物配置 obstacles.yml

obstacles.yml 定义了地牢中的障碍物组。障碍物是在指定位置放置/移除方块的机制,常用于创建门、牢笼、机关等。

顶层段使用 障碍物(或英文 obstacles),其下每个键是一个障碍物组的名称。

obstacles:
出生点屏障:
# 方块列表,格式: "x,y,z,方块类型"
blocks:
- "-2,64,5,BARRIER"
- "-1,64,5,BARRIER"
- "0,64,5,BARRIER"
auto_create: true # 是否在副本开始时自动创建
trigger_mode: "进入触发" # 触发模式
trigger_cooldown: 2 # 触发冷却时间(秒)
trigger_once: false # 是否只能触发一次
on_create: |- # 创建时执行的脚本
action.message('@all', '&c能量屏障已激活!')
action.sound('@all', 'BLOCK_BEACON_ACTIVATE', 1.0, 1.2)
on_delete: |- # 删除时执行的脚本
action.message('@all', '&a屏障已解除,前方通路打开!')
action.sound('@all', 'ENTITY_GENERIC_EXPLODE', 1.0, 1.0)
trigger_script: |- # 触发时执行的脚本
action.damage('@trigger', 3.0)
action.message('@trigger', '&c你触碰到了能量屏障!')
Boss房大门:
blocks:
- "20,64,0,IRON_BARS"
- "20,65,0,IRON_BARS"
- "21,64,0,IRON_BARS"
on_create: |-
action.sound('@all', 'BLOCK_IRON_DOOR_CLOSE', 1.0, 0.8)
on_delete: |-
action.sound('@all', 'BLOCK_IRON_DOOR_OPEN', 1.0, 0.8)
auto_create: false # 不自动创建,由脚本控制
trigger_mode: "无触发"
trigger_script: []
trigger_cooldown: 0
trigger_once: false

blocks 列表的每个元素是 x,y,z,方块类型 四段,前三段为坐标、第四段为方块材质名(Bukkit Material)。

blocks:
- "10,64,10,IRON_BARS"
- "-10,63,-10,LAVA"
- "30,64,0,BARRIER"

触发模式的取值同时支持中文与英文写法,未识别的值按「无触发」处理。

配置值等价英文说明
无触发(默认)不触发,仅作为方块屏障
进入触发enter玩家进入障碍物区域时触发
离开触发leave玩家离开障碍物区域时触发
持续触发continuous玩家在区域内时持续触发
字段(中文 / 英文)类型默认值说明
方块 / blocksList必填方块列表,格式 x,y,z,方块类型
自动创建 / auto_createBooleanfalse副本开始时是否自动创建
触发模式 / trigger_modeString无触发触发模式
触发冷却 / trigger_cooldownInt0触发冷却(秒)
仅触发一次 / trigger_onceBooleanfalse是否只触发一次
创建时 / on_createList / 多行字符串创建障碍物时执行的脚本
删除时 / on_deleteList / 多行字符串删除障碍物时执行的脚本
触发脚本 / trigger_scriptList / 多行字符串玩家接触障碍物时执行的脚本