🥖 Faim du Sommeil et Immunité à la Noyade
📌 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.
🥐 Mécanique de la Faim Nocturne
Dans la vie réelle, dormir consomme des calories ; se réveiller prêt à prendre son petit-déjeuner renforce le réalisme de Minecraft.
Quand truesleep:sleep_hunger est actif (par défaut : ON), les joueurs endormis subissent une dépense alimentaire subtile et équilibrée.
📐 Formule d'Épuisement Alimentaire
$$\text{exhaustion} = \text{strideTicks} \times 0.0008\text{ points d'épuisement}$$
- Sur une nuit standard de $10{,}000\text{ ticks}$ ($12542 \to 24000$), la dépense totale est de : $$\text{Épuisement Total} = 10000 \times 0.0008 = 8.0\text{ points} = 2.0\text{ points de faim (1 gigot)}$$
- Sur un cycle complet de $12{,}000\text{ ticks}$, vous consommerez environ $3.0\text{ à }4.0\text{ points de faim}$.
🛡️ Seuil de Sécurité Anti-Inanition
True Sleep ne laissera JAMAIS un joueur mourir de faim dans son sommeil. La perte s'interrompt automatiquement dès que la barre de nourriture atteint 6 points (3 gigots) :
if (player.getFoodData().getFoodLevel() <= 6) return;🫧 Stase Pulmonaire (Immunité à la Noyade)
Dans Minecraft vanille, dormir sous l'eau vide la réserve d'air en quelques secondes, causant des dégâts et l'éjection du lit.
Quand truesleep:drown_immunity est actif (par défaut : ON), True Sleep déclenche la Stase Pulmonaire :
- Intercepte
Entity.baseTick()pour les joueurs endormis. - Réapprovisionne continuellement la réserve d'oxygène à
getMaxAirSupply()($300\text{ ticks}$). - Permet de faire de magnifiques siestes sous-marines en toute sécurité !
if (serverLevel.getGameRules().get(TrueSleepRules.DROWN_IMMUNITY)) {
this.setAirSupply(this.getMaxAirSupply());
}🎛️ Règles de Jeu Régulatrices (GameRules)
| Règle de Jeu | Type | Par Défaut | Description |
|---|---|---|---|
truesleep:sleep_hunger | Boolean | true | Simule la dépense de faim avec un seuil plancher à 6 points. |
truesleep:drown_immunity | Boolean | true | Empêche la noyade lors d'une sieste aquatique. |
