SCHAT

SCHAT

SChat 是一款轻量且可自定义的 Minecraft 聊天模组,支持本地/全局频道、聊天气泡、玩家提及、@用户自动补全、高亮颜色、前缀/后缀格式化、管理员控制以及多语言支持。

SChat

SChat 是一个轻量级、可自定义的 Minecraft Fabric 聊天增强模组。

它提供了本地和全局聊天频道、玩家聊天气泡、可配置的格式、玩家提及、@用户自动补全、个性化高亮颜色、前缀和后缀支持、管理控制以及自动语言支持。

其目标是在不过度替换 Minecraft 正常聊天行为的前提下,改善多人游戏中的交流。

需求

需求 版本
Minecraft 1.20.1 与 1.21.1
模组加载器 Fabric
Fabric Loader 0.18.4 或更新
Fabric API 必需
Java Java 17/21
安装位置 客户端与服务端

SChat 设计为同时安装在 Minecraft 客户端和服务端上。

两侧使用相同的模组 JAR 文件。

主要功能

本地聊天

SChat 提供了基于距离的本地聊天系统。

通过本地聊天发送的消息只会被配置范围内的玩家接收。

这使得多人服务器上的对话更加自然,并防止附近的对话被发送到整个服务器。

本地聊天范围可由服务器管理员配置。

全局聊天

全局聊天允许消息正常发送给每一位玩家。

服务器可以通过管理界面独立启用或禁用本地和全局频道。

聊天气泡

SChat 可以使用聊天气泡在玩家头顶显示消息。

聊天气泡提供了一种可视化的方式,让你无需一直关注 Minecraft 的普通聊天即可看到谁在说话。

玩家可以自定义自己气泡的外观。

可用的自定义项包括:

  • 气泡背景颜色
  • 气泡边框颜色
  • 气泡文字颜色
  • 预定义颜色预设

此外还提供十六进制颜色字段以供手动自定义。

玩家设置

玩家可以使用以下命令打开个人的 SChat 设置:

/chat

玩家界面包含个人聊天自定义选项,但不会暴露服务器管理选项。

可用设置包括:

  • 聊天高亮颜色
  • 气泡背景颜色
  • 气泡边框颜色
  • 气泡文字颜色
  • 颜色预设

高亮颜色

每位玩家可以选择自己的提及高亮颜色。

可用预设包括:

  • 蓝色
  • 绿色
  • 黄色
  • 橙色
  • 红色
  • 紫色
  • 粉色
  • 棕色
  • 黑色
  • 灰色
  • 白色

也支持自定义十六进制颜色。

界面将颜色预设置为 HEX 字段旁边的紧凑颜色按钮。

当更多颜色无法容纳在当前行时,它们会在下方继续排列,同时保持界面紧凑。

玩家提及

玩家可以使用以下方式提及另一位在线玩家:

@PlayerName

示例:

Hello @Steve, how are you?

当收到有效的提及时,SChat 会使用被提及玩家所选的颜色高亮显示整个提及内容。

这包括 @ 符号和玩家名称。

提及颜色保护

消息发送者使用的 Minecraft 格式代码无法覆盖被提及玩家的高亮颜色。

例如:

&6Hello @Steve how are you?

普通消息可以保持金色,而:

@Steve

则使用 Steve 配置的高亮颜色。

即使发送者尝试:

&6Hello &1@Steve &6how are you?

该提及仍然使用 Steve 自己的高亮颜色。

提及结束后,SChat 会恢复提及之前生效的格式。

提及可见性规则

只有当被提及的玩家实际收到相应的聊天消息时,提及才会被视为真正的通知。

这可以防止玩家收到他们正常情况下无法看到的对话所触发的提及声音或通知。

例如:

  • 全局消息可以正常触发提及
  • 本地消息只有在目标玩家处于本地聊天范围内时才能触发提及
  • 仅以聊天气泡形式显示的消息不会触发提及通知

当 SChat 处于仅气泡模式时,@Player 不会产生:

  • 提及声音
  • 提及通知
  • 提及提醒

这可以防止数百格之外的玩家收到他们无法阅读的附近对话的通知。

@用户自动补全

SChat 专门为提及提供了玩家自动补全。

自动补全仅在玩家输入以下内容时激活:

@

这意味着 SChat 不会替换 Minecraft 正常的玩家名称 TAB 补全。

正常输入玩家名称时仍继续使用原版 Minecraft 行为。

示例:

@Ste

可以建议:

@Steve

而:

Ste

则交由 Minecraft 的普通自动补全系统处理。

自动补全界面

提及建议使用自定义的紧凑界面。

每条建议显示:

[Player Head] @PlayerName [TAB]

显示玩家的 Minecraft 头颅,而不是通用的箭头指示符。

TAB 指示符以建议内部的小按钮形式出现,而不是延伸到自动补全面板之外。

聊天格式

SChat 支持可配置的服务端聊天格式。

格式可以包含:

  • 玩家名称
  • 前缀
  • 后缀
  • 消息内容
  • Minecraft 格式代码
  • 频道专属格式

格式示例:

&b[G] {prefix}&f{player}{suffix}&7: &f{message}

可用的格式变量包括:

{player}
{message}
{prefix}
{suffix}

前缀支持

