跳到主要内容

/tribulation

手动开始、观察与清除一场天劫,不必等突破。start 需要 gamemaster 权限,也可以写成 /mxt tribulation …。

  • /tribulation ...

    • ... start <id> [<target>]

      开始一场天劫。

    • ... status [<target>]

      报告正在跑的天劫、第几拍(第 2 拍,还剩 5 拍)以及当前节拍的现场。

    • ... stop [<target>]

      清除当前天劫,留下的状态与跑完一场之后完全一致。

它走的就是突破触发时的同一条路径——启动闸门、启动前的逐拍校验、之后每 tick 消费一拍全部照旧,被替换的只有"要不要开始"这一个决定。因此它既是触发器,也是观测器。

/mxt tribulation start mxt_test:probe_timeline
/mxt tribulation start mxt_test:probe_timeline @e[type=minecraft:armor_stand,limit=1]
/mxt tribulation status
/mxt tribulation stop

start 的 id 是 data/<命名空间>/mxt/tribulation/<path>.json,Tab 补全列出当前注册表里的全部。被拒绝时会说明原因:已有天劫在进行、时间线为空、启动闸门不成立、某个节拍现在跑不了、被事件取消。

status 的现场按存档里的写法打印,例如 {"remaining":37,"type":"mxt:idle_countdown"} 表示这一拍还剩 37 tick;尚未开始(空) 表示这一拍刚轮到、entry 还没写现场。定义里写了启动前摇(windup)时,前摇期间报的是还在前摇,还剩 %s tick——那时时间线还没开始消费,报"第几拍"会撒谎。

目标必须是活体实体​

天劫挂在实体附件上、由实体的 tick 推进。所以测试时可以直接对一只召唤物下手,不必登录玩家——execute positioned 给选择器一个位置、limit=1 保证单选即可:

/execute positioned 0 100 0 run mxt tribulation start mxt_test:probe_timeline @e[tag=probe,limit=1]
/execute positioned 0 100 0 run mxt tribulation status @e[tag=probe,limit=1]
参数默认说明
id必填天劫定义 ID。
target命令执行者天劫挂在哪一个活体实体上。