CauldronVTT — Minecraft用VTT(仮想卓)Mod
概要
CauldronVTT(Cauldron)は、Minecraft上に仮想卓(VTT: Virtual TableTop)機能を持ち込むことを目的としたFabric modです。オペレーター権限を持つプレイヤーが「Encounter」を生成し、戦闘に関わるトークンやイベント、データを一括管理してバトルを進行できます。現状は開発初期で公式の配布ビルドはなく、ソースコードはJava/Gradleで管理されています。TTRPG(例:D&D、Pathfinder)向けにシステム拡張が可能な設計を目指している点が特徴です。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 4
- ファイル数: 9
- メインの言語: Java
主な特徴
- Fabric向けのMinecraft modとしてVTT機能を導入する試み
- オペレーターが作成する「Encounter」により戦闘単位を管理
- Java/Gradleベースで開発・ビルド設定を保持(build.gradleあり)
- 現在は初期実装で、公式ビルド未提供・拡張の余地が大きい
技術的なポイント
CauldronVTTのソースはJavaで記述され、build.gradleが存在することからGradleを使った標準的なJava/Fabricワークフローを前提としています。Fabric modとして動作させるにはFabric APIやランチャー側のセットアップが必要ですが、リポジトリ自体はmodのロジック層にフォーカスしている模様です。主要概念は「Encounter」で、これは戦闘や遭遇に関連するトークン(キャラクターやエネミー)やイベント、状態をカプセル化する単位です。サーバー側でオペレーター権限を持つプレイヤーがEncounterを生成し、サーバーが権威ある状態(authoritative state)として各プレイヤーへ同期する設計が想定されます。
実装面では、Minecraftのエンティティやブロック、GUIを利用してトークンや発生イベントを可視化・操作する拡張が可能です。データ永続化にはMinecraft標準のNBTや外部JSONなどが使えますが、現状コード量からは簡易なシリアライズ層がある程度実装されていると推測されます。ネットワーク同期はFabricのパケット送受信やServer-Client APIで実現するのが一般的で、本プロジェクトでも同様の手法でクライアント間の状態整合性を取る設計が自然です。
さらに、TTRPGシステム固有のルール(イニシアティブ、ダメージ計算、イフェクト管理など)をプラグイン的に組み込めると拡張性が高まります。現段階はプロトタイプ的要素が強く、テスト・CIやリリースパイプライン、ドキュメント整備、ユーザー向けGUI/UXの充実といった開発インフラの整備が次のステップになるでしょう。また、LICENSEとLICENSE.txtが両方存在する点はライセンス情報の整理が必要です。開発に参加する場合はGradle環境とFabricの開発環境(Fabric Loom等)の準備、ソースのビルド・動作確認を行うことになります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- LICENSE: file
- LICENSE.txt: file
- README.md: file
- build.gradle: file
…他 4 ファイル
まとめ
Minecraft上でのVTT化を志す小規模プロジェクト。今後の整備と拡張に期待。
リポジトリ情報:
- 名前: CauldronVTT
- 説明: A Minecraft VTT Mod
- スター数: 1
- 言語: Java
- URL: https://github.com/CommandrMoose/CauldronVTT
- オーナー: CommandrMoose
- アバター: https://avatars.githubusercontent.com/u/34910888?v=4
READMEの抜粋:
Cauldron - A Minecraft VTT
CauldronVTT, or Cauldron, is a Fabric mod for Minecraft that acts as a way to create and run virtual encounters for TTRPG systems (D&D, Pathfinder, etc.).
There is currently no official launch/build of the project.
Basic setup
The Encounter
Any player with operator permissions can create an “Encounter”. An Encounter is an encapsulating term for all events, tokens and data that would be associated with a combat or battle.
In order for a battle to run, a…