截图
介绍
Hourglass 是一款 Minecraft Forge 模组,让你能够掌控时间的流逝。它允许你
自定义昼夜循环的时长,并通过加快时间流逝来改变 Minecraft 的睡眠机制。
功能
此模组(可选)**会替换原版睡眠功能,让时间平滑自然地过渡
至清晨**:当你躺在床上时,时间流逝会加快。在多人游戏中,时间加快的程度取决于当前
正在睡觉的玩家比例。这样就无需使用任何睡眠投票系统或玩家人数门槛,因为无论有多少
玩家入睡,都能影响夜晚的时长。
Hourglass 允许自定义昼夜循环时长,并可分别控制白天和夜晚的
速度。不同于原版的 20 分钟时长,你可以放慢时间,让 Minecraft 中的一天和现实中的一天
一样长;也可以加快夜晚的流逝,让游戏体验更加轻松。
Hourglass 还提供了多种时间效果,可以加快 Minecraft 中各种
元素的进程,以匹配当前的时间速度。例如作物生长、草方块蔓延、天气变化、药水效果、熔炉、漏斗等。大多数时间效果
默认处于禁用状态,但可以通过设置对应的配置选项启用。
兼容性
Hourglass 与以下模组兼容:
- Comforts
- Serene Seasons
- Enhanced Celestials
- 夸克
- 夸克的 Improved Sleeping 模块会干扰 Hourglass 的睡眠功能。请参阅下方说明。
- 夸克的 “Nerf Clock” 选项会导致 Hourglass 的床上时钟失效。请禁用夸克的这项调整,或通过
displayBedClock配置项禁用 Hourglass 的床上时钟。 - Morpheus
- 若要与 Morpheus 一起使用,必须禁用 Hourglass 的睡眠功能。请参阅下方说明。
- Good Night’s Sleep
睡眠投票模组
Hourglass 与支持睡眠投票或具有睡眠百分比系统的模组兼容,例如
Quark 和 Morpheus,但它们与本模组的睡眠功能冲突。这些功能应
在对应模组中禁用,或禁用 Hourglass 中的睡眠功能。
睡眠功能可通过命令或文件修改 enableSleepFeature 选项来禁用。
其他兼容性说明
目前仅支持主世界维度。不过,Minecraft 中的大多数维度
(包括自定义维度)都会从主世界获取时间信息,因此
会以相同的速率流逝时间。
命令
/hourglass config <config-key> [<value>]
修改或显示指定配置选项的当前值。
如果省略 <value> 参数,此命令将显示该配置选项的当前值。
部分配置无法通过此命令访问,需要通过配置文件进行访问。
/hourglass query timeSpeed
显示当前时间流逝的速度。
/hourglass query sleeperCount
显示当前维度中正在睡觉的玩家比例。
配置
所有配置值均可在运行时更改,无需重新加载游戏。
虽然许多配置选项可通过
config 命令访问,但有些只能通过访问
模组的配置文件来访问。大多数选项位于模组的
服务端配置文件中,适用于单人世界和多人服务器。
还有一些客户端专属选项存在于客户端配置文件中。
整合包开发者可以通过先在测试世界中调整
服务端设置,然后将文件移动到整合包的 ./defaultconfigs 文件夹中,
来自定义其整合包中的 Hourglass 服务端设置。Forge 会将 defaultconfigs 文件夹中的所有文件移动到
所有新创建世界的 serverconfig 文件夹中。
自定义 Hourglass 时,时间速度通过倍率控制。值为 1 等同于
原版速度(一个完整的昼夜循环为 20 分钟)。将 daySpeed 和 nightSpeed 设为 0.5
会使时间速度减半,将一整天的持续时间加倍至 40 分钟。同样,
将配置速度加倍至 2.0 会使白天缩短,从一个早晨到下一个早晨仅持续 10 分钟。
_警告:将 daySpeed 和 nightSpeed 设置为高于 3600 的值可能对光敏性癫痫患者不安全。_
默认服务端配置
相对于 Minecraft 文件夹的位置:
- 单人世界:
./saves/<save>/serverconfig/hourglass-server.toml - 多人服务器:
./world/serverconfig/hourglass-server.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
#此参数定义将睡觉玩家百分比转换为时间速度的插值函数的曲率。
#所使用的函数为归一化可调 S 形函数。
#值为 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
[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
常见问题
Hourglass 支持哪些 Minecraft 版本?
Hourglass 支持 Minecraft Java 版 1.16.2–1.21.1,共 18 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。
Hourglass 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。
评论
登录后评论和评分