【1.13-1.21|Folia】WarZCustomShop —— 无上手难度|自带Web编辑器|全可视化自定义商店|多货币体系|NBT 完整保留|

二次开发 工具 【1.13-1.21|Folia】WarZCustomShop —— 无上手难度|自带Web编辑器|全可视化自定义商店|多货币体系|NBT 完整保留| 1.7.18

请登录后获取
[MD] ### 🔄 更新总结 (v1.7.8-Universal) 1. 新增功能 :权限禁购公式 - 在商品 lore 的购买条件中支持 c~nperm~<权限> 或 c~denyperm~<权限> 。 - 效果:如果玩家 拥有 该权限,则 禁止 购买该物品。 - 适用场景:新手礼包(限制老玩家购买)、VIP 专属限制等。 - 配置更新: config.yml 自动新增提示语 Lang.DenyPermString 。 [/MD]
WarZCustomShop 1.7.7更新
- 修复 OP 权限丢失问题 :

- 问题 :原有的 s~cmd~o 逻辑在执行完指令后,会强制取消玩家的 OP 权限,导致原本就是 OP 的玩家(如腐竹/管理员)在使用该功能后失去管理权限。
- 修复 :修改了 CSUtil.java 中的指令执行逻辑。现在插件会在临时赋予 OP 权限前,先记录玩家原本的 OP 状态,并在指令执行完毕后将其 恢复 到原状态,而不是强制设为 false 。
- 版本号更新 :
本次更新主要引入了更灵活的物品匹配机制,允许商家配置对物品名称进行模糊匹配的收购/兑换规则。