SChat 支持在玩家名称前添加前缀值。

前缀可以由兼容的外部系统提供,而无需将此外部模组作为强制依赖项。

如果不存在兼容的前缀提供者,前缀将保持为空。

后缀支持

SChat 还提供了可以显示在玩家名称之后的后缀值。

示例:

{suffix}

如果不存在后缀提供者,该值将保持为空,聊天仍能正常工作。

STags 兼容性

SChat 包含为未来的 STags 模组所做的兼容性准备。

STags 可以通过前缀和后缀系统向 SChat 提供玩家标签。

该集成是可选的。

SChat 的运行不依赖 STags。

当 STags 可用时,该集成可以为聊天格式提供具有优先级的标签。

标签优先级

如果一位玩家有多个可用标签,STags 可以使用其配置的优先级来决定应显示哪个标签。

最高优先级的适用标签可以在提供给 SChat 之前被选出。

这使得标签优先级的管理保留在 STags 内部,同时允许 SChat 显示最终结果。

SChat 也可以接受 STags 已解析好的前缀或后缀。

这样可避免让 SChat 负责 STags 的配置规则。

管理菜单

服务器管理员可以使用以下命令访问 SChat 管理界面:

/adminmenu

主管理界面提供对服务器配置各部分的访问,同时不会不必要地重复频道状态信息。

频道与格式

频道与格式配置在专门的:

Channels & Formatting

部分中进行管理。

这包括与以下内容相关的设置:

  • 本地聊天
  • 全局聊天
  • 聊天格式
  • 频道行为
  • 服务器格式变量

将这些设置保留在各自的部分中可以使主管理菜单更加整洁。

格式代码

SChat 支持在配置的聊天消息中使用 Minecraft 风格的格式代码。

示例:

&6Hello

可以使用对应的 Minecraft 颜色显示。

提及格式是单独处理的,因此发送者的格式无法覆盖被提及玩家所配置的高亮颜色。

自动语言检测

SChat 会自动使用每位玩家在 Minecraft 中选择的语言。

模组内部没有单独的语言设置。

当前包含的语言:

语言 Minecraft 代码
英语 en_us
葡萄牙语(巴西) pt_br
西班牙语 es_es
日语 ja_jp
简体中文 zh_cn
印地语 hi_in
阿拉伯语 ar_sa

连接到同一服务器的不同玩家可以同时使用不同的语言。

用户界面

SChat 使用自定义的 Minecraft 菜单,设计上保持整洁且易于导航。

界面包括:

  • 玩家聊天设置
  • 管理设置
  • 颜色选择器
  • HEX 颜色字段
  • 紧凑的颜色预设按钮
  • 气泡自定义
  • 频道配置
  • 聊天格式配置
  • 提及自动补全
  • 玩家头颅预览

即使有多个颜色选项可用,界面也设计得保持紧凑。

服务端验证

重要的聊天行为由服务端控制和验证。

客户端界面不负责决定哪些玩家应接收本地或全局消息。

服务端逻辑决定:

  • 消息接收者
  • 本地聊天距离
  • 全局消息投递
  • 提及资格
  • 提及通知资格
  • 频道配置

这可以防止普通的客户端操纵直接改变谁接收服务器聊天消息。

玩家配置

SChat 存储玩家专属偏好,使其在会话之间保持可用。

存储的设置可以包括:

  • 提及高亮颜色
  • 气泡背景颜色
  • 气泡边框颜色
  • 气泡文字颜色

服务器配置也会在重启后持久保存。

原版兼容性

SChat 会避免在不必要时替换 Minecraft 的功能。

正常的 TAB 补全仍可用于普通玩家名称。

SChat 的自定义自动补全仅在以下情况激活:

@Player

这使得正常的 Minecraft 命令和玩家自动补全行为能够继续工作。

命令

/chat

打开玩家的 SChat 配置菜单。

/chat

玩家可以使用此界面自定义其个人 SChat 设置。

/adminmenu

打开 SChat 管理界面。

/adminmenu

管理访问权限面向服务器管理员。

命令参考

命令 权限 功能
/chat 玩家 打开个人 SChat 设置
/adminmenu 管理员 打开 SChat 管理菜单

安装

客户端

  1. 安装 Minecraft 1.20.1 或 1.21.1。
  2. 安装 Fabric Loader。
  3. 安装 Fabric API。
  4. 将 SChat JAR 放入 mods 文件夹。
  5. 启动 Minecraft。

服务端

  1. 安装 Fabric 1.20.1 或 1.21.1 服务端。
  2. 安装 Fabric API。
  3. 将相同的 SChat JAR 放入服务端的 mods 文件夹。
  4. 启动服务器。
  5. 使用管理菜单配置 SChat。

SChat 设计为在客户端和服务端使用相同的模组安装。

可选兼容性

SChat 的设计使可选集成不会成为强制依赖项。

当前的集成支持包括为以下内容所做的准备:

STags

使用 SChat 不需要 STags。

在没有 STags 的情况下,前缀和后缀字段可以保持为空,或由其他兼容的集成提供。

项目信息

模组: SChat

作者: Silas T.

Minecraft: 1.20.1 / 1.21.1

加载器: Fabric

Java: 17/21

许可证: 保留所有权利