Skip to content

作用

FixedTime 用于让指定世界的时间固定不再流动。

它适合大厅、主城、展示区、建筑摄影世界、剧情地图,以及任何需要长期保持同一光照氛围的场景。

默认配置:GroovyConfig/FixedTime.yml

如果你在 config.yml -> feature-scripts.config-directory 中改过脚本配置目录,请以实际目录为准。

配置示例

yml
# 是否启用该脚本
enabled: true

# 生效世界列表
# 只有这些世界会冻结时间
worlds:
  - world

# 固定时间(0 ~ 23999)
# 6000 = 正午
# 18000 = 午夜
time: 6000

# 是否同时关闭昼夜循环游戏规则
disable-daylight-cycle: true

# 重新校正时间的间隔(tick)
update-interval-ticks: 20

# 脚本卸载时是否恢复昼夜循环
restore-daylight-cycle-on-unregister: false

关键项说明

worlds

限定会被冻结时间的世界。

time

设置固定时间点。

常见参考:

  • 0:日出附近
  • 6000:正午
  • 12000:日落附近
  • 18000:午夜

disable-daylight-cycle

是否把原版 doDaylightCycle 游戏规则一起关闭。

update-interval-ticks

脚本重新校正时间的间隔。

数值越小,时间越稳定;数值太小通常也没必要,默认 20 tick 已足够。

restore-daylight-cycle-on-unregister

脚本卸载时是否恢复原版昼夜循环。

实际行为

脚本注册时会:

  • 先同步当前命中世界的时间
  • 按配置决定是否关闭 doDaylightCycle
  • 再启动一个周期任务持续校正时间

脚本重载 / 卸载时会:

  • 先恢复旧脚本接管前的 doDaylightCycle 原始状态
  • 再由新脚本按最新配置重新接管目标世界

因此它不是只“设置一次时间”,而是会在运行期持续维持固定时间效果,同时尽量避免 reload 后遗留旧世界状态。

启用与重载

修改这个脚本的配置文件后,通常执行:

text
/hncore reload scripts

如果你改的是 config.yml 中的脚本目录名、脚本系统总开关等核心配置,则应执行:

text
/hncore reload

联动说明

注意事项

  • 它当前只负责固定时间,不处理天气
  • 如果你只想让世界保持白天,但仍允许下雨,那只开 FixedTime 即可
  • 如果你想要“固定时间 + 永远晴天”,应该同时使用 FixedTimeNoRain

HN 系列插件文档