- 新增功能:物品名称模糊匹配 ( fuzzyitem )
- 在商店配置 Lore 中新增 b~fuzzyitem 类型。
- 逻辑 :检查玩家背包中物品的显示名称(DisplayName)是否 包含 指定的字符串(区分颜色代码)。
- 应用场景 :
- 回收带有特定前缀/后缀的物品(如“§6[活动]”)。
- 兼容某些名称略有差异但核心关键词相同的物品。
- GUI 支持 :在商店界面中会正确显示为物品需求(复用 ItemString 语言配置)。
b~fuzzyitem~<匹配名>~<数量> 消耗名字 包含 该字符串的物品 b~fuzzyitem~&6碎片~1 (消耗名字含"§6碎片"
  • 喜欢
反馈: AC-613

更新日志 | v1.7.5-Universal​


  • 版本更新:1.7.4 → 1.7.5
  • 新增功能:支持使用**原版经验值(EXP)**作为商店货币
    • b~exp~&lt;数量&gt;:购买商品消耗经验
    • sell~exp~&lt;数量&gt;:出售商品获得经验
  • 配置更新:新增经验相关 Lore 显示文本(ExpString、SellExpString)
  • 优化修复:
    • 自动识别并替换经验 Lore 显示
    • 修复 PlaceholderAPI 依赖问题(升级至 2.11.5)
    • 优化 Maven 构建,已成功生成 Jar
  • 文档:WIKI 已补充经验商店说明
更新内容 (v1.7.4-Universal)
1. 语言文件与提示优化 :
- 将商店界面的分割线提示优化为 ——左键购买 | 右键出售—— ,让操作指引更直观。
2. GUI 显示稳定性增强 :
- 修复了 s~ (限制) 和 m~ (消息) 等 Lore 配置在带有颜色代码时可能无法正确隐藏或格式化的问题。
修复:商店界面显示异常

- 问题原因 :商店 GUI 的显示逻辑( GuiShop.java )在解析 b~id~ID~名称~数量 这种格式时,错误地将第 4 位参数("名称")当成了数量,导致显示出 "物品[名称]: 名称 个" 这种奇怪的格式。
- 修复方案 :修改了 GuiShop.java 的 Lore 生成逻辑。现在它会智能判断参数长度,如果检测到 5 个参数的格式,会正确地将第 4 位识别为名称,第 5 位识别为数量。同时也为这里的识别逻辑增加了颜色代码过滤,防止因颜色代码导致的识别失效
v1.7.2-Universal (最新)
- 修复 Lore 格式兼容性问题 :
- 问题 :当商店物品 Lore 包含额外的显示名称字段(如 b~id~rotten_flesh~腐肉~100 )时,插件原先会尝试将“腐肉”解析为数量,导致 NumberFormatException 报错。
- 修复 :优化了 CSUtil.java 中的解析逻辑。现在插件会智能识别:如果第 4 位参数无法解析为数字,会自动尝试读取第 5 位参数作为数量。这使得插件能够完美兼容带名称注释的 Lore 格式。
修复:商店物品编辑限制放宽 (v1.7.1-Universal)

在编辑模式下,无法添加仅用于出售(`sell~`)但没有购买价格(`b~`)的物品。系统会提示错误 "该物品上没有写上关键的出售代码字段"。

- 优化了 `CSInvListener.java` 中的物品检查逻辑。
- 现在允许仅配置了 `sell~` 公式的物品作为有效的商店物品。
- 支持创建 "回收站" 或 "收购商店" 类型的商店,其中物品只收不卖。
  • 喜欢
反馈: 小小~
1. 🐛 修复 Bug:购买残留 Lore
- 问题描述 :此前玩家从商店购买带有出售属性( sell~ )的物品时,物品上的 sell~xxx 代码标签会被保留。这导致购买后的物品看起来带有乱码,且因为 Lore 不匹配,无法再次返售给商店。
- 修复内容 :修改了物品发放逻辑,现在玩家购买物品时,插件会自动清理掉所有 sell~ 相关的内部标签,确保到手物品是干净可用的。
2. ✨ 功能改进:商店显示优化
- 显示优化 :商店 GUI 界面现在会自动隐藏原始的 sell~ 代码。
- 格式化提示 :原始代码会被解析并转换为易读的提示文本(例如将 sell~eco~100 显示为 出售获得金币: 100 ),使商店界面更加整洁美观。
3. ⚙️ 配置文件更新 (config.yml)
在 Lang 部分新增了 3 个配置项,用于自定义出售信息的显示格式(代码已做兼容处理,若不更新配置将使用默认格式):
Lang:
# ... 其他配置 ...
SellEcoString: '&7>> &e出售获得金
币: &b<value>'
SellPointString: '&7>> &e出售获得
点券: &b<value>'
SellCostString: '&7>> &e出售获得
<cost>: &b<value>'
### 1. 新增功能:右键出售
- 交互方式 :玩家现在可以通过 右键点击 商店界面中的物品,将自己背包里的同类物品出售给商店。
- 扣除逻辑 :系统会自动检查并扣除玩家背包中 1个 与商店图标匹配的物品(匹配时会忽略配置标签,仅比对物品本质)。
### 2. 新增配置语法 (Lore)
在物品的 Lore 中添加以下标签即可开启收购功能:

- sell~eco~100 :出售获得 100 金币 。
- sell~point~10 :出售获得 10 点券 。
- sell~cost~coin~5 :出售获得 5 个自定义货币(coin) 。
### 3. 其他变更
- 代码修复 :修正了 CSUtil 和 CommandHandler 中的 API 调用错误,确保插件稳定运行。
- 文档更新 : WIKI.md 已同步更新,包含最新的出售功能说明和交互指南。
customshop更新。1️⃣ 新增:Mod 物品中文名自定义(items.yml)
插件目录新增 items.yml 文件。
可为 Mod 物品 / 原版物品 设置或覆盖中文显示名称。
支持使用 Material 名称或物品 ID(如 modid:item)进行映射。
优先级:自定义名称 > 内置中文名称 > 英文美化名称。
2️⃣ 全版本兼容升级(1.13 - 1.21+)
重新适配 plugin.yml 与内部 Material、Sound API。
确保从 1.13 到 1.21+ 完整兼容,不受新旧版本变动影响。
3️⃣ 完整支持 Folia 服务端
内置 SchedulerAdapter 自动识别服务器环境。
Folia 下启用:GlobalRegionScheduler + AsyncScheduler。
普通 Spigot/Paper 环境:继续使用 BukkitScheduler。
保持所有 GUI、商店逻辑 线程安全、不卡死。
4️⃣ 中文物品名显示优化
内置大量原版中文名称映射,提高开箱即用体验。
优化显示规则:✅ items.yml → 自定义名称➜ 内置词库 → 中文名称
➜ 英文美化显示
浏览附件119920
后退
顶部 底部