Skip to content

💻 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-daemon

File 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:

  1. 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|)$).
  2. 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 GPLv3

See also: Arsitektur & Target Mixin and Kompatibilitas Versi & Siklus Dukungan.

Official documentation & web portal for Dasik Igaijinn mods.