Releases: 7yunluo/MahjongPlay
Releases · 7yunluo/MahjongPlay
v1.4.1
常见役种判定修正
通过 33 个真实和牌场景的实测验证,确认内置的 mahjong4j 0.3.2 库存在多处役种判定缺陷,本版本已在插件侧逐一修正。
役种判定修复
- 三色同顺判定失灵:真正的三色同顺(如 234 万/筒/索)不被识别,而不构成三色的手牌反而会被错误授予该役。现改为基于面子拆解自行重算,三色同刻一并重算。
- 平和误判边张听牌:12 听 3、89 听 7 的边张待ち被错误判定为两面而授予平和。现按标准两面定义重新校验。
- 三暗刻荣和误判:荣和补完的第三组刻子应视为明刻,原先被当作暗刻导致三暗刻被错误授予。现正确重新计数。
- 四暗刻双碰荣和误判:双碰荣和不构成四暗刻役满,现正确降级为三暗刻+对对和。
- 纯全带幺九判定缺陷:雀头为中张牌也会被授予纯全;纯全与混全两役会错误叠加计番。现纯全要求雀头为幺九且全手无字牌,两役互斥。
计分修复
- 荣和补完的刻子按明刻计符:原先按暗刻计符导致符数虚高。
验证
全部修复通过 33 个场景的役种回归测试,覆盖:立直、平和(全部六种听牌型)、断幺九、役牌、连风牌、七对子、三色同顺/同刻、一气通贯、对对和、三暗刻(荣和/自摸)、混一色、清一色、一盃口、二盃口、混全/纯全带幺九、混老头、无役拒和、食断开关、赤宝牌、一发、海底摸月、河底捞鱼。
v1.4.0
和牌判定与役种逻辑大修
本版本全面修复了「很多情况下和不了牌」的问题,重写了和牌判定与役种结算的关键路径。
和不了牌的根因修复
- 修复第一巡闲家荣和被吞:第一巡内的闲家荣和会被 mahjong4j 判定为人和役满,而插件在规则未启用古役时剔除人和后直接跳过了普通役计算,导致被判「无役」无法和牌。现在剔除被禁用的役满后会正确回落到普通役结算。
- 修复门清玩家首巡无法荣和:荣和候选筛选中错误地排除了「尚未弃过牌的门清玩家」,该限制没有任何规则依据,已移除。
- 修复天和/地和/人和判定窗口过宽:原「第一巡」判定为全员弃牌 ≤1 张,导致庄家第二摸自摸被误判天和、闲家第二摸误判地和。现在役种判定要求和牌者本人零弃牌,并在荣和/自摸的判定与结算中使用同一状况对象。
崩溃修复
- 修复赤5加杠导致整局卡死:对三张普通 5 的碰副露加杠摸到的赤 5 时,副露查找因枚举不等返回空导致 NPE、回合协程中断。现按牌面值匹配副露。
规则与计分修复
- 振听判定补全:只要任意一张听牌曾被自己打出即构成振听,而不再只检查当前荣和的那张牌。
- 暗杠后可以立直:原先门清暗杠后因手牌数检查写死 14 张而永远无法宣告立直。
- 一发判定修复:改用精确的立直弃牌索引(避免同种牌错位)、按实际玩家数计算巡目窗口,且两立直现在也能正确获得一发。
- 双役满判定生效:听牌计算不再包含红宝牌与占位牌的重复项,国士无双十三面、四暗刻单骑、纯正九莲宝灯现在可以被正确识别为双倍役满。
v1.3.1
v1.3.0
Bug Fixes
-
修复异步线程实体生成崩溃:游戏结束时
onGameEnd在协程后台线程调用spawnEntity,导致AsyncCatcher异常,桌面显示无法正确更新为等待状态。现已使用runTask包裹确保主线程执行。 -
修复振听误判导致无法荣和:
isFuriten中使用indexOf在allDiscards中查找玩家最后打出的牌,但MahjongTile是 enum,同类型牌共享同一 enum 值。当其他玩家先打出相同类型的牌时,indexOf返回错误位置,导致振听检查窗口被错误扩大,将正常玩家误判为振听。现改为直接跟踪玩家在allDiscards中的精确索引。
MahjongPlay v1.2.4
MahjongPlay v1.2.4
Minecraft Paper 服务端日本立直麻将插件。
更新内容
- 🐛 修复立直拔北后出牌异常 — 立直状态下拔北补牌后,自动出牌的牌被错误地指向最初摸的牌而非补牌,导致牌局无结算直接跳到下一局
下载
| 文件 | 说明 |
|---|---|
MahjongPlay-1.2.4-MC1.21.4.jar |
插件 - Paper 1.21.4+ |
环境要求
- Java 21
- 将插件 JAR 放入
plugins/目录
MahjongPlay v1.2.3
MahjongPlay v1.2.3
Minecraft Paper 服务端日本立直麻将插件。
更新内容
- 🔒 修复手牌泄露 — 玩家选择手牌时的发光和抬起效果不再对其他玩家可见,防止变相透视手牌(#7)
- 选牌抬起仅对自己可见,其他玩家看到的牌背不再跟着抬起
- 牌河同种牌高亮改为 per-player 发光,仅操作者自己可见
- 立直模式的可选牌发光也改为 per-player
- 🛡️ 修复服务器重启丢失牌桌 — 牌桌数据在创建/删除时实时保存,即使服务器崩溃也不会丢失(#6)
- 进行中的牌局因重启中断时,玩家重新上线会收到通知
下载
| 文件 | 说明 |
|---|---|
MahjongPlay-1.2.3-MC1.21.4.jar |
插件 - Paper 1.21.4+ |
环境要求
- Java 21
- 将插件 JAR 放入
plugins/目录
MahjongPlay v1.2.2
MahjongPlay v1.2.2
Minecraft Paper 服务端日本立直麻将插件。
更新内容
- ✅ 权限节点 — 将硬编码 OP 检查替换为细粒度权限节点,可配合 LuckPerms 等权限插件使用(感谢 @TalexCK PR #4)
- ✅ 修复 Leaf 手牌显示为问号 — 延迟 1 tick 设置手牌可见性,修复在 Leaf 等 Paper 分支上自己的手牌显示为问号的问题(#5)
下载
| 文件 | 说明 |
|---|---|
MahjongPlay-1.2.2-MC1.21.4.jar |
插件 - Paper 1.21.4+ |
MahjongPlay-ResourcePack-MC1.21.4.zip |
资源包 - MC 1.21.4+ |
MahjongPlay-1.2.1-MC1.20-1.20.1.jar |
插件 - Paper 1.20 ~ 1.20.1 |
MahjongPlay-ResourcePack-MC1.20-1.20.1.zip |
资源包 - MC 1.20 ~ 1.20.1 |
环境要求
- Java 21
- 将插件 JAR 放入
plugins/目录,资源包合并到服务器资源包中
v1.2.1
MahjongPlay v1.2.1
Minecraft Paper 服务端日本立直麻将插件。
更新内容
- 光照更新 — 去掉了麻将牌实体的 Brightness(15, 15) 固定亮度,现在牌面会跟随环境光照变化
- 1.20 支持 — 新增 MC 1.20 ~ 1.20.1 版本适配(感谢 @icgnos)
下载
| 文件 | 说明 |
|---|---|
MahjongPlay-1.2.1-MC1.21.4.jar |
插件 - Paper 1.21.4+ |
MahjongPlay-ResourcePack-MC1.21.4.zip |
资源包 - MC 1.21.4+ |
MahjongPlay-1.2.1-MC1.20-1.20.1.jar |
插件 - Paper 1.20 ~ 1.20.1 |
MahjongPlay-ResourcePack-MC1.20-1.20.1.zip |
资源包 - MC 1.20 ~ 1.20.1 |
环境要求
- Java 21
- 将插件 JAR 放入
plugins/目录,资源包合并到服务器资源包中