5.6 KiB
SNOW-109 — Fonte saisonnière
Branche codex/seasonal-snow-melt-beta109, base beta.108, Minecraft 26.3.
État : livraison locale vérifiée. Demande : ajouter la fonte saisonnière.
Comportement livré
Neige déposée par la météo Sanctuary : retrait progressif d'une couche de haut
en bas, bloc plein puis sept couches, jusqu'au sol. Deux blocs maximum pour
l'accumulation restent la valeur par défaut confirmée. La fonte est active
avec la météo Real Time, suspendue en hiver et sous un profil neige/averses de
neige, même pendant ses pauses. Les biomes naturellement froids conservent
leur neige. Printemps : une chance sur deux par sondage météo natif ; été :
chaque sondage ; automne : une chance sur quatre. Aucun rattrapage hors ligne,
ni chargement forcé de chunks ; seuls les sommets exposés des chunks simulés.
À 20 ticks/s et randomTickSpeed = 3, une couche fond en moyenne en 3,4 minutes en été,
6,8 au printemps et 13,7 en automne. Pas d'eau ni de butin lors de la fonte.
Une règle serveur sanctuary:seasonal_snow_melt, active par défaut, permet
d'arrêter la fonte sans désactiver la neige.
Contrat de données et migration, avant implémentation
Ajout d'une attache Fabric persistante par chunk,
sanctuary:natural_snow_v1, sans modifier les formats existants. Elle mémorise
les positions des nouveaux dépôts avec le nombre de couches antérieures et
le nombre attendu après dépôt (0 à 8). Les blocs restent les blocs Minecraft
minecraft:snow et minecraft:snow_block ; pas de nouvel identifiant de bloc.
L'absence de données signifie aucun dépôt suivi. Aucune recherche rétrospective,
conversion ou réécriture de terrain au chargement : la neige d'avant beta.109
est conservée car son origine n'est pas connue. Les sauvegardes personnelles
restent fermées pendant le développement. Graine de test : 109.
Seules les couches ajoutées par les précipitations depuis beta.109 fondent. La neige construite, la neige générée et les couches antérieures à un dépôt sont préservées. Une modification extérieure du bloc (casse, placement, piston, commande) retire son suivi : le remplacement ne doit jamais hériter d'une autorisation de fonte. Une incohérence de suivi est oubliée sans fonte. Les informations suivent le cycle natif de sauvegarde/déchargement du chunk, sans fichier global ni lecture disque par colonne. Le retrait du mod laisse des blocs de neige natifs ; aucun effacement n'est lancé par migration.
Vérifications ciblées
Le client natif lance les contrôles d'accumulation beta.108 (deux mondes neufs),
puis un monde neuf de graine 109 pour la fonte et le recharge après fermeture.
Les quatre saisons utilisent une horloge de test déterministe, sans commande
supplémentaire dans le mod livré. Les sondages appellent le véritable
ServerLevel.tickPrecipitation, sans accélération ajoutée au jeu distribué.
Cas vérifiés : bloc plein vers sept couches, fonte de haut en bas jusqu'au sol, neige construite et couches anciennes, dépôt météo sur une construction, casse/repose et ajout manuel de couches, toit et capuchon de neige manuel, activation/désactivation par gamerule, les quatre saisons, profils neige et pauses d'averses, biome froid et mode Vanilla, sauvegarde native des deux blocs suivis et de la gamerule, puis fonte après rechargement.
Le choix du sommet utilise la heightmap native mise à jour immédiatement, sans dépendre d'une propagation de lumière encore en attente après la fonte. Le suivi est invalidé après toute modification effective de bloc ; chaque nouveau dépôt ou retrait météo enregistre ensuite uniquement ses couches. Les instantanés de suivi sont immuables pour la sauvegarde asynchrone des chunks.
Livraison — 17 septembre 2026
./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest: réussi, 125 tâches, 2 min 20 s../gradlew :sanctuary:runClientGameTest -PsanctuaryClientTests=true -PsanctuaryMelt109ClientTests=true -PsanctuaryClientNoVsync=true -PsanctuaryQuickTests=true: réussi, 54 s ; marqueursSNOW108_NATIVE_PASSetMELT109_NATIVE_PASS.- Java 25. Le GameTest sur serveur dédié reste exclu conformément au refus antérieur de son EULA ; les essais natifs utilisent le serveur intégré.
- Archives ZIP, métadonnées, sources embarquées, mixins et traductions vérifiés contre l'archive immuable beta.108. Deux classes existantes modifiées, trois nouvelles classes plus la classe synthétique du switch de saison. Aucun test inclus dans le JAR. Assets identiques, sauf deux nouveaux libellés FR/EN.
| Artefact | SHA-256 |
|---|---|
| Normal | 4f80292b97398e993d05e831682c879d2e6b40e7ab8cb385a15142b68c2d3ba4 |
| Test | c0c7363ec3a2a8c568b77692b65dd8a4138c247bc928adecd5626f83bb5097bb |
| JAR Sanctuary | 0b53f5c2d9b50890067c42a1c71b84bf70f0c6af90c876020955bbe426ff6ffa |
Reçu : build/melt109-artifact.json. Journaux : build/melt109-native.log,
build/melt109-check-build.log. Manifeste : build/melt109-source-manifest.json.
Assemblage isolé sur beta.108, avec accumulation et œufs beta.107 ; Statuaire beta.106 reste livré séparément. Sources intégrées au répertoire principal en préservant ses autres travaux et ses compteurs beta.106 ; le worktree de livraison utilise beta.109 dans les deux compteurs et le manifeste packwiz. Aucun tag, publication du canal, déploiement, installation Prism ou monde personnel modifié. Aucun essai Windows. La fonte n'est pas appliquée rétrospectivement à la neige ancienne dont l'origine est inconnue.