跳到正文

MicroTimingReplay

作者:ryan100c

Record sub-tick events and replay them in game!

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

MicroTimingReplay (MTIR)

Read more in README.md

A Fabric mod for recording micro-timing events on the server over a period of time (block updates, shape updates, scheduled ticks, block events, piston movements, entity movement/spawning, etc.) and later step-by-step replaying them — you can go forward, backward, jump to any step, and inspect the Java call stack at the moment each event was produced.


Core Concepts

Profile
A container for one recording session. Each profile has its own name, one or more Areas, all recorded tick frames, plus associated world backups and call-stack files.

Area
An axis-aligned bounding box + the dimension it belongs to. Only events that fall inside an area are recorded. A profile can have multiple areas and can span dimensions.

If a profile has no areas at all, no spatial filtering is applied (every event in the entire world is recorded) — the data volume becomes enormous; this is not recommended.

Frame / Event / Step
Recording is sliced into frames by game tick (TickFrame). Inside each frame is an event tree:

Phase → Queue → Update → Leaf events (add scheduled tick / entity move / ...)


Quick Start

/tick freeze
/mtr profile create test
/mtr profile area add test 100 60 100 120 80 120
/mtr record test 20

Recording stops automatically after 20 gt (or you can stop it manually with /mtr record stop).

/mtr replay start test
/mtr replay forward steps 1
/mtr replay screen
/mtr replay stop

Notes

  • Run /tick freeze before recording. The mod never freezes or unfreezes time by itself. Replay is unaffected; stepping works correctly even without freezing.
  • Replay truly modifies the world. replay start restores the areas to the recording start state; replay stop restores your live world. If the server crashes or is force-killed during replay, the _replay backup is not restored automatically and your world stays at the recording-start state — in that case simply run /mtr replay start again and then a normal stop to recover.
  • Non-player entities inside the areas are backed up and restored. On restore the entities inside the areas are first cleared, then rebuilt from the backup.
  • No areas = no filtering. A profile without any areas records every event in the whole world; use with caution.
  • subscribe, unsubscribe, screen and dump must be executed by a player (they either open a UI for the player or bind to a player). All other commands can be run from the console or command blocks.
  • The “currently viewed” state of /mtr profile info is a single server-wide variable; simultaneous operations by multiple players will interfere with each other.

常见问题

MicroTimingReplay 支持哪些 Minecraft 版本?

MicroTimingReplay 支持 Minecraft Java 版 1.21.1–26.3,共 3 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

MicroTimingReplay 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。

评论

登录后评论和评分

ryan100c 的其他作品

查看全部 →