STAG的

STAG的

STags 是一个可定制的 Minecraft 标签系统,支持前缀、后缀、时尚徽章、解锁要求、玩家选择、优先级处理、管理员控制、聊天/玩家列表/名牌显示、模组 ID 支持以及多语言支持。

STags

STags 是一个适用于 Minecraft Fabric 服务器的可自定义前缀、后缀和玩家标签系统。

它允许服务器管理员创建简单的文本标签或样式化徽章、手动分配标签、配置自动解锁条件、定义优先级,以及控制前缀和后缀的显示位置。

玩家可以浏览自己拥有的标签,并选择想要使用的前缀和后缀。

需求

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

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

两侧使用同一个模组 JAR 文件。

主要功能

前缀和后缀

STags 支持两种独立的标签类型:

  • 前缀
  • 后缀

玩家可以同时拥有一个启用的前缀和一个启用的后缀。

示例:

[ADMIN] Steve [Builder]

前缀显示在玩家名称之前,后缀显示在玩家名称之后。

玩家标签菜单

玩家可以使用以下命令打开个人标签菜单:

/tags

界面分为:

  • 前缀
  • 后缀

玩家只能看到自己实际拥有或已解锁的标签。

未解锁的标签不会显示在玩家的标签列表中。

玩家可以:

  • 选择一个可用的前缀
  • 选择一个可用的后缀
  • 使用自动优先级选择
  • 禁用当前启用的前缀
  • 禁用当前启用的后缀

自动优先级

每个标签都可以设置一个数字优先级。

当启用自动优先级模式时,STags 会自动选择玩家可用的最高优先级标签。

示例:

Member = 10
VIP = 30
Moderator = 70
Admin = 100

如果玩家拥有全部四个标签,则会自动选择 Admin。

当某个标签启用了玩家选择时,玩家也可以手动选择另一个可用标签。

简单标签

简单标签使用普通的 Minecraft 文本格式。

管理员可以创建如下标签:

&c[ADMIN]

或:

&c[&lADMIN&c]

支持 Minecraft 格式代码,包括颜色和文本样式。

示例:

&6[VIP]
&b[Builder]
&c[&lADMIN&c]

在可用的情况下也支持十六进制颜色。

样式化标签

STags 还提供了一种样式化标签模式。

样式化标签使用:

  • 背景颜色
  • 边框颜色
  • 文本颜色
  • 内部内边距
  • Minecraft 的普通可读字体

STags 不会只显示格式化文本,而是将标签渲染为徽章。

目标是在保持 Minecraft 正常视觉风格的同时,让样式化标签保持简洁且可读。

相同的样式化外观可用于:

  • 聊天
  • 玩家列表 / TAB
  • 玩家名称牌

显示设置

服务器管理员可以控制前缀和后缀的显示位置。

显示菜单位于:

/admintags

前缀和后缀的可见性可以分别针对以下位置独立配置:

聊天

控制启用的标签是否出现在聊天中。

玩家列表

控制启用的标签是否出现在 Minecraft 的 TAB 玩家列表中。

玩家名称牌

控制启用的标签是否出现在角色上方玩家名称的周围。

这样可以配置出如下方案:

前缀:
聊天:开启
TAB:开启
名称牌:开启

后缀:
聊天:开启
TAB:关闭
名称牌:关闭

标签需求

标签可以配置自动解锁需求。

STags 会在服务端跟踪支持的操作,并在达到所需数量后解锁对应标签。

可用的需求类型包括:

破坏方块

在破坏指定方块达到配置次数后解锁标签。

示例:

方块 ID:minecraft:diamond_ore
数量:500

放置方块

在放置指定方块后解锁标签。

示例:

方块 ID:minecraft:stone
数量:1000

与方块交互

在与指定方块交互后解锁标签。

可用于:

  • 箱子
  • 木桶
  • 门
  • 按钮
  • 工作台
  • 熔炉
  • 机器
  • 模组交互方块

示例:

方块 ID:minecraft:chest
数量:250

死亡

在死亡达到配置次数后解锁标签。

也提供特定死亡需求。

支持的死亡类别包括:

  • 任意死亡
  • 火焰
  • 溺水
  • 摔落
  • 爆炸
  • 虚空

示例:

需求:因火焰死亡
数量:10

击杀实体

在击杀指定实体后解锁标签。

示例:

实体 ID:minecraft:zombie
数量:500

击杀玩家

在击杀其他玩家后解锁标签。

示例:

数量:25

食用物品

在食用指定物品后解锁标签。

示例:

物品 ID:minecraft:golden_apple
数量:20

饮用物品

在饮用指定物品后解锁标签。

示例:

物品 ID:minecraft:potion
数量:50

模组 ID 支持

STags 使用 Minecraft 注册表 ID 作为需求目标。

这意味着需求可以适用于其他模组添加的方块、物品和实体。

示例:

minecraft:diamond_ore
minecraft:chest
minecraft:golden_apple
minecraft:zombie

