Skip to content

💻 Entwickler-Setup und Kompilierung

Dieser Leitfaden beschreibt Systemanforderungen, Gradle-Befehle und Tests für Entwickler von Agrarian Reform.


🛠️ Voraussetzungen für die Entwicklungsumgebung

  • Java Development Kit: JDK 25 (release = 25).
  • Gradle-Version: Gradle 9.3+ (über den Wrapper ./gradlew).
  • Fabric Loom: Loom 1.15.5.
  • Mappings: Moderne unverschleierte Laufzeitumgebung (Mojang-Mappings).
  • IDE: IntelliJ IDEA 2025.3+ oder Eclipse mit Java 25-Unterstützung.

🏗️ Multi-Versions-Subprojektstruktur & Build

Agrarian Reform befolgt das 1 Jar 1 Version-Prinzip mit eigenen Ordnern pro 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/

Aus dem Quellcode bauen

bash
# Repository klonen
git clone https://github.com/Rifaditya/Agrarian-reform-MC-mod.git

# JAR für MC 26.2 bauen
cd "Agrarian Reform v26.2/agrarian-reform"
./gradlew check test build --no-daemon

# JAR für MC 26.3 bauen
cd "../../Agrarian Reform v26.3/agrarian-reform"
./gradlew check test build --no-daemon

Fertige JARs werden überprüft und in Archive Jar of all versions/ archiviert.


🧪 Automatisierte Headless-Unit-Tests

Headless-Tests werden bei ./gradlew test und ./gradlew check ausgeführt:

  1. ContinuumMathTest.java:
    • Prüft Offline-Wachstumsskalierung über Zeitdifferenzen hinweg.
    • Prüft Einfrierungsregel ($-1 \to \text{effectiveDelta} = 0$).
    • Prüft Bereinigung alter Zeitstempel nach 30 Tagen ($51,840,000\text{ Ticks}$).
    • Prüft die Geometrie konzentrischer Tschebyschow-Ringe ($r = \max(|dx|, |dz|)$).
  2. AgrarianConfigTest.java:
    • Prüft Stabilität und Invarianten der Konfigurationsschemata.
    • Prüft Hierarchie der Faktoren (spezifisch, eingefroren, global).
    • Prüft Duplikaterkennung bei neuen Pflanzenarten.
    • Prüft threadsichere Zustandsübergänge bei Änderungen.
bash
# Alle automatischen Tests ausführen
./gradlew test

🔒 Verpflichtender Lizenz-Header

Alle Java-Dateien müssen den standardmäßigen einzeiligen Lizenz-Header enthalten:

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

See also: Architektur und Mixin-Ziele and Versionskompatibilität und Support-Lebenszyklus.

Official documentation & web portal for Dasik Igaijinn mods.