💻 Environnement de développement et compilation
Ce guide détaille les prérequis, commandes Gradle, sous-projets multi-versions et tests automatisés pour les développeurs de Agrarian Reform.
🛠️ Prérequis de l'environnement
- Java Development Kit : JDK 25 (
release = 25). - Version de Gradle : Gradle 9.3+ (via le wrapper Gradle
./gradlew). - Fabric Loom: Loom 1.15.5.
- Mappings : Environnement moderne non obscurci (mappings officiels Mojang).
- IDE : IntelliJ IDEA 2025.3+ ou Eclipse avec support de Java 25.
🏗️ Structure des sous-projets multi-versions
Agrarian Reform applique la règle stricte du 1 Jar 1 Version avec des sous-dossiers dédiés par version cible :
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/Compilation depuis les sources
bash
# Cloner le dépôt
git clone https://github.com/Rifaditya/Agrarian-reform-MC-mod.git
# Compiler le JAR pour MC 26.2
cd "Agrarian Reform v26.2/agrarian-reform"
./gradlew check test build --no-daemon
# Compiler le JAR pour MC 26.3
cd "../../Agrarian Reform v26.3/agrarian-reform"
./gradlew check test build --no-daemonLes fichiers JAR compilés (agrarian-reform-2.2.18+26.2.jar et agrarian-reform-2.2.18+26.3.jar) sont validés et archivés dans Archive Jar of all versions/.
🧪 Tests unitaires headless automatisés
Conformément au principe des tests automatisés GameTest, des suites de tests s'exécutent via ./gradlew test et ./gradlew check :
ContinuumMathTest.java:- Vérifie l'échelle d'accroissement hors-ligne sur les courbes de croissance vanilla et moddées.
- Vérifie la règle de gel ($-1 \to \text{effectiveDelta} = 0$).
- Vérifie la purge des enregistrements obsolètes de plus de 30 jours ($51,840,000\text{ ticks}$).
- Vérifie la géométrie concentrique des anneaux de Chebyshev ($r = \max(|dx|, |dz|)$).
AgrarianConfigTest.java:- Vérifie la stabilité et les invariants du schéma de configuration.
- Vérifie la résolution hiérarchique des facteurs (spécifique, gelé, repli global).
- Vérifie la déduplication lors de la découverte de nouvelles espèces.
- Vérifie la sûreté multithread des transitions d'état de sauvegarde.
bash
# Exécuter tous les tests automatisés
./gradlew test🔒 En-tête de licence obligatoire
Tous les fichiers source Java doivent comporter l'en-tête de copyright standard sur une seule ligne :
java
// Copyright (C) 2026 Dasik (Rifaditya) | GNU GPLv3See also: Architecture et cibles Mixin and Compatibilité des versions et cycle de vie.
