变量缩写 LySimplePlaceholder
LySimplePlaceholder 用于把过长的数字转换为 万、亿、兆 等中文单位,减少属性面板、战斗消息、BossBar、物品描述和全息文本中的数字占用空间。
插件可以通过 PlaceholderAPI 变量主动转换数字,也可以通过 ProtocolLib 自动处理服务端发给玩家的聊天消息、物品描述、BossBar 和指定全息文本。缩写结果仅适合显示,不应继续用于数学计算。
插件信息
| 项目 | 内容 |
|---|---|
| 插件名 | LySimplePlaceholder |
| 插件版本 | 1.1.0 |
| 作者 | Liyuan |
| 主命令 | /lsp |
| Java 编译目标 | Java 8;Minecraft 1.17 及以上的版本模块使用 Java 17 |
| 软依赖 | PlaceholderAPI、ProtocolLib、MythicMobs |
支持版本
项目中包含以下 Minecraft 服务端版本的 NMS 适配:
| Minecraft 版本 | NMS 版本 |
|---|---|
1.7.10 | v1_7_R4 |
1.8.8 | v1_8_R3 |
1.11.2 | v1_11_R1 |
1.12.2 | v1_12_R1 |
1.13.2 | v1_13_R2 |
1.14.4 | v1_14_R1 |
1.15.2 | v1_15_R1 |
1.16.5 | v1_16_R3 |
1.17.1 | v1_17_R1 |
1.18.2 | v1_18_R2 |
1.19.2 | v1_19_R1 |
1.19.4 | v1_19_R3 |
1.20.1 | v1_20_R1 |
1.20.2 | v1_20_R2 |
1.20.3 | v1_20_R3 |
没有对应 NMS 适配的版本无法正常初始化物品 NBT 工具。全息数字缩写使用 v1_12_R1 数据结构,仅支持 Minecraft 1.12.2。
依赖说明
| 插件 | 用途 | 是否必须 |
|---|---|---|
PlaceholderAPI | 注册 %lsp_...% 变量,并解析被包装的其他插件变量 | 使用插件变量时必须安装 |
ProtocolLib | 监听聊天、物品、BossBar 和实体元数据数据包,完成自动显示替换 | 使用自动替换功能时必须安装 |
MythicMobs | 已在插件描述中声明为软依赖;BossBar 功能可用于包含怪物血量的文本 | 非基础缩写功能必需依赖 |
插件没有 MySQL 存储功能,不需要安装 LyMySQLCore。
主要功能
| 功能 | 说明 |
|---|---|
| 变量缩写 | 使用 %lsp_变量内容% 包装数字或其他 PlaceholderAPI 变量 |
| 纯数字转换 | 可以直接转换纯数字、合法千分位数字和科学计数法数字 |
| 指定变量精度 | 可以为特定的原始 PlaceholderAPI 变量设置独立小数格式 |
| 聊天消息替换 | 当消息包含配置的关键词时,自动查找并缩写其中达到条件的数字 |
| 物品描述替换 | 修改发给客户端的物品 Lore 显示,不直接修改服务端保存的原始物品数据 |
| 物品黑名单 | 物品名称或任意 Lore 包含黑名单文本时,跳过整个物品 |
| Lore 行黑名单 | 指定 Lore 行包含黑名单文本时,只跳过该行 |
| 创造模式还原 | 玩家在创造模式复制经过显示缩写的物品时,尝试还原原始名称和 Lore,并清理插件写入的临时 NBT |
| BossBar 替换 | BossBar 文本包含指定关键词时,缩写其中达到条件的数字 |
| 全息与怪物名替换 | 在 Minecraft 1.12.2 中处理非发包全息及实体名称,并按关键词决定是否替换 |
| 颜色格式兼容 | 提取数字时会避开传统颜色代码、六位或八位十六进制颜色文本;聊天处理还会避开 Unicode 转义文本 |
| 背包显示刷新 | 通过命令延迟 1 tick 重新设置背包、头盔、胸甲、护腿和靴子,触发客户端物品显示更新 |
变量写法
PlaceholderAPI 扩展标识符为 lsp。
| 类型 | 写法 | 说明 |
|---|---|---|
| 包装其他变量 | %lsp_去掉外层百分号的变量% | 先解析原始 PlaceholderAPI 变量,再缩写结果 |
| 直接转换数字 | %lsp_100000% | 直接转换变量参数中的数字 |
| 带参数变量 | %lsp_ap_damage:min% | 冒号等变量参数会原样交给 PlaceholderAPI 解析 |
| 千分位数字 | %lsp_1,000,000% | 合法的英文逗号千分位会在计算前移除 |
| 科学计数法 | %lsp_1e8% | 支持 e 或 E 科学计数法 |
当玩家对象为空时,变量返回空字符串。被包装的内容不是有效数字或转换失败时,结果可能返回原变量文本或 0,具体取决于失败发生的位置。
变量返回的是带中文单位的文本,例如 1.23万,不能作为其他插件的数值条件或计算参数。
缩写单位
插件按照数字长度选择当前可用的最大单位。
| 数值级别 | 单位 | 数值级别 | 单位 |
|---|---|---|---|
10^4 | 万 | 10^40 | 正 |
10^8 | 亿 | 10^44 | 载 |
10^12 | 兆 | 10^48 | 极 |
10^16 | 京 | 10^52 | 恒河沙 |
10^20 | 垓 | 10^56 | 阿僧祇 |
10^24 | 秭 | 10^60 | 那由他 |
10^28 | 穰 | 10^64 | 不可思议 |
10^32 | 沟 | 10^68 | 无量 |
10^36 | 涧 | 10^72 | 大数 |
默认 abbreviation-value: 4,数字达到万位级别后开始使用中文单位。格式化采用向下舍入,并会移除没有意义的末尾零。
自动替换范围
聊天消息
插件监听服务端聊天数据包。消息中必须包含 message-replace-key 列表内的任意关键词,才会扫描并缩写数字。
该范围包括普通聊天文本以及其他插件通过对应聊天数据包发送的消息,可用于带固定关键词的系统提示或战斗消息。
物品描述
启用 item-number-abbreviation 后,插件监听单个槽位更新数据包,并在发给客户端的物品副本中处理 Lore 数字。
- 物品名称或任意 Lore 命中
item-abbreviation-black-list时,整个物品不处理。 - 某一行 Lore 命中
item-line-black-list时,只保留该行原文。 - 缩写只发生在客户端显示副本中,服务端原始物品不应被直接改写。
- 部分 DragonCore 界面可能无法显示物品缩写结果。
- 关闭该功能后需要重启服务器;已经发送到客户端的物品显示不会仅因重载配置立即恢复。
BossBar
启用 bossbar-number-abbreviation 后,BossBar 的 JSON 文本包含 bossbar-keyword 中任意关键词时才会处理数字。
该功能默认关闭,可用于包含生命值等大数字的 BossBar。
全息与实体名称
启用 hologram-number-abbreviation 后,实体元数据中的名称包含 hologram-keyword 中任意关键词时才会处理数字。
该实现仅适用于 Minecraft 1.12.2,用于非发包全息文本,也会处理符合条件的怪物名称。通过其他数据包系统独立发送的全息不在此功能范围内。
指令
主命令:/lsp
| 指令 | 使用者 | 说明 |
|---|---|---|
/lsp | 所有命令发送者 | 查看插件提供的子命令提示 |
/lsp reload | OP | 重新读取 config.yml,并重新注册数据包监听器 |
/lsp update | OP 玩家 | 延迟 1 tick 刷新当前玩家背包与盔甲槽位的物品显示 |
/lsp update 内部需要获取玩家背包,因此应由游戏内玩家执行,不应从控制台执行。
项目没有声明独立权限节点,管理指令直接通过发送者是否为 OP 判断。
配置概览
插件配置文件为 plugins/LySimplePlaceholder/config.yml。
| 配置组 | 相关配置项 | 用途 |
|---|---|---|
| 数字格式 | format、designated-placeholder-format | 设置默认小数格式和指定变量格式 |
| 缩写阈值 | abbreviation-value | 设置从多少位数字开始进入缩写判断 |
| 聊天替换 | message-replace-key | 设置触发聊天数字替换的关键词 |
| 物品替换 | item-number-abbreviation、item-abbreviation-black-list、item-line-black-list | 控制物品 Lore 缩写及黑名单 |
| BossBar 替换 | bossbar-number-abbreviation、bossbar-keyword | 控制 BossBar 缩写及触发关键词 |
| 全息替换 | hologram-number-abbreviation、hologram-keyword | 控制 1.12.2 全息与实体名称缩写 |
完整配置键、默认值和重载注意事项见配置说明。
页面导航
| 页面 | 内容 |
|---|---|
| 配置说明 | 配置文件结构、格式精度、功能开关和关键词列表 |
| 缩写规则 | 数字识别、触发阈值、中文单位和自动替换机制 |
| 插件变量 | PlaceholderAPI 变量格式、支持的数字文本和返回规则 |
| 常见问题 | 变量不生效、物品不刷新、黑名单和版本限制 |
| 更新日志 | 已有版本记录 |