v1.5.0
Feature release for table interaction, river viewing, rules accuracy, storage integration, runtime compatibility, and performance.
中文更新日志:
- 升级要求:发行包改用 Java 21 字节码,并要求 CraftEngine 26.7 或更高版本。更换 MahjongPaper、CraftEngine 或 InvSync 后必须完整重启服务器。
- 牌河俯视与操作恢复:新增无需客户端 Mod 的平滑客户端俯视镜头。按 Shift 返回座位后会按当前实时状态恢复定缺、吃碰杠、出牌等操作;俯视期间 ActionBar 倒计时继续运行,超时操作仍会正常执行。
- 倒计时与托管:连续自动出牌后的下一次时限依次为 60、30、15、10 秒,之后保持 10 秒;玩家手动出牌后恢复 60 秒。只有实际离座或掉线才会交给机器人托管,快速按 Shift 或切换俯视镜头不再夺走玩家控制权。
- 射线交互与隐藏信息:麻将牌和扁平文字改由精确服务端射线盒决定操作,并仅向相关观察者发送必要的客户端代理,修复加入、定缺、吃碰和出牌偶发无法点击的问题。自己的手牌保持明牌,其他玩家手牌和牌墙只发送未知牌面。
- 牌桌显示与反馈:修复牌墙上层失去下层支撑后仍悬空、牌面和交互区域不一致、提示文字重叠等布局问题,并统一 ActionBar、聊天提示、牌桌音效和玩家操作反馈。
- 三种玩法校正:GB 模式对齐 144 张牌、花牌、8 个非花番门槛、单和与固定 16 局流程;立直模式修正鸣牌优先级、振听、杠宝牌时机、流局与延长赛边界;四川模式对齐 T/TFMJ 的直接定缺、无换三张、三番封顶、血战到底、杠分转移和查叫流程。
- 段位与服务器集成:新增可选 InvSync 2.x 玩家段位存储,并在 InvSync 缺失或不兼容时仅向已启用且健康的 SQL 后端回退。当前自动段位与统计更新仍只适用于四名真人完成的立直对局。
- 资源与本地化:加入 GB、立直和四川模式对应的摸牌、出牌、鸣牌、流局与和牌音效;新增完整日语游戏消息、安装文档和三种玩法说明。
- 性能与稳定性:减少牌桌区域更新、展示实体复用、观察者集合和 GB Bot 决策热路径中的排序、装箱及临时分配;缓存调度器反射解析,并加入由八个 runner 并行采样、可信汇总的 GitHub Actions 配对 A/B 性能回归门禁。
- 分发说明:发行 JAR 现在内嵌并重定位 Sparrow Reflection 与 ASM。第三方声明和运行软件分发条款已更新,重新分发时应保留对应许可证与源码义务说明。
English Release Notes:
- Upgrade requirements: Release artifacts now use Java 21 bytecode and require CraftEngine 26.7 or newer. Fully restart the server after replacing MahjongPaper, CraftEngine, or InvSync.
- River view and control restoration: Added a smooth client-only overhead camera that requires no client mod. Returning with Shift rebuilds ding-que, reaction, and discard controls from live game state. ActionBar deadlines continue running while viewing the river, and expired decisions still resolve normally.
- Deadlines and bot ownership: Consecutive automatic discards shorten the next turn from 60 to 30, 15, and then 10 seconds; later automatic turns remain at 10 seconds. A manual discard restores 60 seconds. Bot control now begins only after a real dismount or disconnect, not a quick Shift press or camera transition.
- Ray interaction and hidden information: Mahjong tiles and flat text now use exact server-side ray geometry, backed only by the per-viewer client proxies needed to make vanilla clients report a click. This fixes intermittent join, ding-que, reaction, and discard input failures. Owners receive their visible hand while other hands and wall tiles use unknown faces.
- Table rendering and feedback: Fixed unsupported upper wall tiles remaining suspended, mismatched visual and interaction geometry, overlapping controls, and inconsistent ActionBar, chat, sound, and table feedback.
- Rules corrections: GB now follows the 144-tile flower flow, eight non-flower-fan floor, single-ron priority, and fixed 16-hand profile. Riichi fixes cover reaction priority, furiten, kan-dora timing, draws, and match extensions. Sichuan now follows the documented T/TFMJ direct ding-que, no exchange-three, three-fan cap, Bloody Battle, kong-transfer, and cha-jiao flow.
- Rank and server integrations: Added optional InvSync 2.x player-rank storage, with fallback only to an enabled and healthy SQL backend. Automatic rank and personal-stat updates remain limited to completed four-human Riichi matches.
- Assets and localization: Added mode-specific draw, discard, reaction, draw-result, and win sounds for GB, Riichi, and Sichuan, plus complete Japanese game messages and player documentation.
- Performance and reliability: Reduced sorting, boxing, and temporary allocations in region updates, display reconciliation, viewer membership handling, and GB bot decisions; cached scheduler reflection resolution and added a paired GitHub Actions A/B gate with eight parallel measurement runners and trusted aggregation.
- Distribution notice: Release jars now embed and relocate Sparrow Reflection and ASM. Third-party notices and runnable-distribution terms were updated; redistributors must preserve the applicable license and source-obligation notices.