💻 Configuración de desarrollo y compilación
Esta guía detalla los requisitos del entorno, comandos Gradle y pruebas automatizadas para desarrolladores de Agrarian Reform.
🛠️ Requisitos previos del entorno
- Kit de desarrollo Java: JDK 25 (
release = 25). - Versión de Gradle: Gradle 9.3+ (mediante el wrapper
./gradlew). - Fabric Loom: Loom 1.15.5.
- Mapeos: Entorno moderno no ofuscado (mapeos oficiales de Mojang).
- IDE: IntelliJ IDEA 2025.3+ o Eclipse compatible con Java 25.
🏗️ Estructura de subproyectos multiversión
Agrarian Reform aplica la regla de 1 Jar 1 Version con carpetas independientes por versión de 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/Compilación desde el código fuente
bash
# Clonar el repositorio
git clone https://github.com/Rifaditya/Agrarian-reform-MC-mod.git
# Compilar JAR para MC 26.2
cd "Agrarian Reform v26.2/agrarian-reform"
./gradlew check test build --no-daemon
# Compilar JAR para MC 26.3
cd "../../Agrarian Reform v26.3/agrarian-reform"
./gradlew check test build --no-daemonLos archivos JAR compilados se verifican y archivan en Archive Jar of all versions/.
🧪 Pruebas unitarias headless automatizadas
Las pruebas automáticas sin interfaz se ejecutan con ./gradlew test y ./gradlew check:
ContinuumMathTest.java:- Verifica la escala de crecimiento offline en cultivos vainilla y de mods.
- Verifica la regla de congelación ($-1 \to \text{effectiveDelta} = 0$).
- Verifica la purga de marcas temporales de más de 30 días ($51,840,000\text{ ticks}$).
- Verifica la geometría concéntrica de anillos de Chebyshev ($r = \max(|dx|, |dz|)$).
AgrarianConfigTest.java:- Verifica la estabilidad e invariantes del esquema de configuración.
- Verifica la resolución jerárquica de multiplicadores (específico, congelado, global).
- Verifica la deduplicación al descubrir nuevos cultivos.
- Verifica la seguridad de hilos en los estados de cambios pendientes.
bash
# Ejecutar todas las pruebas automáticas
./gradlew test🔒 Cabecera de licencia obligatoria
Todos los archivos de código Java deben incluir el encabezado de licencia estándar de una sola línea:
java
// Copyright (C) 2026 Dasik (Rifaditya) | GNU GPLv3See also: Arquitectura y mixins and Compatibilidad de versiones y ciclo de soporte.
