Skip to content

💻 開発者向け環境構築とビルド手順

このガイドでは、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実行時にヘッドレステストが実行されます:

  1. ContinuumMathTest.java:
    • 標準およびMOD作物のオフライン成長曲線の時間スケールを検証。
    • 成長凍結ルール($-1 \to \text{effectiveDelta} = 0$)を検証。
    • 30日以上の古いタイムスタンプ削除上限($51,840,000\text{ ticks}$)を検証。
    • チェビシェフ距離による同心円状の灌漑判定を検証($r = \max(|dx|, |dz|)$)。
  2. AgrarianConfigTest.java:
    • 設定スキーマの不変性とバージョン互換性を検証。
    • 倍率の優先順位(個別指定、凍結、全体継承)を検証。
    • MOD作物検出時の重複排除を検証。
    • 変更検知処理のスレッド安全性を検証。
bash
# すべての自動テストを実行
./gradlew test

🔒 必須の単一行ライセンスヘッダー

すべてのJavaソースファイルには、標準の1行ライセンスヘッダーを含める必要があります:

java
// Copyright (C) 2026 Dasik (Rifaditya) | GNU GPLv3

See also: アーキテクチャと Mixin ターゲット and バージョン互換性とサポートライフサイクル.

Official documentation & web portal for Dasik Igaijinn mods.