Scaled Sleep 25% Of Players

Scaled Sleep 25% Of Players

ScaledSleep允许每个世界中可配置百分比的玩家跳过夜晚,附带进度消息、短暂延迟和床铺治疗(每秒2.5点生命值,并在早晨到来时为睡眠者完全恢复生命值)。

生活质量

ScaledSleep

一款 Hytale 服务器模组,可实现按比例跳过夜晚。当夜间有足够多的玩家入睡时,夜晚会自动跳过进入早晨。仅服务端安装(客户端无需安装)。


功能

  • 仅服务端
    玩家无需安装任何内容。

  • 按比例睡眠阈值(默认:25%)
    所需睡眠者数量根据在线且符合条件的玩家计算。

  • 按世界计数
    睡眠需求和进度按每个世界独立追踪。

  • 仅夜间睡眠窗口
    只有在设定的最早时间(默认:19.5 = 晚上7:30)之后,入睡才会计数。

  • 跳过延迟(默认:2秒)
    达到阈值后,延迟一小段时间再跳过夜晚。

  • 防抖动/防刷屏保护(默认:10秒)
    防止重复触发和消息刷屏。

  • 可选床铺恢复
    睡眠期间,玩家会恢复生命值(默认:2.5 生命值/秒)。可配置或禁用。

  • 可配置公告
    等待期间的进度消息,以及夜晚跳过时的最终消息。


工作原理

在设定的夜间窗口内,玩家可以在床上入睡。ScaledSleep 会按世界统计睡眠者,计算所需人数,并显示进度。

  • 等待期间,服务器会公告进度:
    "{睡眠者数}/{符合条件人数} 睡眠中 ({百分比}%)。"

  • 达到阈值时,倒计时开始。

  • 延迟结束后,夜晚跳过(如果启用),服务器公告:
    "{睡眠者数}/{所需人数} 睡眠中 ({百分比}%)。夜晚跳过!"

如果启用了生命恢复,玩家在保持入睡状态时会持续恢复生命值。


命令

命令 描述
/scaledsleep status 显示当前设置和实时睡眠进度(仅管理员)
/scaledsleep reload 重新加载配置文件(仅管理员)

配置

注意: 此模组的配置文件按世界存储,保存在该世界加载位置的存档目录中(不是单个全局配置文件)。每个世界可以有不同设置。

默认配置结构:

路径 默认值 描述
sleep.requiredPercent 0.25 需要入睡的符合条件玩家的百分比
sleep.minimumRequired 1 最小所需睡眠者数量(硬下限)
sleep.maximumRequired -1 最大所需睡眠者数量(-1 = 无限制)
sleep.perWorld true 按世界追踪睡眠者
sleep.skipNight true 达到阈值时是否跳过夜晚
sleep.minimumTime 19.5 睡眠开始计时的最早时间(晚上7:30)
sleep.setTimeTo 1000 跳过夜晚时设置的时间(早晨)
sleep.debounceSeconds 10 防止重复触发的冷却时间
sleep.skipDelaySeconds 2 达到阈值后跳过前的延迟时间
sleep.regen.enabled true 启用睡眠时的生命恢复
sleep.regen.amountPerSecond 2.5 睡眠期间每秒恢复的生命值
sleep.message.enabled true 启用最终的“夜晚跳过”消息
sleep.message.template (已展示) 最终消息的模板
sleep.progressMessage.enabled true 启用进度消息
sleep.progressMessage.template (已展示) 进度消息的模板
sleep.debug false 调试日志输出

消息模板支持以下变量:

  • {sleeping}{required}{eligible}{percent}

安装

  1. .jar 文件放入服务器的 mods/ 文件夹

  2. 重启服务器

  3. 使用 /scaledsleep status 验证模组是否正在运行(仅管理员)

  4. 如有需要,编辑对应世界的配置文件,然后运行 /scaledsleep reload