Skip to content

💻 開發者環境建置與編譯指南

本指南詳細介绍了面向 Agrarian Reform 贡献者的開發環境需求、Gradle 建置命令、多版本锚點子專案結構以及自动化測试執行流程。


🛠️ 開發環境先決條件

  • Java 開發工具包:JDK 25 (release = 25)。
  • Gradle 版本:Gradle 9.3+(通過 Gradle Wrapper ./gradlew 统一管理)。
  • Fabric Loom: Loom 1.15.5.
  • 對應表:現代非混淆運行時(Mojang 官方對應表由 Loom 原生处理)。
  • 整合開發環境:支援 Java 25 的 IntelliJ IDEA 2025.3+ 或 Eclipse。

🏗️ 多版本子專案結構與編譯

Agrarian Reform 嚴格遵循 1 Jar 1 Version 法則,针对每個 Minecraft 版本锚點设立獨立的子專案檔案夹:

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.jaragrarian-reform-2.2.18+26.3.jar) 会自动經過校驗並歸檔至 Archive Jar of all versions/ 目錄。


🧪 無頭自動化單元測試

遵循自动化 GameTest 驗证法則,在執行 ./gradlew test./gradlew check 時会自动運行無頭測试套件:

  1. ContinuumMathTest.java:
    • 斷言標准与模組作物在離線時间差下的缩放增長曲線。
    • 斷言凍結倍率規則 ($-1 \to \text{effectiveDelta} = 0$)。
    • 斷言 30 天過期時间戳清理上限 ($51,840,000\text{ 刻}$)。
    • 斷言同心切比雪夫水化環幾何模型 ($r = \max(|dx|, |dz|)$)。
  2. AgrarianConfigTest.java:
    • 斷言預設配置架構不變量与版本遷移穩定性。
    • 斷言倍率層級解析順序(強制特定覆蓋、凍結、全局回退)。
    • 斷言模組作物探測去重機制。
    • 斷言線程安全的髒標記状态流轉。
bash
# 運行所有自动化測试
./gradlew test

🔒 強制單行開源協議頭

所有 Java 源檔案均必须包含標准單行版權聲明:

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

See also: 架構設計與 Mixin 注入參考 and 版本相容性與支援週期.

Official documentation & web portal for Dasik Igaijinn mods.