Minecraft (Java Edition) Fabric 向け MOD リポジトリです。
このリポジトリは、System Design Management 向けの Minecraft Fabric MOD を開発するためのものです。
開発・テストは以下の環境を前提としています。
- Minecraft:
[1.21.6] - Mod Loader: Fabric Loader
- API: Fabric API
Firstly, clone this repository using Git:
- 開発者向け
git clone git@github.com:System-Design-Management/sdm-mod.git- mod を利用する方向け
git clone https://github.com/System-Design-Management/sdm-mod.gitOnce you've opened the project in your IDE, it should automatically load the project's Gradle configuration and perform the necessary setup tasks.
IntelliJ IDEA
- If you're using the command line, you can use the following Gradle commands to start the game:
./gradlew runServer: Start the game in server mode.(ログのみ表示される)./gradlew runClient: Start the game in client mode.(ゲーム画面が起動)
- mod の挙動をゲーム画面で確認するときは、サーバーモードでゲームを開始したままクライアントモードでゲームを開始すればよい。
./gradlew runClient で起動する開発環境は、通常の .minecraft/saves/ ではなく、このリポジトリの run/saves/ をワールド保存先として使います。
既存ワールドのバックアップを開発環境で使いたい場合は、バックアップしたワールドフォルダを run/saves/ の下に配置してください。
例:
run/saves/MyWorld/この状態で ./gradlew runClient を起動すると、ワールド選択画面に MyWorld が表示されます。
通常の Minecraft で使っているワールドを直接編集すると破損時の影響が大きいため、コピーしたバックアップを run/saves/ に置いて利用することを推奨します。
このリポジトリでは ./gradlew を使う想定ですが、gradlew が存在しない状態だと以下のようなエラーになります。
zsh: no such file or directory: ./gradlewzsh: permission denied: ./gradle
./gradle は実行ファイルではなくディレクトリのため、./gradle runServer は実行できません。
その場合は、まずローカルに Gradle をインストールして wrapper を再生成してください。
macOS:
brew install gradle
gradle wrapper
./gradlew runServerWindows (PowerShell):
winget install Gradle.Gradle
gradle wrapper
.\gradlew.bat runServerクライアントを起動する場合は、wrapper 再生成後に以下を実行してください。
macOS:
./gradlew runClientWindows (PowerShell):
.\gradlew.bat runClientFabric公式ドキュメントを参考にしてください。 IDEはIntelliJ IDEA (community版) を推奨しています。(無料)
./gradlew build を実行すると、このプロジェクトの配布用 jar は build/libs/sdm-mod-1.0-SNAPSHOT.jar に生成されます。
この jar を実際の Minecraft に導入する場合は、Fabric を導入済みの Minecraft の mods フォルダに配置してください。
- macOS:
~/Library/Application Support/minecraft/mods/ - Windows:
%AppData%/.minecraft/mods/ - Linux:
~/.minecraft/mods/
開発環境で ./gradlew runClient を使って起動する場合は、実行用ディレクトリが run/ になるため、外部 mod は run/mods/ に配置します。
このプロジェクト自身の mod は起動時に自動で読み込まれるため、build/libs/sdm-mod-1.0-SNAPSHOT.jar を run/mods/ にコピーする必要はありません。
ストーリー開始時の初期化は、ワールド起動時の自動実行ではなくコマンド実行で行います。
- コマンド:
/sdm_story start - 実行権限: 権限レベル 2 以上(ゲーム開始時にプレイヤーへコマンド権限を自動付与)
このコマンドを実行すると、以下の初期化が行われます。
- 実績解除の告知を無効化する
- 時刻を夜に設定し、以後変化しないようにする
- 天気を晴れに設定し、以後変化しないようにする
- ストーリー進行状態を開始地点に戻す
- 全プレイヤーのインベントリとエンダーチェストを空にする
- 全プレイヤーの体力、満腹度、呼吸ゲージ、経験値などを初期状態に戻す
- 全プレイヤーをアドベンチャーモードにする
- 全プレイヤーの視線先に当たったブロック付近だけを、弱い光で照らす
- 各プレイヤーを実行主体にして
function thepa:give/revolverを順に実行する - 各プレイヤーを実行主体にして
function thepa:give/bulletsを順に実行する
開始地点へのテレポートは、座標確定後に追加予定です。
MOD開発の学習には、以下のFabric公式ドキュメントが役立ちます。
- Fabric ドキュメント (Getting Started):
このリポジトリでは、銃要素を Java の mod 依存として追加せず、Guns++ 5.8.7+mod を外部の mod jar として利用する方針にします。
Point BlankやGeckoLibはこのプロジェクトの Gradle 依存に含めません。Guns++はbuild.gradleには追加しません。Guns++の導入は Minecraft 実行環境側で行います。
guns++-5.8.7.jar(https://modrinth.com/datapack/guns++/versions?g=1.21.6&l=fabric)
Guns++ V5.8.7 は Fabric / Forge / NeoForge / Quilt に対応し、Minecraft 1.21.6-1.21.10 を対象にしています。
guns++-5.8.7.jarを取得する- jar を
run/mods/に配置する ./gradlew runClientで起動する- タイトル画面の mod 一覧またはログで
Guns++が読み込まれていることを確認する
- このリポジトリは Fabric 1.21.6 の mod 開発用です。
Guns++はゲーム実行時にrun/mods/へ追加して併用します。- Java コードから
Guns++のクラスや API を参照する前提ではありません。 - 連携が必要な場合は、まず
Guns++が公開している連携手段の有無を確認してください。
MIT LICENSE