睡眠同步HUD

睡眠同步HUD

在HUD上直接查看谁在睡觉谁没有。实时显示夜晚跳过阈值的进度,每个未睡觉的人旁边附有原因,并用限速的提醒取代聊天刷屏。在纯净服务器上同样在客户端运行。

Sleep Sync HUD

“谁还没上床睡觉?” —— 不再通过聊天频道,而是在你的HUD上得到答案,每晚五次。

它的功能

角落里的一个面板,列出所有在线玩家,并配有床图标,当玩家入睡时图标会亮起。使用H键切换显示。

一个通往跳过夜晚阈值的进度条,完全按照游戏本身的计算方式运作——基于players_sleeping_percentage游戏规则,按维度分别计算,并且会如实反映跳过夜晚功能被完全关闭的情况。

每个仍未入睡的玩家旁边会显示原因,这样就不会有人被误认为是恶意挂机:

  • 附近有怪物 —— 有怪物处于游戏自身床铺检测所使用的同一区域内,因此游戏会拒绝让他们使用床铺
  • 此处无床 —— 玩家位于下界或末地,或者仅仅是所在位置还不够暗
  • 离开状态 —— 已经有一段时间没有移动
  • 旁观者 —— 虽然在线,但不会计入睡眠人数

用安静的提醒代替聊天刷屏。 按下N键,仍未入睡的玩家会收到一个提示,告知他们其他人正在等待。两个独立的冷却时间确保行为文明:一个按发送者计算,防止有人一直按着键;另一个按目标计算,即使整个服务器的人都针对一个人,也只会生成一条提示。

它也能在你没有管理权限的服务器上运行

当模组同时安装在服务器和客户端时效果最佳——这种情况下列出的所有信息都是精确的。

但它也能**仅在客户端运行,即使是在原版服务器上**,因为原版游戏已经向客户端透露了比表面看起来更多的信息:

  • 睡眠人数和阈值来自于服务器在睡眠列表变化时向世界中所有玩家广播的行动条消息。因此**这两个数字是精确的**,并非估算。
  • 玩家是否在床上属于同步的实体数据,因此你的客户端追踪到的任何玩家——以及站在他们旁边的怪物——都能被确切知晓。

缺失的是你视距之外的玩家信息。他们会被标记为超出范围,而不是进行猜测,因为错误的“未入睡”提示正是这个模组旨在防止的误解。标题栏会显示~代替阈值百分比,以便你始终了解当前所处的模式。

离开检测和提示ping功能需要服务器端支持;在原版服务器上,ping键可以改为发送一条普通的聊天消息,但该功能默认关闭,因为它会以你的名义公开发言。

其他一切

  • 命令:/sleepsync, /sleepsync ping [player], /sleepsync reload
  • 双端均使用纯JSON配置文件——面板位置、透明度、行数限制、怪物扫描半径、离开超时、ping冷却时间
  • 可选地屏蔽原版重复的“N/M 名玩家正在睡觉”行动条消息,因为面板显示相同的两个数字,并附带了玩家名称
  • 图标是绘制出来的,而非贴图,因此不会与资源包冲突或丢失
  • 支持英语和俄语

需要 Fabric API。