Skip to content

Releases: 7yunluo/MahjongPlay

v1.4.1

11 Jun 15:08

Choose a tag to compare

常见役种判定修正

通过 33 个真实和牌场景的实测验证,确认内置的 mahjong4j 0.3.2 库存在多处役种判定缺陷,本版本已在插件侧逐一修正。

役种判定修复

  • 三色同顺判定失灵:真正的三色同顺(如 234 万/筒/索)不被识别,而不构成三色的手牌反而会被错误授予该役。现改为基于面子拆解自行重算,三色同刻一并重算。
  • 平和误判边张听牌:12 听 3、89 听 7 的边张待ち被错误判定为两面而授予平和。现按标准两面定义重新校验。
  • 三暗刻荣和误判:荣和补完的第三组刻子应视为明刻,原先被当作暗刻导致三暗刻被错误授予。现正确重新计数。
  • 四暗刻双碰荣和误判:双碰荣和不构成四暗刻役满,现正确降级为三暗刻+对对和。
  • 纯全带幺九判定缺陷:雀头为中张牌也会被授予纯全;纯全与混全两役会错误叠加计番。现纯全要求雀头为幺九且全手无字牌,两役互斥。

计分修复

  • 荣和补完的刻子按明刻计符:原先按暗刻计符导致符数虚高。

验证

全部修复通过 33 个场景的役种回归测试,覆盖:立直、平和(全部六种听牌型)、断幺九、役牌、连风牌、七对子、三色同顺/同刻、一气通贯、对对和、三暗刻(荣和/自摸)、混一色、清一色、一盃口、二盃口、混全/纯全带幺九、混老头、无役拒和、食断开关、赤宝牌、一发、海底摸月、河底捞鱼。

v1.4.0

11 Jun 14:00

Choose a tag to compare

和牌判定与役种逻辑大修

本版本全面修复了「很多情况下和不了牌」的问题,重写了和牌判定与役种结算的关键路径。

和不了牌的根因修复

  • 修复第一巡闲家荣和被吞:第一巡内的闲家荣和会被 mahjong4j 判定为人和役满,而插件在规则未启用古役时剔除人和后直接跳过了普通役计算,导致被判「无役」无法和牌。现在剔除被禁用的役满后会正确回落到普通役结算。
  • 修复门清玩家首巡无法荣和:荣和候选筛选中错误地排除了「尚未弃过牌的门清玩家」,该限制没有任何规则依据,已移除。
  • 修复天和/地和/人和判定窗口过宽:原「第一巡」判定为全员弃牌 ≤1 张,导致庄家第二摸自摸被误判天和、闲家第二摸误判地和。现在役种判定要求和牌者本人零弃牌,并在荣和/自摸的判定与结算中使用同一状况对象。

崩溃修复

  • 修复赤5加杠导致整局卡死:对三张普通 5 的碰副露加杠摸到的赤 5 时,副露查找因枚举不等返回空导致 NPE、回合协程中断。现按牌面值匹配副露。

规则与计分修复

  • 振听判定补全:只要任意一张听牌曾被自己打出即构成振听,而不再只检查当前荣和的那张牌。
  • 暗杠后可以立直:原先门清暗杠后因手牌数检查写死 14 张而永远无法宣告立直。
  • 一发判定修复:改用精确的立直弃牌索引(避免同种牌错位)、按实际玩家数计算巡目窗口,且两立直现在也能正确获得一发。
  • 双役满判定生效:听牌计算不再包含红宝牌与占位牌的重复项,国士无双十三面、四暗刻单骑、纯正九莲宝灯现在可以被正确识别为双倍役满。

v1.3.1

11 Jun 11:50

Choose a tag to compare

Bug Fixes

  • 修复吃/碰后食替(喰い替え)限制缺失#9):吃牌或碰牌后,玩家仍然可以立即打出与所鸣牌相同的牌(现物食替),吃牌后也可以打出顺子另一端的筋牌(筋食替)。禁打列表此前仅对机器人生效,真实玩家的出牌选择完全没有校验。现已在出牌动作入口统一拦截:
    • 真实玩家点击被禁止的牌时会收到红色提示「食替禁止」,并可重新选牌;
    • 修复「碰/吃二选一」路径下选择吃牌时未将被鸣的牌加入禁打列表的问题;
    • 食替判定按牌面值比较,赤宝牌(赤5)与普通 5 视为同一种牌,与雀魂规则一致;
    • 出牌超时时自动回退到一张不构成食替的牌。

v1.3.0

11 Apr 01:31

Choose a tag to compare

Bug Fixes

  • 修复异步线程实体生成崩溃:游戏结束时 onGameEnd 在协程后台线程调用 spawnEntity,导致 AsyncCatcher 异常,桌面显示无法正确更新为等待状态。现已使用 runTask 包裹确保主线程执行。

  • 修复振听误判导致无法荣和isFuriten 中使用 indexOfallDiscards 中查找玩家最后打出的牌,但 MahjongTile 是 enum,同类型牌共享同一 enum 值。当其他玩家先打出相同类型的牌时,indexOf 返回错误位置,导致振听检查窗口被错误扩大,将正常玩家误判为振听。现改为直接跟踪玩家在 allDiscards 中的精确索引。

MahjongPlay v1.2.4

08 Apr 21:37

Choose a tag to compare

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

08 Apr 03:54

Choose a tag to compare

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

27 Mar 05:06

Choose a tag to compare

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

26 Mar 00:48

Choose a tag to compare

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/ 目录,资源包合并到服务器资源包中