# SNOW-108 — Accumulation de neige en volume Branche `codex/snow-accumulation-beta108`. Base livrée beta.107, Minecraft 26.3. État : livraison locale vérifiée. Statuaire beta.106 reste une livraison séparée. ## Contrat avant modification Demande : la neige doit s’accumuler et occuper réellement des blocs. Les précipitations déposent une couche à la fois ; la huitième devient un bloc natif de neige solide. Le dépôt suivant commence au-dessus. Même cadence de précipitation que Minecraft, uniquement dans les chunks simulés pendant une chute de neige, y compris les averses Sanctuary et les biomes froids vanilla lorsque les règles Sanctuary sont actives. Valeur confirmée par le créateur : deux blocs de hauteur totale par défaut, réglables côté serveur. Le plafond compte la colonne contiguë de neige déjà présente (couches et blocs), jusqu’au premier support d’une autre matière. Zéro désactive l’accumulation, moins un permet de continuer jusqu’à la limite de hauteur du monde. La lumière, les supports, la place libre et les biomes acceptables restent contrôlés par Minecraft. Ni plantes, ni équipements, ni eau, ni constructions ne sont remplacés. La croissance pousse les entités vers le haut comme le dépôt natif, avec la nouvelle collision. Les chaudrons gardent leur fonctionnement. ## Données et compatibilité Uniquement des blocs natifs `minecraft:snow` et `minecraft:snow_block` : collision, minage, butin et sauvegarde natifs. Pas de bloc, BlockEntity ou format propriétaire. La nouvelle gamerule `sanctuary:snow_accumulation_height` utilise la sauvegarde native des règles, sans réécriture des règles préexistantes. Elle s’ajoute avec sa valeur par défaut quand absente. Aucune sauvegarde personnelle ouverte, aucun balayage de chunks, aucune expansion ni conversion de terrain au chargement. Seuls les dépôts futurs pendant le jeu, autorisés par la demande, changent. Les blocs de neige pleins suivent le comportement Minecraft : ils ne fondent pas comme les fines couches éclairées. Cette livraison n’ajoute pas une fonte saisonnière qui pourrait effacer des constructions en neige. La valeur native `minecraft:max_snow_accumulation_height = 0` reste un arrêt prioritaire. Dans un monde Sanctuary, toute valeur native positive autorise le dépôt volumétrique, dont le plafond est la nouvelle règle en blocs. Hors Sanctuary, le fonctionnement et la limite vanilla sont conservés. ## Utilisation - Valeur par défaut : `/gamerule sanctuary:snow_accumulation_height 2`. - Quatre blocs : `/gamerule sanctuary:snow_accumulation_height 4`. - Arrêt des nouveaux dépôts : valeur `0`. - Sans plafond particulier, sauf celui du monde : valeur `-1`. - Valeurs admises : de `-1` à `128`, positives exprimées en blocs complets. Réduire le plafond ne supprime pas la neige déjà présente. La limite native `minecraft:max_snow_accumulation_height` n’est pas réécrite automatiquement. Les noms et descriptions de la nouvelle règle sont traduits en FR/EN dans l’interface native de création du monde. ## Essais natifs Nouveaux mondes plats de développement, graine `108`, un avec Sanctuary et un sans. Le test appelle le véritable `ServerLevel.tickPrecipitation` : - Sept couches successives, huitième dépôt en `snow_block`, collision pleine. - Un cochon debout sur la neige monte avec le nouveau volume. - Empilement sur le bloc formé ; arrêt à deux blocs ; commande à quatre blocs, puis mode sans plafond et six blocs atteints. - Arrêt à zéro sur la règle Sanctuary et priorité du zéro sur la règle native. - Dépôt pendant les averses, aucun dépôt pendant leurs pauses ni sous pluie tiède. - Fleur et eau libre préservées, neige sur le toit et non dans la pièce ; lumière propagée par un bloc lumineux empêchant le dépôt. - Le chaudron continue de recevoir sa neige poudreuse native. - Météo vanilla, biome froid et Sanctuary actif : accumulation volumétrique. - Second monde sans Sanctuary : une couche native même après 40 tentatives. La décision d’activation est mise en cache au démarrage du serveur, d’après le choix Sanctuary fixé à la création. Aucun accès disque par colonne de pluie. Le comptage de profondeur s’arrête dès le plafond atteint ; le mode illimité n’a pas besoin de compter. Pas de boucle ajoutée sur les chunks ou les joueurs. Les tests ne changent aucune sauvegarde personnelle. Les dépôts sont déclenchés explicitement pour valider leur résultat ; aucun facteur d’accélération météo n’est ajouté au code livré. ## Livraison et vérifications — 17 septembre 2026 Validation dans le worktree `sanctuary-snow-beta108`, sur la base immuable beta.107. Les œufs de beta.107 sont inclus ; les sources Statuaire beta.106 présentes dans le répertoire principal restent préservées, mais ne sont pas incluses dans ces archives. Les compteurs de ce worktree sont synchronisés à beta.108 ; ceux du répertoire principal restent attachés à son chantier beta.106. - `./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest` : réussi, 125 tâches, 3 min 34 s. - `./gradlew :sanctuary:runClientGameTest -PsanctuaryClientTests=true -PsanctuarySnow108ClientTests=true -PsanctuaryClientNoVsync=true -PsanctuaryQuickTests=true` : réussi, 1 min 17 s, marqueur `SNOW108_NATIVE_PASS`. - Java 25 ; GameTest dédié exclu conformément au refus antérieur d'accepter son EULA. Les essais ci-dessus utilisent le serveur intégré dans deux mondes neufs. - Intégrité ZIP, versions Minecraft/mod, JAR embarqués, sources, mixins et libellés vérifiés. Par rapport au JAR beta.107 : seulement `WeatherService.class` modifié et les deux classes d'accumulation ajoutées ; assets inchangés sauf les deux nouveaux libellés de règle FR/EN. Aucun test embarqué dans le JAR livré. Archives locales : [pack normal](../build/Sanctuary-beta.108.mrpack) et [pack Test](../build/Sanctuary-Test-beta.108.mrpack). | Artefact | SHA-256 | | --- | --- | | Normal | `18f2b0c6a12c3618a9b70e22999b89697a41034e86bc1aa33f0c9d19caadd0c2` | | Test | `66f9395cd47b031ca52162081c397da7a5ab7fdfa3e236dec5110dbcf95306bc` | | JAR Sanctuary | `dc2b026cd0b6475e512283f72225593666fd60a3a265b8e91bf6bdae9f875bb4` | Reçu : `build/snow108-artifact.json`. Journaux : `build/snow108-native.log`, `build/snow108-check-build.log`. Manifeste : `build/snow108-source-manifest.json`. Aucun tag, publication, canal packwiz, installation Prism ou monde personnel modifié. Pas d'essai Windows ; pas de fonte saisonnière des blocs pleins.