このプロジェクトは、全体が AI によって作成されています。
本プロジェクトは公式の Minecraft 製品ではなく、Mojang または Microsoft の承認・提携を受けていません。
Mahjong Soul/雀魂という名称は、互換性を意識したルールや表示スタイルを説明する目的でのみ使用しています。MahjongPaper は雀魂およびその権利者とは無関係であり、承認や後援を受けていません。各製品名・商標は、それぞれの権利者に帰属します。
詳しい日本語ドキュメントは docs/ja-JP を参照してください。
ゲーム内メッセージは英語、簡体字中国語、繁体字中国語(台湾・香港・マカオ)、日本語(ja-JP)に対応しています。表示言語はプレイヤーの Minecraft クライアント locale に従います。サーバー設定ファイルのコメントは、現時点では英語・簡体字中国語・繁体字中国語のみです。
MahjongPaper は、MahjongCraft を参考に Paper/Folia 向けに再構成した麻雀プラグインです。Paper の Display Entity と CraftEngine を利用し、次の三つの独立したゲームモードを提供します。
- 雀魂風リーチ麻雀:東風戦・半荘戦
- 国標麻雀(中国競技麻雀 / GB)
- 四川麻雀(T/TFMJ 01—2024 を規範とする血戦到底 profile)
新規卓の既定モードは MAJSOUL_HANCHAN です。
- 東・南・西・北の固定席、クリック着席、準備確認、4 人揃った時点での自動開始
- 卓主と管理者向けの卓管理 GUI
- 空席を補う Bot と 4 Bot テスト卓
- 打牌、リーチ、ツモ、ロン、チー、ポン、明槓、暗槓、加槓
- 観戦、非公開手牌表示、HUD、局結果画面、ローカライズされた案内
- 対局中に右側の 「河を見る」 を選ぶ俯瞰表示
- 俯瞰表示中の 「席に戻る」 操作と、復帰できない場合の Shift フォールバック
- クライアント Mod 不要の表示・操作
- 卓の位置、卓主、モード、ルール設定の永続化
- H2、MariaDB、MySQL による対局履歴・順位履歴・ランキング投影
- 任意の InvSync 2.x によるオンラインプレイヤーの段位 profile 同期。現在、自動更新は 4 人の人間プレイヤーによるリーチ対局だけ
- CraftEngine による牌アイテム、家具 hitbox、リソース bundle、culling 連携
サーバー再起動後に復元されるのは卓の位置、卓主、モード、ルール設定です。停止時点の手牌、牌山、点数、反応待ちウィンドウなど、進行中の一局そのものは再開されません。
| 項目 | 要件 |
|---|---|
| Java | Java 21 以上。配布物は Java 21 bytecode |
| サーバー | Paper / Folia。開発基準は Paper 1.20.1、api-version: 1.20 |
| 必須プラグイン | CraftEngine 26.7 以上 |
| 任意プラグイン | InvSync 2.x |
| クライアント Mod | 不要 |
詳細な導入手順は インストールと初期設定 を参照してください。
- Java 21 以上で Paper または Folia サーバーを用意します。
- CraftEngine 26.7 以上をインストールします。
- MahjongPaper の配布 JAR をサーバーの
pluginsディレクトリへ配置します。 - サーバーを完全起動し、
plugins/CraftEngine/resources/mahjongpaperに bundle が出力されたことを確認します。 - 管理者権限
mahjongpaper.adminを持つプレイヤーで、ゲームルームと卓を作成します。
/mahjong room wand
# 部屋の一方の角を左クリックし、反対側の角を右クリック
/mahjong room create main-hall メインホール
/mahjong create
既定設定では gameRooms.enabled: true と gameRooms.restrictNewTables: true のため、新しい卓はゲームルーム内でのみ作成できます。選択範囲を使わず、現在位置を中心に簡易ルームを作ることもできます。
/mahjong room create quick-room
/mahjong create
| 項目 | 雀魂風リーチ麻雀 | 国標麻雀 | 四川麻雀 |
|---|---|---|---|
| モード | MAJSOUL_TONPUU / MAJSOUL_HANCHAN |
GB |
SICHUAN |
| 牌 | 136 枚、赤五筒・赤五萬・赤五索 | 144 枚、花牌を含む | 108 枚、萬・筒・索のみ |
| 基本の試合長 | 東風戦または半荘戦 | 厳格 MCR は純得点 0、固定 16 局、連荘なし | T/TFMJ の一室は既定 8 副、純得点 0 |
| 和了条件 | 役が必要。最低翻はドラを除く役だけで判定 | 花牌分を除いて 8 fan 以上 | 平胡 0 fan、合計 3 fan / 8 単位上限、ツモは各家 +1 |
| チー | 可能 | 可能 | 不可 |
| 複数ロン | HEAD_BUMP / MULTI_RON |
一人だけ | 複数可、和了者を除いて続行 |
| 特殊な開始処理 | なし | 二個のサイコロを二回、開門、跳牌、補花は選択制 | 直接定欠、換三張なし |
| 規範 | 雀魂公式四人段位戦 | EMA/WMO Green Book | T/TFMJ 01—2024 |
詳しいルール:
各ルールページには、規範となる公式文書または団体標準と、学習用の YouTube / Bilibili 動画を分けて掲載しています。動画は一般的な実卓や別の地域・大会 profile を扱う場合があり、裁定元ではありません。
- リーチの
MAJSOULは雀魂公式四人段位戦を基準にします。EARLY_KAN_DORAは槓ドラ表示時期だけを変える互換設定で、完全な WRC 規則ではありません。旧保存値TOURNAMENTは同じ互換動作としてだけ読み込みます。 GBは EMA/WMO Green Book を規範とします。vendoredGB-Mahjongと規則書が食い違う場合、実装側を修正します。SICHUANは T/TFMJ 01—2024 を規範とし、換三張、末四強制和、固定花猪罰など他 profile の規則を既定動作へ混ぜません。
| 目的 | コマンドまたは操作 |
|---|---|
| ヘルプ | /mahjong help |
| 卓へ参加 | 席ラベルをクリック、または /mahjong join <tableId> |
| 準備状態を切り替える | 自分の席ラベルをクリック、または /mahjong start |
| 卓を離れる | /mahjong leave |
| 観戦する | /mahjong spectate <tableId> |
| モードを選ぶ | `/mahjong mode <MAJSOUL_TONPUU |
| ルールを確認・変更する | /mahjong rule [key] [value] |
| ツモ / ロン | /mahjong tsumo / /mahjong ron |
| チー / ポン / 明槓 | /mahjong chii <tileA> <tileB> / /mahjong pon / /mahjong minkan |
| 暗槓・加槓 | /mahjong kan <tile> |
| 反応を見送る | /mahjong skip |
| 直近の結果を開く | /mahjong settlement |
| 段位を確認する | /mahjong rank |
| モード別ランキング | `/mahjong leaderboard [RIICHI |
コマンド名、牌 ID、モード名、設定キーは翻訳せず、表示された文字列をそのまま入力してください。
既定設定ではローカル H2 が有効です。MahjongPaper の SQL は、常に次のデータを管理します。
- 永続卓
round_historyrank_history- 非権威のランキング投影
InvSync 2.x を利用できる場合、InvSync はオンラインプレイヤーの段位 profile を保存します。InvSync が存在しない、無効、API 非互換、または実行中に失敗した場合、既定のフォールバック設定では、SQL backend が有効かつ正常な場合に限って MahjongPaper 自身のデータベースへ切り替わります。SQL も利用できない場合、段位 backend は UNAVAILABLE になります。
現在、対局結果から段位と個人統計を自動更新するのは、4 人の人間プレイヤーによる RIICHI だけです。GB と SICHUAN の leaderboard selector は既存または移行済みデータを読み取れますが、そのモードの対局から自動更新されません。
InvSync の公開 addon API は onSave 時にデータを書き込むため、段位更新後から次回保存までにプロセスが異常終了すると、その更新が失われる可能性があります。InvSync の auto-save と world-save を有効にしてください。InvSync backend では /mahjong rank は、既に同期済みのオンラインプレイヤーに限られます。
生成される設定の基礎テンプレートは config.template.yml です。
- 通常の設定変更:
/mahjong reloadで設定と CraftEngine bridge を再読み込み - JAR、CraftEngine、サーバー本体、リソース生成方式の変更:完全再起動を推奨
- InvSync backend またはフォールバック方針の変更:完全再起動が必要
ビルド環境にも Java 21 以上が必要です。
.\gradlew.bat build通常のサーバー運用では、各プラットフォームの GB-Mahjong native library を含む公式配布 JAR の利用を推奨します。
第三者コード、画像、音声、名称、商標は、それぞれのライセンスまたは利用条件に従います。特に再配布時は、次の文書を必ず確認してください。
必須の音声クレジット:
Voice: Amitaro's Voice Material Studio (https://amitaro.net/)
音声素材:あみたろの声素材工房 (https://amitaro.net/)
MahjongPaper のオリジナルソースコードと独自作成素材は、個別に別条件が示されていない限り MIT License です。一方、実行可能な配布物は GPL の Sparrow YAML とリンクし、GPL の Sparrow Reflection を内包するため、組み合わせた実行可能ソフトウェアは GPL-3.0-only として提供されます。バイナリを再配布する場合は、対応するソースとビルド手順、および第三者通知を保持してください。