模组示例:

modid:machine
modid:special_block
modid:custom_food
modid:custom_entity

STags 不需要硬编码的原版内容列表。

需求选择工具

使用方块或实体的需求无需手动输入注册表 ID 即可配置。

管理员可以在需求编辑器中按下选择按钮。

STags 会临时提供一个选择工具。

对于方块需求:

选择
↓
点击方块
↓
STags 捕获方块 ID
↓
返回需求编辑器

对于实体需求:

选择
↓
点击实体
↓
STags 捕获实体 ID
↓
返回需求编辑器

临时选择器会在选择完成后自动移除。

在用于配置期间,它不会被计入需求进度。

手动标签

标签不会仅仅因为没有需求就自动归属于每位玩家。

没有自动需求的标签仍必须由管理员授予。

这使得以下标签:

  • 管理组等级
  • VIP 等级
  • 活动奖励
  • 特殊头衔
  • 捐赠者标签
  • 私人角色

可以继续由服务器控制。

管理菜单

管理员可以使用以下命令打开 STags 管理界面:

/admintags

玩家 /tags 菜单和管理菜单完全分离。

管理界面包括:

  • 前缀管理
  • 后缀管理
  • 玩家标签管理
  • 显示设置
  • 创建标签
  • 编辑标签
  • 删除标签
  • 需求
  • 优先级配置

创建标签

管理员可以配置:

  • 内部标签 ID
  • 显示名称
  • 前缀或后缀
  • 简单或样式化设计
  • 标签文本
  • 优先级
  • 启用状态
  • 玩家可选择状态
  • 背景颜色
  • 边框颜色
  • 文本颜色
  • 解锁需求
  • 需求目标
  • 需求数量

玩家分配

管理员可以直接向玩家授予或撤销标签。

手动授予会覆盖自动需求限制。

这使得即使玩家尚未完成其正常需求,也可以给予标签。

管理命令

打开管理菜单

/admintags

打开 STags 管理界面。

给予标签

/admintags give <player> <tag-id>

示例:

/admintags give Steve admin

立即向玩家授予指定标签。

移除标签

/admintags remove <player> <tag-id>

示例:

/admintags remove Steve admin

移除手动授予的标签。

命令参考

命令 权限 功能
/tags 玩家 打开个人标签菜单
/admintags 管理员 打开管理菜单
/admintags give <player> <tag-id> 管理员 向玩家授予标签
/admintags remove <player> <tag-id> 管理员 从玩家移除标签

SChat 集成

STags 包含对 SChat 的可选集成支持。

STags 负责:

  • 标签所有权
  • 标签解锁
  • 标签优先级
  • 启用的标签选择
  • 前缀
  • 后缀
  • 样式化渲染

SChat 只从 STags 请求当前启用的前缀和后缀。

这使得 SChat 格式可以使用:

{prefix}
{player}
{suffix}

示例:

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

可以生成:

[ADMIN] Steve [Builder]: Hello!

STags 仍负责决定玩家当前启用了哪些标签。

在玩家列表或玩家名称牌中使用 STags 不需要 SChat。

服务端验证

重要的 STags 操作由服务端控制。

客户端无法直接向自己授予标签或完成需求。

服务端会验证以下操作:

  • 授予标签
  • 撤销标签
  • 解锁需求
  • 需求进度
  • 标签选择
  • 优先级选择
  • 管理操作
  • 显示配置

这可以防止普通客户端操作直接更改服务端标签数据。

数据持久化

STags 会在服务器重启后保存重要信息。

存储的信息包括:

  • 标签定义
  • 前缀
  • 后缀
  • 标签样式
  • 颜色
  • 优先级
  • 需求
  • 需求目标
  • 需求数量
  • 玩家进度
  • 已授予标签
  • 已选择前缀
  • 已选择后缀
  • 显示设置

自动语言检测

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

模组内部没有单独的语言选择器。

当前包含的语言:

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

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

用户界面

STags 使用自定义 Minecraft 界面,设计目标是保持简洁和响应迅速。

界面包括:

  • 分离的玩家和管理员菜单
  • 前缀和后缀列表
  • 响应式布局
  • 分页
  • 标签预览
  • 样式化徽章预览
  • 需求配置
  • 动态需求字段
  • 注册表 ID 选择器
  • 玩家标签管理
  • 显示配置

需求菜单会自动适应所选择的需求类型。

例如,死亡和击杀玩家需求只显示数量字段,因为不需要注册表 ID。

安装

客户端

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

服务端

  1. 安装 Fabric 1.20.1 或 1.21.1 服务器。
  2. 安装 Fabric API。
  3. 将同一个 STags JAR 放入服务器 mods 文件夹。
  4. 启动服务器。
  5. 使用 /admintags 配置标签。

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

项目信息

模组: STags

作者: Silas T.

Minecraft: 1.20.1 / 1.21.1

加载器: Fabric

Java: 17/21

许可证: 保留所有权利