跳到正文

Hourglass

作者:DuckyCrayfish

床可以平滑地加速时间流逝直到白天。可自定义昼夜长度。

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

Hourglass Logo



 



 



Hourglass 是一款 Minecraft Forge 模组,让你能够掌控时间的流逝。它允许你
自定义昼夜循环的时长,并通过加快时间流逝来改变 Minecraft 的睡眠机制。

功能

此模组(可选)**会替换原版睡眠功能,让时间平滑自然地过渡
至清晨**:当你躺在床上时,时间流逝会加快。在多人游戏中,时间加快的程度取决于当前
正在睡觉的玩家比例。这样就无需使用任何睡眠投票系统或玩家人数门槛,因为无论有多少
玩家入睡,都能影响夜晚的时长。

 

Hourglass 允许自定义昼夜循环时长,并可分别控制白天和夜晚的
速度。不同于原版的 20 分钟时长,你可以放慢时间,让 Minecraft 中的一天和现实中的一天
一样长;也可以加快夜晚的流逝,让游戏体验更加轻松。

 

Hourglass 还提供了多种时间效果,可以加快 Minecraft 中各种
元素的进程,以匹配当前的时间速度。例如作物生长、草方块蔓延、天气变化、药水效果、熔炉、漏斗等。大多数时间效果
默认处于禁用状态,但可以通过设置对应的配置选项启用。

兼容性

Hourglass 与以下模组兼容:

睡眠投票模组

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/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

DuckyCrayfish 的其他作品

查看全部 →