116 lines
6.5 KiB
Markdown
116 lines
6.5 KiB
Markdown
# 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.
|