Releases: myzer121/JoyMart
Releases · myzer121/JoyMart
Release list
JoyMart v1.3 - 变量显示、控制台刷屏、设置GUI与入场费修复
修复内容
1. 变量显示为 %tokens% 的问题
- 根因:
PluginManager.playWinEffects()发送获胜标题时, 副标题titles.winSubtitle中的%tokens%变量从未被替换 - 修复:
playWinEffects现在接收实际获得的代币数量并正确替换变量; 单人游戏、多人对战、赌注赢家通吃三种结算路径均已传入正确的代币数
2. 控制台 Progress 刷屏
- 根因:
MusicPlayer的 NBS 播放任务每 100 tick (约 5 秒) 输出一条Progress: tick x/y日志 - 修复: 移除播放期间的全部调试日志, 仅保留歌曲加载与错误警告日志
3. 双人游戏缺少游戏设置编辑 GUI (本次新增)
- 根因: 游戏菜单的 '游戏设置' (⚙) 编辑入口按钮只为单人和多人游戏添加, 两人游戏分支被遗漏
- 影响游戏: 象棋、战舰、井字棋、四子棋、石头剪刀布 — 这些游戏配置了胜者/败者/平局代币奖励却无法在游戏内修改
- 修复: 所有两玩家游戏菜单现在对拥有
gamebox.admin.games权限的管理员显示设置编辑入口, 可修改胜者/败者/平局代币奖励
4. 彩票等游戏票价不扣除代币 (本次新增)
- 根因: 旧实现的入场费只通过 Vault 金钱经济扣除, 未安装 Vault 时通过设置 GUI 配置的票价完全不生效
- 修复: 新增
costTokens代币入场费, 以 GameBox 代币扣除, 无需 Vault 经济即可生效; 可通过游戏设置 GUI 的 '进入花费 (代币)' 行 (+1/-1/+10/-10) 修改, 修改立即生效并持久化到配置 - 增强: 开始游戏前检查代币余额, 不足时提示具体费用 (如 '5 代币 + 10 金币'); 代币与金币混合扣款失败时自动回滚; 多人游戏取消邀请时退还代币入场费
5. 其他修复
- 商店管理 GUI 的分类提示语言键路径错误, 已修正
- 补充缺失的
messages.error语言键 (中/英/德/西) - 插件升级后旧版磁盘语言文件缺少的新键自动从 JAR 内同语言文件回填
安装: 下载 JoyMart-1.3.jar 替换服务器 plugins/ 目录中的旧版 JAR 后重启即可, 无需删除配置。旧的 cost (金币票价) 配置保持兼容, 配置了 Vault 经济的服务器仍然正常扣除金币。
JoyMart v1.1 - Default Language Fix
修复内容
默认语言不生效修复 (v1.2)
修复了在 config.yml 中设置 language.default: zh 且 autoDetect: false 时,中文仍然无法加载的问题。
根因: GameBoxListener.onJoin() 在每位玩家加入时无条件调用 detectLanguage(player) 检测客户端语言,覆盖了 config.yml 中的 language.default 设置。即使管理员设置了中文,英语客户端的玩家仍看到英文。
修复:
GameBoxListener.onJoin():仅在autoDetect: true时才检测客户端语言LanguageManager.getPlayerLanguage():autoDetect: false时始终返回defaultLangGameBox.reload():在语言重载后重新读取 PREFIX
语言切换修复 (v1.1)
- 游戏会话
start()和refresh()中添加setActiveLanguage(player)调用 - 邀请消息、胜负标题、音乐播放器消息改用玩家特定语言
插件加载修复 (v1.0)
- Java 21 字节码重编译为 Java 17
- 恢复原始导入路径(org.bstats, com.zaxxer.hikari 等)
- 添加缺失的 vsAi 和 invite2 翻译键