💻 Pengaturan Pengembang & Kompilasi
Panduan ini menjelaskan kebutuhan sistem, perintah build Gradle, subproject multi-versi, dan pengujian otomatis untuk pengembang Agrarian Reform.
🛠️ Prasyarat Lingkungan Pengembangan
- Java Development Kit: JDK 25 (
release = 25). - Versi Gradle: Gradle 9.3+ (melalui wrapper
./gradlew). - Fabric Loom: Loom 1.15.5.
- Mapping: Runtime modern tanpa obfuskasi (mapping resmi Mojang).
- IDE: IntelliJ IDEA 2025.3+ atau Eclipse dengan dukungan Java 25.
🏗️ Struktur Subproyek Multi-Versi & Kompilasi
Agrarian Reform menerapkan aturan ketat 1 Jar 1 Version dengan folder subproject khusus untuk tiap versi 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/Kompilasi dari Kode Sumber
bash
# Clone repositori
git clone https://github.com/Rifaditya/Agrarian-reform-MC-mod.git
# Build JAR MC 26.2
cd "Agrarian Reform v26.2/agrarian-reform"
./gradlew check test build --no-daemon
# Build JAR MC 26.3
cd "../../Agrarian Reform v26.3/agrarian-reform"
./gradlew check test build --no-daemonFile JAR hasil kompilasi (agrarian-reform-2.2.18+26.2.jar dan agrarian-reform-2.2.18+26.3.jar) diverifikasi dan diarsipkan ke Archive Jar of all versions/.
🧪 Pengujian Unit Otomatis Headless
Sesuai aturan Automated GameTest Verification, rangkaian pengujian dijalankan saat perintah ./gradlew test dan ./gradlew check:
ContinuumMathTest.java:- Memverifikasi skala delta waktu pertumbuhan offline pada kurva pertumbuhan vanilla dan mod.
- Memverifikasi aturan pembekuan pertumbuhan ($-1 \to \text{effectiveDelta} = 0$).
- Memverifikasi batas penghapusan timestamp usang lebih dari 30 hari ($51,840,000\text{ ticks}$).
- Memverifikasi kalkulasi geometris cincin Chebyshev ($r = \max(|dx|, |dz|)$).
AgrarianConfigTest.java:- Memverifikasi stabilitas skema konfigurasi standar.
- Memverifikasi urutan hierarki pengali (khusus, beku, atau bawaan global).
- Memverifikasi pencegahan duplikasi saat mendaftarkan tanaman mod baru.
- Memverifikasi keamanan thread saat transisi status penyimpanan.
bash
# Menjalankan semua pengujian otomatis
./gradlew test🔒 Header Lisensi Wajib
Semua file sumber Java wajib menyertakan header lisensi satu baris:
java
// Copyright (C) 2026 Dasik (Rifaditya) | GNU GPLv3See also: Arsitektur & Target Mixin and Kompatibilitas Versi & Siklus Dukungan.
