💻 開発者向け環境構築とビルド手順
このガイドでは、Agrarian Reformの開発者向けに環境要件、Gradleビルドコマンド、マルチバージョン構成、自動テストについて解説します。
🛠️ 開発環境の前提条件
- Java Development Kit: JDK 25 (
release = 25)。 - Gradleバージョン: Gradle 9.3以上(ラッパー
./gradlewを使用)。 - Fabric Loom: Loom 1.15.5.
- マッピング: モダンな非難読化ランタイム(Mojang公式マッピング)。
- 開発環境 (IDE): IntelliJ IDEA 2025.3+ または Java 25対応のEclipse。
🏗️ 複数バージョン対応サブプロジェクト構造とビルド
Agrarian Reformは、バージョンごとに専用フォルダを持つ厳格な1 Jar 1 Version方針を採用しています:
Agrarian Reform/
├── Agrarian Reform v26.2/
│ └── agrarian-reform/ (Targets MC 26.2 / ">=26.2-")
├── Agrarian Reform v26.3/
│ └── agrarian-reform/ (Targets MC 26.3 / ">=26.3-")
└── Archive Jar of all versions/
├── MC 26.2/
└── MC 26.3/ソースコードからのビルド
bash
# リポジトリをクローン
git clone https://github.com/Rifaditya/Agrarian-reform-MC-mod.git
# MC 26.2用JARをビルド
cd "Agrarian Reform v26.2/agrarian-reform"
./gradlew check test build --no-daemon
# MC 26.3用JARをビルド
cd "../../Agrarian Reform v26.3/agrarian-reform"
./gradlew check test build --no-daemonビルドされたJARファイル(agrarian-reform-2.2.18+26.2.jarなど)は自動検証され、Archive Jar of all versions/に保存されます。
🧪 ヘッドレス自動ユニットテスト
GameTest自動検証ポリシーに基づき、./gradlew testおよび./gradlew check実行時にヘッドレステストが実行されます:
ContinuumMathTest.java:- 標準およびMOD作物のオフライン成長曲線の時間スケールを検証。
- 成長凍結ルール($-1 \to \text{effectiveDelta} = 0$)を検証。
- 30日以上の古いタイムスタンプ削除上限($51,840,000\text{ ticks}$)を検証。
- チェビシェフ距離による同心円状の灌漑判定を検証($r = \max(|dx|, |dz|)$)。
AgrarianConfigTest.java:- 設定スキーマの不変性とバージョン互換性を検証。
- 倍率の優先順位(個別指定、凍結、全体継承)を検証。
- MOD作物検出時の重複排除を検証。
- 変更検知処理のスレッド安全性を検証。
bash
# すべての自動テストを実行
./gradlew test🔒 必須の単一行ライセンスヘッダー
すべてのJavaソースファイルには、標準の1行ライセンスヘッダーを含める必要があります:
java
// Copyright (C) 2026 Dasik (Rifaditya) | GNU GPLv3See also: アーキテクチャと Mixin ターゲット and バージョン互換性とサポートライフサイクル.
