🐑 Éxtasis de Mobs y Envejecimiento Biológico de Granjas
📌 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.
🛡️ Éxtasis de Mobs (Congelación de IA)
Durante la aceleración temporal hiperrápida, los enemigos hostiles veloces (Zombies, Esqueletos, Creepers) podrían arrasar bases o eliminar a jugadores durmientes antes de que pudieran reaccionar.
True Sleep introduce el Éxtasis de Mobs (Mob Stasis): Cuando truesleep:freeze_mobs está activado (por defecto: ON), la navegación por IA, el trazado de rutas y los objetivos de ataque de los mobs quedan en pausa.
Exención para Criaturas Trabajadoras
Los aldeanos y los allays se clasifican bajo la etiqueta #truesleep:worker_mobs. Por defecto, truesleep:freeze_workers se mantiene en OFF (false), permitiendo a los aldeanos caminar suavemente hacia sus camas o puestos de trabajo al atardecer.
🌾 Envejecimiento Biológico de Granjas
Incluso con la IA de movimiento congelada, el reloj biológico interno de los animales continúa avanzando mediante BiologicalStasisHelper:
1. Crecimiento de Crías y Enfriamiento de Cría
Las crías de vacas, ovejas, cerdos, pollos y lobos crecen durante el sueño:
if (mob instanceof AgeableMob ageable) {
int currentAge = ageable.getAge();
if (ageable.canAgeUp()) {
ageable.setAge(Math.min(0, currentAge + strideTicks));
} else if (currentAge > 0) {
ageable.setAge(Math.max(0, currentAge - strideTicks));
}
}2. Temporizadores de Puesta de Huevos en Gallinas
Los temporizadores de huevos disminuyen por strideTicks, permitiendo que las granjas de huevos funcionen de forma ininterrumpida: $$\text{eggTime} = \max(1, \text{eggTime} - \text{strideTicks})$$
3. Regeneración de Lana en Ovejas (Simulación de Pastoreo)
Las ovejas esquiladas normalmente necesitan pastar para recuperar su lana. En éxtasis, True Sleep simula este consumo matemáticamente:
$$\text{grazeChance} = \min\left(1.0, \frac{\text{strideTicks}}{1000.0}\right)$$
Si una oveja esquilada está sobre un bloque de minecraft:grass_block, tiene una probabilidad $\text{grazeChance}$ por paso de convertirlo en minecraft:dirt y recuperar su lana (sheep.setSheared(false)).
🧪 Progresión de Efectos de Pociones
Los efectos de pociones activos en todas las entidades vivas progresan con precisión durante el sueño:
- Efectos positivos (Fuerza, Regeneración) y negativos (Veneno, Wither) reducen su duración en
strideTicks. - True Sleep emplea duck typing (
MobEffectInstanceExtensions) para asegurar que efectos ocultos encadenados expiren limpiamente sin bucles infinitos.
🎛️ Reglas de Juego de Control (GameRules)
truesleep:freeze_mobs(Predeterminado:true): Pausa el movimiento de criaturas hostiles y del entorno.truesleep:freeze_workers(Predeterminado:false): Pausa a aldeanos y allays.truesleep:biological_aging(Predeterminado:true): Habilita el crecimiento de crías, puesta de huevos y lana.truesleep:unfreeze_<namespace>_<path>: Conmutador de descongelación individual para cualquier tipo de entidad.
