睡眠时间模拟

睡眠时间模拟

睡觉会模拟跳过的夜晚,因此已加载的作物、机器、红石和动物年龄可以在早晨到来前推进。

Sleep Time Simulation

让你睡觉时世界继续运转。 Sleep Time Simulation 不会直接把时间跳到早晨,而是在你躺在床上的时候处理整个夜晚。已加载的作物和树苗正常获得生长机会,红石和熔炉继续运行,基于 tick 的模组机器也能继续工作。幼年动物会在夜间成长。模拟无需通常的床等待即可开始,并在所需的 tick 运行完毕后于早晨结束。

快捷栏上方的平滑 Night 进度条显示夜晚已处理的比例。睡眠黑暗从透明开始,在中途达到峰值,到早晨再次变透明。当你醒来时,进度条开始淡出。你可以分别开关进度条、黑暗效果和聊天消息。

两种模拟模式

  • FULL_SERVER(默认): 在有人睡觉时,以计算机能处理的最快速度运行完整的服务器 tick。这涵盖服务器范围的 tick 监听器以及已加载的世界。玩家会一直留在床上,直到模拟到达早晨。
  • WORLD_BATCH: 以正常服务器循环速度分批运行额外的世界 tick。这在较慢的计算机上更易使用,但它不会推进所有服务器范围的系统。进度条和黑暗在客户端上进行了平滑处理,因此批量更新看起来不会是一顿一顿的。

默认情况下,在任一模式下,生物移动和 AI 都保持接近正常实时速度,而动物年龄和繁殖冷却会随着跳过的 tick 推进。如果你希望生物也接收额外的移动和 AI tick,请设置 normalMobTickRate = false。

兼容性与安装

  • Minecraft: Java 版 1.20.1
  • 加载器: Forge 47.x
  • 安装: 将 JAR 放入 mods 文件夹。对于多人游戏,请在客户端和服务器上安装相同版本。
  • 其他加载器: NeoForge 尚未针对此构建进行验证

只有已加载的区块会被模拟。植物生长仍遵循普通的光照要求和随机概率,因此一个晚上并不能保证作物或树木完全长成。当模组机器的逻辑使用此模组推进的 tick 时,它们会取得进展;基于真实经过时间的系统可能会有不同表现。大型世界和模组包可能会使睡眠跳过在真实时间中耗时更长。专用服务器多人游戏尚未经过验证。

配置

Forge 会在首次启动后创建 config/sleeptimesimulation-common.toml。编辑前请关闭游戏或服务器,然后重新启动。默认设置无需任何配置即可工作。

设置 默认值 作用
simulationMode "FULL_SERVER" 选择完整的加速服务器 tick 或 "WORLD_BATCH" 额外世界 tick。
extraTicksPerTick 64 批量模式下每个普通服务器 tick 的额外世界 tick 数。范围:1–256。在完整服务器模式下忽略。
maxSkipTicks 24000 一次睡眠期间模拟的最大 tick 数。范围:1–24000。较低的上限可能会让模拟在早晨前停止。
normalMobTickRate true 在推进年龄和繁殖冷却时,使生物移动和 AI 保持接近正常速度。
skipSleepDelay true 立即开始跳过,而不是等待正常的床延迟。
showProgressBar true 在快捷栏上方显示 Night 百分比。
useSleepDarknessEffect true 使用平滑的 0% → 50% → 100% 黑暗曲线。false 恢复原版睡眠黑暗。
showChatMessages true 显示睡眠跳过的开始和结束消息。
sleepOverlayMaxOpacity 170 50% 中点处的黑暗程度。范围:0–255;数值越高越暗。
progressSmoothingMillis 120 进度条和黑暗追上新的进度更新的速度。范围:16–1000 毫秒。
progressBarFadeMillis 500 跳过完成后进度条淡出的时间。范围:100–5000 毫秒。

示例: 要使用更温和的批量模式且不显示聊天消息,请设置 simulationMode = "WORLD_BATCH" 和 showChatMessages = false,然后重新启动 Minecraft。