🗺️ Compatibilidad de versiones y Matriz del ciclo de vida
📌 Aviso sobre el código fuente del repositorio: La documentación de esta Wiki refleja el estado actual del código fuente en el repositorio, que puede incluir confirmaciones recientes no publicadas o características en desarrollo antes de los lanzamientos públicos en CurseForge y Modrinth.
🏛️ Estándar Operativo «1 Jar 1 Version» (Un JAR por Versión)
True Sleep aplica estrictamente la política «1 Jar 1 Version»: cada versión objetivo de Minecraft cuenta con su propio archivo JAR compilado de forma nativa frente a la cadena de herramientas Loom y el código de bytes de dicha versión.
Bajo el Mandato Obligatorio del Ciclo de Vida Multiversión, ninguna versión compatible es jamás retirada, abandonada o discontinuada sin previo aviso explícito.
📊 Matriz Completa de Versiones de Minecraft
| Ancla de Minecraft | Era de Lanzamiento | Toolchain de Java | Herramientas de Build | Etiqueta de Versión | Estado |
|---|---|---|---|---|---|
| MC 26.3 | Modern Lead | Java 25+ (release = 25) | Loom 1.15+, Gradle 9.3+ | 1.3.23+26.3 | 🟢 Producción Activa |
| MC 26.2 | Modern Predecessor | Java 25+ (release = 25) | Loom 1.15+, Gradle 9.3+ | 1.3.22+26.2 | 🟢 Producción Activa |
| MC 26.1 / 26.1.2 | Modern Anchor | Java 25+ (release = 25) | Loom 1.15+, Gradle 9.3+ | 1.3.22+26.1.2 | 🟢 Producción Activa |
| MC 1.21.11 | Winter Drop | Java 21 (release = 21) | Loom 1.15-SNAPSHOT | 1.1.2+1.21.11 | 🟡 Archivo Mantenido |
| MC 1.21.1 | Transitional Early | Java 21 (release = 21) | Loom 1.10+ | 1.1.2+1.21.1 | 🟡 Archivo Mantenido |
| MC 1.20.1 | Legacy Anchor | Java 17 (release = 17) | Loom 1.4+, Gradle 8.x | 1.0.3+1.20.1 | 🟡 Archivo Mantenido |
🛡️ Verificación de Seguridad ModVersionGuard
Para proteger las partidas guardadas y los datos adjuntos de los jugadores contra desajustes del cargador de clases o estados de API corruptos, True Sleep ejecuta una verificación de bytecode sin dependencias durante onInitialize():
public class TrueSleep implements ModInitializer {
@Override
public void onInitialize() {
net.vanillaoutsider.truesleep.util.ModVersionGuard.checkClass(
"True Sleep",
"net.minecraft.world.entity.player.Player"
);
LOGGER.info("Initializing True Sleep (Time Warp)...");
TrueSleepRules.init();
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) ->
TrueSleepCommand.register(dispatcher)
);
}
}Resolución mediante el ClassLoader Knot
La verificación utiliza Thread.currentThread().getContextClassLoader() para resolver clases de vanilla a través del cargador Knot de Fabric. Si se detecta un entorno incompatible, el arranque se detiene de inmediato con un mensaje de diagnóstico antes de que se altere ningún dato del mundo.
📦 Matriz de Dependencias
| Dependencia | Versión Mínima | Obligatorio / Opcional | Propósito |
|---|---|---|---|
| Fabric Loader | >=0.16.10 | Obligatorio | Carga de mods y transformación de Mixins. |
| Java Runtime | >=25 (26.x) / >=21 (1.21) / >=17 (1.20) | Obligatorio | Entorno de ejecución JVM principal. |
| Fabric API | * (Open Lower Bound) | Obligatorio | Registro de comandos y eventos del ciclo de vida. |
| Dasik Library | >=1.8.0 | Obligatorio | Motor de GameRules dinámicas y regulación. |
| Cloth Config | * | Opcional | Interfaz gráfica de configuración dentro del juego. |
| ModMenu | * | Opcional | Integración en la lista de mods y botón de ajustes. |
