Skip to content

extraction.yml:撤离点

每局必须同时存在至少一个无条件计时撤离点和一个条件撤离点。所有撤离区域互相不得重叠。

通用字段

路径类型 / 范围说明生效
points.<id>配置段ID 仅小写字母、数字、连字符热重载
display-name非空字符串UI 名称热重载
typeTIMED/CONDITIONAL决定是否必须有 unlock热重载
regionworld,x1,y1,z1,x2,y2,z2整数方块区域;点之间不得重叠热重载
countdown秒,1..3600玩家持续满足条件的倒计时热重载
interrupt.on-damage布尔受伤是否打断热重载
interrupt.on-leave布尔离开撤离区域时会中断撤离热重载

条件撤离 unlock

字段类型 / 范围说明
mob非空字符串MythicMobs 怪物 ID
mob-display-name非空字符串进度提示名
count整数 1..100000要求击杀数
scopeRUN/PLAYER全局共享解锁 / 击杀玩家个人解锁

两个条件点不得使用完全相同的 mob + count + scope。TIMED 点严格禁止 unlock;CONDITIONAL 点严格要求它。

完整默认配置

yaml
points:
  timed-east:
    display-name: "东部公路"
    type: TIMED
    region: "world,28,63,28,34,70,34"
    countdown: 10
    interrupt:
      on-damage: true
      on-leave: true
  boss-west:
    display-name: "西部封锁线"
    type: CONDITIONAL
    region: "world,-34,63,-34,-28,70,-28"
    countdown: 15
    interrupt:
      on-damage: true
      on-leave: true
    unlock:
      mob: GridRaidBoss
      mob-display-name: "区域首领"
      count: 1
      scope: RUN

常见错误与验证

  • 不同撤离区域之间建议至少间隔一格,避免边界重叠。
  • mob 必须和击杀事件中取得的 MythicMobs ID 相同,不是显示名。
  • 重载后分别验证:TIMED 完整倒计时;受伤按开关处理、离区始终打断;RUN 由一人击杀后全队解锁;PLAYER 只对击杀归属玩家解锁;成功撤离只结算一次。

on-leave 的真实行为

ExtractionManager 每 tick 都会检查玩家是否仍在同一撤离区域,离开即调用 LEFT_ZONE 中断。当前代码没有读取 on-leave 来绕过此检查,因此把它设为 false 也不会允许离区继续倒计时。