Fanta的智能占位符

Fanta的智能占位符

一个Fabric服务端模组,通过Placeholder API添加直播状态、自定义名称颜色、玩家角色、禁止睡觉切换和实时语音聊天指示器功能。

管理

Fanta 的智能占位符

一个 Fabric 服务端模组,通过 Placeholder API 添加直播状态、自定义名称颜色、玩家角色、无睡眠切换和实时语音聊天指示器。

最初为 TSNSMP 构建,设计用于与任何支持 Placeholder API 的聊天/标签栏模组配合使用。

[!IMPORTANT] 要使用此模组的全部功能,你必须安装一个支持 Placeholder API 的兼容模组——例如 Styled ChatStyled Player List。如果没有这些模组,此模组提供的占位符将不会在任何地方显示。


功能

🔴 直播状态

直播中的玩家可以在游戏内直接将自己标记为直播中。一个可配置的 LIVE 标签会通过占位符出现在聊天、标签栏或你的聊天模组支持占位符的任何位置。服务器会广播一条带有可点击链接的开播通知。

  • 使用 /live 切换
  • 使用 /live link <url> 设置你的直播链接
  • 可选地使用 /live autoLiveOnDisconnect 在断线重连后保持直播状态

🎨 自定义名称颜色

玩家可以为自己设置一个 RGB 十六进制颜色,该颜色会渲染在使用颜色占位符的任何位置。

  • 使用 /color <#hex> 设置——例如 /color #ff6b6b/color ff6b6b
  • 使用 /color clear 移除

🏷️ 玩家角色与后缀

为玩家分配可配置的角色符号(支持者、服主、成员等)。符号可在配置文件中完全自定义,并作为占位符暴露。管理员也可以为任何玩家分配自定义后缀文本。

💤 无睡眠

玩家可以选择退出跳过夜晚。当有无睡眠玩家在线时,任何试图睡觉的玩家都会看到警告标题/副标题和声音提示。无睡眠玩家的占位符会显示一个 ☠ 骷髅图标。

  • 使用 /nosleep 切换

🎙️ 语音聊天集成 (可选)

当安装了 Simple Voice Chat 时,实时语音状态图标会自动通过占位符显示:

状态 图标
说话中
静音 (当前不可用)
聋哑状态
已断开
在队伍中 (当前不可用)

图标映射到资源包字体——请包含捆绑的资源包以获得正确的渲染效果。

📝 后缀系统 (仅限管理员)

管理员可以为任何玩家分配自定义文本后缀。

  • /suffix <player> <text> — 设置后缀(最多 48 个字符)
  • /suffix get <player> — 查看玩家当前的后缀
  • /suffix clear <player> — 移除后缀

命令

命令 权限 描述
/live 所有人 切换你的直播状态
/live link <url> 所有人 设置你的直播链接
/live autoLiveOnDisconnect 所有人 切换断线时自动关闭
/color <hex> 所有人 设置你的名称颜色
/color clear 所有人 移除你的名称颜色
/nosleep 所有人 切换无睡眠状态
/suffix <player> <text> 管理员 设置玩家的后缀
/suffix get <player> 管理员 获取玩家的后缀
/suffix clear <player> 管理员 清除玩家的后缀

占位符

所有占位符都通过 Placeholder API 注册,并可在任何兼容的聊天/标签栏模组中使用。

占位符 描述
%playerstatus:live% 玩家直播中时显示 LIVE 标签,否则为空
%playerstatus:stream% 玩家直播中时显示原始直播链接,否则为空
%playerstatus:live_stream% LIVE 标签 + 直播链接组合
%playerstatus:clickable_stream% 可点击、可悬停的直播链接(可选标签作为参数)
%playerstatus:coloredname% 以玩家所选颜色渲染的玩家名称
%playerstatus:color% 玩家所选的十六进制颜色值
%playerstatus:role% 玩家的角色符号(也可使用 %playerstatus:suffix%
%playerstatus:vc_status% 当前语音聊天状态图标
%playerstatus:nosleep% 无睡眠激活时显示 ☠ 骷髅图标,否则为空

安装

  1. 安装 Fabric Loader ≥ 0.18.4
  2. 安装 Fabric API
  3. 安装 Placeholder API
  4. FantasSmartPlaceholders-1.5.0.jar 放入服务器的 mods/ 文件夹
  5. (可选) 安装 Simple Voice Chat 以使用语音状态图标
  6. 启动服务器——默认配置将在 config/playerstatus/config.json 生成

配置

配置文件在首次启动时生成于 config/playerstatus/config.json。所有消息字段都支持 QuickText / MiniMessage 格式化。

{
  "livePlaceholder": "<red><bold>LIVE</bold></red>",
  "notLivePlaceholder": "",
  "liveOnMessage": "<green>你现在是直播状态!</green>",
  "liveOffMessage": "<yellow>你已退出直播状态。</yellow>",
  "liveBroadcastMessage": "<gold>{player}</gold> 正在直播:<aqua><underline><click:open_url:{link}>{link}</click></underline></aqua>",
  "roles": {
    "owner": "^",
    "supporter": "$",
    "member": ""
  },
  "vcSpeakingIcon": "⌬",
  "vcMutedIcon": "⌭",
  "vcDeafenedIcon": "⌮",
  "vcDisconnectedIcon": "⌯",
  "vcGroupIcon": "⌰",
  "noSleepPlaceholder": "<red>☠</red>",
  "noSleepOnMessage": "<red>你已开启无睡眠模式。</red>",
  "noSleepOffMessage": "<green>你已关闭无睡眠模式。</green>",
  "noSleepBroadcastOnMessage": "<red>{player} 不想跳过夜晚!</red>",
  "noSleepBroadcastOffMessage": "<green>{player} 现在可以接受跳过夜晚了。</green>",
  "noSleepBedTitle": "<red>无法跳过夜晚!</red>",
  "noSleepBedSubtitle": "<yellow>{players} 不想睡觉!</yellow>"
}

模板令牌: {player} = 玩家名称,{link} = 直播链接,{players} = 无睡眠玩家的逗号分隔列表。


要求

依赖 类型 版本
Minecraft 必需 1.21.11
Fabric Loader 必需 ≥ 0.18.4
Fabric API 必需 任意
Placeholder API 必需 任意
Simple Voice Chat 可选 任意

许可证

MIT——详情请参阅 LICENSE


fantac4tTSNSMP 制作