
Hourglass 是一个 Minecraft Forge 模组,让你能够控制时间的流逝。它允许你 自定义昼夜循环的长度,并通过加快时间流速来修改 Minecraft 的睡眠机制。
## 特性 此模组(可选)会**用平滑且自然的方式过渡到清晨,从而替换原版睡眠功能**,方法是在你躺在床上时加快时间流逝。在多人游戏中,时间流速会根据当前正在睡觉的玩家百分比而变快。这样就不再需要 任何睡眠投票系统或玩家数量阈值,因为任意数量的玩家都可以影响 夜晚的持续时间。 Hourglass 允许**自定义昼夜循环的持续时间**,并且可以分别独立控制白天和夜晚的 流速。不同于原版 20 分钟的持续时间,你可以放慢时间,让 Minecraft 中的一天和现实中的一天一样长;也可以加快夜晚流逝,以获得更宽容的游戏体验。 Hourglass 还提供了若干**时间效果**,可让 Minecraft 中各种元素的进程加快,以匹配当前的时间流速。例如作物生长、草生长、天气、药水效果、熔炉、漏斗等。这些时间效果大多默认禁用,但可以通过设置其对应的[配置选项](#configuration)来启用。 ## 兼容性 Hourglass 与以下模组兼容: * [Comforts](https://www.curseforge.com/minecraft/mc-mods/comforts) * [Serene Seasons](https://www.curseforge.com/minecraft/mc-mods/serene-seasons) * [Enhanced Celestials](https://www.curseforge.com/minecraft/mc-mods/enhanced-celestials) * [Quark](https://www.curseforge.com/minecraft/mc-mods/quark) * Quark 的 Improved Sleeping 模块会干扰 Hourglass 的睡眠功能。 [见下方说明。](#sleep-vote-mods) * Quark 的 “Nerf Clock” 选项会破坏 Hourglass 中的床上时钟。应禁用该 Quark 调整项, 或通过 `displayBedClock` 配置禁用 Hourglass 的床上时钟。 * [Morpheus](https://www.curseforge.com/minecraft/mc-mods/morpheus) * 若要与 Morpheus 一同使用,则需要禁用 Hourglass 的睡眠功能。 [见下方说明。](#sleep-vote-mods) * [Good Night's Sleep](https://www.curseforge.com/minecraft/mc-mods/good-nights-sleep) #### 睡眠投票类模组 Hourglass 与启用睡眠投票或具有睡眠百分比系统的模组(如 Quark 和 Morpheus)兼容,但它们会与本模组的睡眠功能发生冲突。应当在对应模组中禁用这些功能, 或者在 Hourglass 中禁用睡眠功能。 睡眠功能可通过命令或文件修改 `enableSleepFeature` 选项来禁用。 #### 其他兼容性说明 目前仅支持主世界(Overworld)。不过,Minecraft 中的大多数维度 (包括自定义维度)都从主世界派生时间信息,因此它们的时间也会以相同速率流逝。 ## 命令 #### `/hourglass config []` 修改或显示指定配置选项的当前值。 如果省略 `` 参数,此命令将显示该配置选项的当前值。 某些配置不能通过此命令访问,需要通过配置文件进行修改。 #### `/hourglass query timeSpeed` 显示当前时间流逝的速度。 #### `/hourglass query sleeperCount` 显示当前维度中正在睡觉的玩家比例。 ## 配置 所有配置值都可以在运行时更改,无需重新加载游戏。 虽然许多配置选项都可以通过 [config 命令](#hourglass-config-config-key-value)访问,但有些只能通过查看 模组的配置文件来修改。大多数选项位于模组的 [服务端配置文件](#default-server-config)中,无论是单人世界还是多人服务器都是如此。 另有少数仅客户端使用的选项位于[客户端配置文件](#default-client-config)中。 整合包开发者可以先在测试世界中调整 Hourglass 的服务端设置,然后将该文件移动到整合包的 `./defaultconfigs` 文件夹中, 以此来自定义整合包中的 Hourglass 服务端设置。Forge 会将 `defaultconfigs` 文件夹中的所有文件 移动到所有新创建世界的 `serverconfig` 文件夹中。 在自定义 Hourglass 时,**时间流速**通过乘数来控制。数值 1 等同于原版速度 (完整昼夜循环为 20 分钟)。将 daySpeed 和 nightSpeed 设为 0.5 会使时间流速减半,从而将完整一天的持续时间翻倍到 40 分钟。相应地, 将配置速度翻倍到 2.0,则会使一天缩短为仅 10 分钟,从一个早晨到下一个早晨。 > _**警告:** 将 daySpeed 和 nightSpeed 设置为高于 3600 的值,可能对患有光敏性癫痫的人群不安全。_ ### 默认服务端配置 相对于 Minecraft 文件夹的位置: * 单人世界:`./saves//serverconfig/hourglass-server.toml` * 多人服务器:`./world/serverconfig/hourglass-server.toml` ```toml [time] #白天时时间流逝的速度。 #白天定义为从 23500(黎明中段)到次日 12500(黄昏中段)之间的任意时间。 #原版速度:1.0 #范围:0.0 ~ 24000.0 daySpeed = 1.0 #夜晚时时间流逝的速度。 #夜晚定义为从 12500(黄昏中段)到 23500(黎明中段)之间的任意时间。 #原版速度:1.0 #范围:0.0 ~ 24000.0 nightSpeed = 1.0 [time.effects] #启用后,此效果会将天气流逝与当前时间流速同步。 #即,时间流逝越快,雨停得也越快。晴天不受影响。 #当设为 SLEEPING 时,仅在某个维度中至少有一名玩家正在睡觉时生效。 #注意:如果游戏规则 doWeatherCycle 为 false,则此设置不适用。 #允许的值:NEVER, ALWAYS, SLEEPING weatherEffect = "SLEEPING" #启用后,此效果会将随机刻速度与当前时间流速同步,强制 #作物、树木和草的生长以 baseRandomTickSpeed 乘以当前时间流速的速度进行。 #当设为 SLEEPING 时,除非某个维度中至少有一名玩家正在睡觉,否则 randomTickSpeed 将设为 baseRandomTickSpeed。 #有关随机刻速度影响的更多信息可见:https://minecraft.fandom.com/wiki/Tick#Random_tick #警告:此设置会覆盖 randomTickSpeed 游戏规则。若要修改基础随机刻速度, #请使用 baseRandomTickSpeed 设置,而不要直接修改游戏规则。 #允许的值:NEVER, ALWAYS, SLEEPING randomTickEffect = "NEVER" #randomTickEffect 时间效果所使用的基础随机刻速度。 #范围:> 0 baseRandomTickSpeed = 3 #启用后,此效果会加快药水效果进程,以匹配当前时间流速。 #当时间流速小于或等于 1.0 时,此效果不生效。 #这可能会对拥有大量玩家的服务器性能造成负面影响。 #当设为 ALWAYS 时,此效果会对该维度中所有玩家生效,无论白天还是夜晚。 #当设为 SLEEPING 时,此效果仅对正在睡觉的玩家生效。 #允许的值:NEVER, ALWAYS, SLEEPING potionEffect = "NEVER" #启用后,此效果会加快玩家饥饿效果进程,以匹配当前时间流速。 #这会导致在食物值满时回复更快,而在食物值过低时受到的伤害也更快。 #当时间流速小于或等于 1.0 时,此效果不生效。 #当设为 ALWAYS 时,此效果会对该维度中所有玩家生效,无论白天还是夜晚。不建议在较高难度下启用 #当设为 SLEEPING 时,此效果仅对正在睡觉的玩家生效。 #允许的值:NEVER, ALWAYS, SLEEPING hungerEffect = "NEVER" #启用后,此效果会推进熔炉、漏斗、刷怪笼等方块实体的进程,以匹配当前时间流速。 #警告:此时间效果会显著影响性能。 #当时间流速小于或等于 1.0 时,此效果不生效。 #当设为 SLEEPING 时,此效果仅在某个维度中至少有一名玩家正在睡觉时生效。 #允许的值:NEVER, ALWAYS, SLEEPING blockEntityEffect = "NEVER" [sleep] #启用或禁用本模组的睡眠功能。启用此设置会修改原版睡眠功能, #并可能与其他睡眠模组发生冲突。如果禁用,则 sleep 部分中的所有设置都不会生效。 enableSleepFeature = true ### 此设置定义单人游戏中的睡眠时间流速 ### #所有玩家都在睡觉时时间流逝的最大速度。 #数值 110 几乎等同于原版睡眠所需的时间。 #范围:0.0 ~ 24000.0 sleepSpeedMax = 120.0 #当满员服务器中只有 1 名玩家在睡觉时时间流逝的最小速度。 #范围:0.0 ~ 24000.0 sleepSpeedMin = 1.0 #所有玩家都在睡觉时时间流逝的速度。 #设为 -1 可禁用此功能(当所有玩家都在睡觉时将使用 sleepSpeedMax)。 #范围:-1.0 ~ 24000.0 sleepSpeedAll = -1.0 #此参数定义了将睡眠玩家百分比转换为时间流速的插值函数曲率。 #所使用的函数是归一化可调 Sigmoid 函数。 #数值 0.5 表示线性关系。 #较小的值会使曲线向 X 轴弯曲,较大的值会使曲线向 Y 轴弯曲。 #可使用此图作为调整曲线的参考:https://www.desmos.com/calculator/w8gntxzfow #函数鸣谢 Dino Dini:https://dinodini.wordpress.com/2010/04/05/normalized-tunable-sigmoid-functions/ #灵感鸣谢 SmoothSleep:https://www.spigotmc.org/resources/smoothsleep.32043/ #范围:0.0 ~ 1.0 sleepSpeedCurve = 0.3 #设为 'true' 时,玩家在清晨醒来后天气会像原版一样转晴。 #设为 'false' 时,天气将自然流逝。启用 accelerateWeather 时会更真实。 #注意:如果游戏规则 doWeatherCycle 为 false,则会忽略此设置。 clearWeatherOnWake = true #为 true 时,床的界面中会显示一个时钟。 #玩家可通过 hideBedClock 配置将此时钟隐藏。 allowBedClock = true #此部分定义通知消息设置。 #所有消息都支持 Minecraft 格式代码(https://minecraft.fandom.com/wiki/Formatting_codes)。 #所有消息都支持使用以下格式插入变量:${variableName} #type 选项控制消息显示位置: # SYSTEM: 作为聊天消息显示。(例如:“已设置重生点”) # GAME_INFO: 作为游戏信息显示在快捷栏上方。(例如:“你现在不能休息,床太远了”)。 #target 选项控制消息发送给谁: # ALL: 发送给服务器中的所有玩家。 # DIMENSION: 发送给当前维度中的所有玩家。 # SLEEPING: 发送给当前维度中所有正在睡觉的玩家。 # AWAKE: 发送给当前维度中所有醒着的玩家。 [sleep.messages] #此消息会在一次睡眠循环完成后发送。 [sleep.messages.morning] #可用变量: #sleepingPlayers -> 当前维度中刚才在睡觉的玩家数量。 #totalPlayers -> 当前维度中的玩家总数(不计旁观者)。 #sleepingPercentage -> 当前维度中在睡觉玩家所占百分比(不包含 % 符号)。 message = "§e§oTempus fugit!" #设置此消息显示的位置。 #允许的值:SYSTEM, GAME_INFO type = "GAME_INFO" #设置此消息发送给谁。 #target 为 'SLEEPING' 时,会将消息发送给所有刚醒来的玩家。 #允许的值:ALL, DIMENSION, SLEEPING, AWAKE target = "DIMENSION" #此消息会在玩家上床时发送。 [sleep.messages.enterBed] #可用变量: #player -> 开始睡觉的玩家。 #sleepingPlayers -> 当前维度中正在睡觉的玩家数量。 #totalPlayers -> 当前维度中的玩家总数(不计旁观者)。 #sleepingPercentage -> 当前维度中在睡觉玩家所占百分比(不包含 % 符号)。 message = "${player} is now sleeping. [${sleepingPlayers}/${totalPlayers}]" #设置此消息显示的位置。 #允许的值:SYSTEM, GAME_INFO type = "GAME_INFO" #设置此消息发送给谁。 #允许的值:ALL, DIMENSION, SLEEPING, AWAKE target = "DIMENSION" #此消息会在玩家离床时发送(不包括清晨自然醒来)。 [sleep.messages.leaveBed] #可用变量: #player -> 离开床的玩家。 #sleepingPlayers -> 当前维度中正在睡觉的玩家数量。 #totalPlayers -> 当前维度中的玩家总数(不计旁观者)。 #sleepingPercentage -> 当前维度中在睡觉玩家所占百分比(不包含 % 符号)。 message = "${player} has left their bed. [${sleepingPlayers}/${totalPlayers}]" #设置此消息显示的位置。 #允许的值:SYSTEM, GAME_INFO type = "GAME_INFO" #设置此消息发送给谁。 #允许的值:ALL, DIMENSION, SLEEPING, AWAKE target = "DIMENSION" ``` ### 默认客户端配置 相对于 Minecraft 文件夹的位置:`./config/hourglass-client.toml` ```toml [gui] #为 false 时,如果服务端设置允许,会在床的界面中显示一个时钟。 #为 true 时,时钟会被隐藏。 hideBedClock = false #设置床上时钟在屏幕上的对齐方式。 #允许的值:TOP_LEFT, TOP_CENTER, TOP_RIGHT, CENTER_LEFT, CENTER_CENTER, CENTER_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT clockAlignment = "TOP_RIGHT" #此设置会在每 tick 更新时钟位置,以防止上床时时钟抖动。 #副作用是,时钟首次显示时也不会像原版那样晃动。如果 #displayBedClock 为 false,则此设置不会使用。 preventClockWobble = true #设置时钟与屏幕边缘之间的距离。 #若 clockAlignment 为 CENTER_CENTER,则不使用此设置。 #范围:> 0 clockMargin = 16 #设置床上时钟的缩放比例。 #范围:> 1 clockScale = 64 ```友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:176,237 | 历史访问人次:277,332
今日访问人数:13,275 | 今日访问人次:15,225
昨日访问人数:23,567 | 昨日访问人次:27,193
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6