Chrono API

Chrono API

控制游戏内时间流动的前置API模组。

Chrono API

该模组从 Deus Chrono-Machina 中提取而来,目的是将其可复用的时间控制引擎与原模组的玩法内容分离。它提供了一个干净的基础,其他模组无需依赖 Deus Chrono-Machina 本身即可使用时间操控功能。

特性

  • 将 tick 速率设置为 0.0001 至 100 TPS。
  • 全局或在实体拥有者周围暂停和恢复时间。
  • 为竞技场和特殊玩法区域创建有作用域且有边界的时间场。
  • 将实体加入白名单,使其在时间暂停期间仍可继续行动。
  • 记录已加载的世界历史,并回溯实体、方块、物品、弹射物、物品栏以及支持的玩家状态。
  • 包含供附加模组开发者和玩法集成使用的 Java API。
  • 包含用于自定义时间场规则、回溯保护、玩家状态和客户端视觉效果的扩展钩子。
  • 包含对冻结实体、插值、回溯物品轨迹和回滚效果的客户端支持。
  • 提供 /chrono 命令树,用于测试和服务器管理。

Java API 示例

import chrono_api.api.ChronoTime;
import net.minecraft.server.level.ServerPlayer;

public void useChronoApi(ServerPlayer player) {
    ChronoTime.setTickrate(8.0F, player);
    ChronoTime.pause(true, player);

    // Later, release this player's field.
    ChronoTime.clear(player);
}

public boolean rewind(ServerPlayer player) {
    return ChronoTime.rewind(
            player.serverLevel(),
            player.position(),
            5.0D,
            player
    );
}

命令

所有命令均需要权限等级 2。

  • /chrono settickrate <value> — 设置当前时间速率。
  • /chrono pausetime <true|false> — 暂停或恢复时间。
  • /chrono rewindTime <seconds> — 回溯可用的本地历史。
  • /chrono whitelist add <targets> — 添加实体豁免。
  • /chrono whitelist remove <targets> — 移除实体豁免。
  • /chrono whitelist clear — 清除豁免。
  • /chrono whitelist list — 显示白名单大小。

需求

  • Minecraft 1.20.1
  • Minecraft Forge 47 或 1.20.1 系列中的更新版本
  • Java 17