Skip to content

🐑 Stase des Créatures et Vieillissement Biologique des Élevages

📌 Avertissement concernant le code source du dépôt : La documentation de ce Wiki reflète l'état actuel du code source dans le dépôt, qui peut inclure des commits récents non publiés ou des fonctionnalités en cours de développement avant les versions publiques sur CurseForge et Modrinth.


🛡️ Stase des Créatures (Gel de l'IA)

Pendant l'accélération temporelle fulgurante, des monstres hostiles rapides (zombies, squelettes, creepers) pourraient submerger des bases ou surprendre des joueurs endormis.

True Sleep intègre la Stase des Créatures (Mob Stasis) : Lorsque truesleep:freeze_mobs est actif (par défaut : ON), la navigation, le pathfinding et les attaques des monstres sont mis en pause pendant le sommeil.

Exemption pour les Créatures Laborieuses

Les villageois et les allays sont regroupés sous la balise #truesleep:worker_mobs. Par défaut, truesleep:freeze_workers est à OFF (false), permettant aux villageois de rejoindre calmement leur lit ou leur poste au coucher du soleil.


🌾 Vieillissement Biologique des Élevages

Bien que les mouvements soient suspendus, l'horloge biologique interne des animaux continue de tourner via BiologicalStasisHelper :

1. Croissance des Bébés Animaux et Reproduction

Les bébés vaches, moutons, cochons, poulets et loups grandissent durant la nuit :

java
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. Minuteurs de Ponte des Poules

Le compte à rebours de ponte diminue de strideTicks, assurant une production continue d'œufs : $$\text{eggTime} = \max(1, \text{eggTime} - \text{strideTicks})$$


3. Repousse de la Laine des Moutons (Simulation de Pâturage)

Les moutons tondus ont besoin de brouter pour régénérer leur laine. En stase, True Sleep simule ce processus mathématiquement :

$$\text{grazeChance} = \min\left(1.0, \frac{\text{strideTicks}}{1000.0}\right)$$

Si un mouton tondu se tient sur un minecraft:grass_block, il a une probabilité $\text{grazeChance}$ par pas de convertir le bloc en minecraft:dirt et de regagner sa laine (sheep.setSheared(false)).


🧪 Évolution des Effets de Potions

Les effets actifs sur les entités vivantes s'écoulent de manière précise pendant la nuit :

  • Les bonus (Force, Régénération) et malus (Poison, Wither) voient leur durée réduite de strideTicks.
  • True Sleep utilise l'injection d'interface (MobEffectInstanceExtensions) pour garantir l'expiration propre des effets combinés sans boucle infinie.

🎛️ Règles de Jeu Régulatrices (GameRules)

  • truesleep:freeze_mobs (Par défaut : true) : Met en pause les déplacements des monstres.
  • truesleep:freeze_workers (Par défaut : false) : Met en pause les villageois et allays.
  • truesleep:biological_aging (Par défaut : true) : Active la croissance, la ponte et la laine.
  • truesleep:unfreeze_<namespace>_<path> : Règle de dégel individuel pour tout type d'entité.

Official documentation & web portal for Dasik Igaijinn mods.