144 lines
8.8 KiB
Markdown
144 lines
8.8 KiB
Markdown
# beta.105 — Météo saisonnière, captures et chapeaux vivants
|
||
|
||
Branche `codex/living-hats-seasons-beta105`, Minecraft 26.3.
|
||
|
||
## Contrat avant modification
|
||
|
||
- Molette dans le fût : navigation entre pages, bornée, sans perdre les objets
|
||
du curseur ni déplacer la souris au centre.
|
||
- Panoramas : couleurs et brume du shader Sanctuary actif, six faces cohérentes,
|
||
profondeur conservée et caméra restaurée même après erreur.
|
||
- Real Time : probabilités liées aux saisons astronomiques du calendrier réel.
|
||
Été surtout ensoleillé sans profil ciel gris ; automne plus humide ; hiver
|
||
avec neige. Des journées claires restent possibles dans les quatre saisons.
|
||
Le créateur demande explicitement flocons et accumulation naturelle au sol.
|
||
Le tirage du jour déjà sauvegardé reste stable ; nouveaux tirages saisonniers
|
||
les jours suivants, commandes opérateur disponibles. Aucune Weather TNT.
|
||
- Mobs équipés : coups et boules de neige activent l’objet ; briquet, feu
|
||
d’artifice propulsant le porteur, spawner natif configuré, paratonnerre attirant
|
||
les éclairs. Les consommables et l’usure restent réels.
|
||
- Cultures sur tête : croissance et récolte des produits/graines, sans duplication
|
||
de la graine initiale au retrait. Les aliments attirent les espèces qui les
|
||
mangent ; une carotte sur bâton guide les cochons vers le porteur.
|
||
- Livre et plume : journal intime écrit en réaction aux caresses et blessures,
|
||
voix différente selon les quatre personnalités ; souvenirs variés, pas de log
|
||
technique. Pages existantes conservées et limites natives respectées.
|
||
|
||
## Contrat de données
|
||
|
||
Aucune sauvegarde personnelle n’est modifiée pendant les essais. Les objets et
|
||
leur état continuent d’utiliser les données additives existantes de chapeau.
|
||
Les journaux restent de véritables livres Minecraft récupérables. L’éventuel
|
||
nouveau profil neige étend l’énumération météo : anciens états lisibles, aucune
|
||
conversion automatique du jour courant. Un retour à une ancienne version après
|
||
une journée neige nécessite d’abord de sélectionner un profil météo ancien.
|
||
La neige peut modifier les blocs exposés pendant le jeu, selon la demande du
|
||
créateur ; pas de régénération, d’expansion ni de changement de terrain au chargement.
|
||
|
||
## Utilisation
|
||
|
||
- Dans le fût, molette vers le bas : page suivante ; vers le haut : précédente.
|
||
Le défilement concerne le coffre et sa colonne de contrôles. Un objet tenu au
|
||
curseur bloque le changement de page, comme les boutons existants.
|
||
- `/sanctuary weather forecast` annonce les sept prochains jours.
|
||
`/sanctuary weather snow` et `snow_showers` sélectionnent respectivement neige
|
||
continue et averses ; leurs équivalents `/weather` sont également disponibles.
|
||
Le mode Vanilla conserve le cycle Minecraft.
|
||
- Sur un mob équipé, clic droit à main vide : caresse du livre, activation du
|
||
briquet/de la fusée, récolte d’une culture mûre. Coup ou boule de neige :
|
||
activation. Maj + clic droit à main vide : récupération de l’objet.
|
||
- Blé, carottes, pommes de terre, betteraves : croissance des cultures portées,
|
||
récolte native et replantation. Les produits mûrs sont aussi rendus si l’on
|
||
retire la graine. Les plantes décoratives et tiges de melon/citrouille ne
|
||
deviennent pas des cultures de fruit mobiles.
|
||
- Le spawner conserve l’espèce configurée et les contraintes Minecraft :
|
||
proximité d’un joueur, espace, lumière et limite d’entités. Une activation
|
||
lance une tentative immédiate ; elle ne garantit pas une apparition si
|
||
ces conditions ne sont pas réunies.
|
||
- Le paratonnerre attire les éclairs naturels sous un ciel dégagé à portée
|
||
native, puis émet son impulsion redstone. Le briquet respecte la règle de modification du terrain par les mobs.
|
||
La fusée consomme l’objet, utilise ses effets natifs et propulse le porteur.
|
||
- Les aliments portés attirent les animaux qui les consomment dans un rayon
|
||
de 10 blocs, avec abandon à 12 blocs ou sans visibilité. La carotte sur bâton
|
||
guide ainsi les cochons. Priorités de fuite et de reproduction conservées.
|
||
- Le journal reprend la personnalité du familier ; celle d’un animal ordinaire
|
||
est déterminée de façon stable par son identité et son espèce. FR/EN selon
|
||
la langue du premier lecteur-interacteur. Les pages précédentes sont
|
||
conservées (limite native 100 pages), mais ne sont pas diffusées dans le
|
||
paquet d’apparence du chapeau.
|
||
|
||
## Calendrier et périmètre
|
||
|
||
Longitude solaire apparente calculée localement à partir des formules publiques
|
||
[NOAA Solar Calculator](https://gml.noaa.gov/grad/solcalc/), avec contrôle des
|
||
quatre passages 2026 contre les horaires de l’[US Naval Observatory](https://aa.usno.navy.mil/data/Earth_Seasons).
|
||
Le tirage est journalier : le jour civil d’un équinoxe/solstice adopte la nouvelle
|
||
saison, selon le fuseau Real Time. L’hémisphère sud inverse les saisons via la
|
||
latitude solaire configurée. Il ne s’agit pas de la météo réelle d’une ville.
|
||
Les pondérations de `weather.json` restent la base, modulée par la saison.
|
||
Sur 10 000 graines par saison : journées claires 64,41 % / 94,79 % / 40,25 % /
|
||
49,05 % (printemps/été/automne/hiver) avec la configuration par défaut.
|
||
|
||
La neige passe par les précipitations natives des chunks chargés, respecte
|
||
la limite native d’accumulation, la lumière et les supports Minecraft. Les biomes
|
||
sans précipitations restent secs. Les chaudrons reçoivent aussi de la neige.
|
||
La neige déposée reste un bloc natif : pas de balayage saisonnier supprimant
|
||
les blocs des constructions. Sa fonte suit les règles Minecraft.
|
||
Les captures intègrent le post-traitement et la brume Sanctuary ; aucune
|
||
compatibilité avec un moteur externe Iris/Canvas/Oculus n’est déclarée.
|
||
|
||
## Vérifications
|
||
|
||
- `seasonal105Smoke` : 40 000 tirages, stabilité par graine/jour,
|
||
équinoxes/solstices 2026 à ± une heure, inversion sud, proportions saisonnières,
|
||
persistance d’une journée de neige et passage au lendemain.
|
||
- `Living105ClientChecks` : client natif Minecraft 26.3 avec serveur intégré,
|
||
nouveau monde plat jetable. Journal avec page préalable, caresse/blessure,
|
||
récupération, récolte/replantation/retrait, vache attirée par le blé, cochon
|
||
guidé, vraie méthode d’impact de boule de neige, feu/usure, vol d’une vache,
|
||
apparition du spawner configuré, éclair/impulsion/extinction du paratonnerre,
|
||
neige déposée par `tickPrecipitation`, requête de flocons côté client,
|
||
molette suivant/précédent/bornes et deux panoramas complets de six faces.
|
||
- Pour chaque face à saturation 0, contrôle des pixels désaturés ; comparaison
|
||
à saturation 200, présence de `sanctuary:vanilla_light` et profondeur du sol
|
||
conservée. Les vues sont soumises séparément au GPU pour éviter de réutiliser
|
||
les tampons natifs avant leur soumission. Aucun échec de post-traitement dans
|
||
l’essai final (53 secondes).
|
||
|
||
Commande de reproduction :
|
||
|
||
```sh
|
||
JAVA_HOME=/chemin/vers/jdk25 ./gradlew :sanctuary:runClientGameTest \
|
||
-PsanctuaryClientTests=true -PsanctuaryLiving105ClientTests=true \
|
||
-PsanctuaryClientNoVsync=true -PsanctuaryQuickTests=true
|
||
```
|
||
|
||
Le délai serveur de trois ticks entre changements de page est supprimé : les
|
||
paquets sont toujours validés contre l’identifiant du menu ouvert et son curseur.
|
||
Les anciennes pages ne peuvent donc pas accepter de clics après remplacement.
|
||
Le client et le serveur doivent utiliser ensemble beta.105 pour les nouveaux
|
||
profils réseau de neige. Les anciens états enregistrés restent lisibles.
|
||
|
||
## Livraison locale
|
||
|
||
`check build assemblePack assembleTestPack -x :sanctuary:runGameTest` réussi
|
||
sur la copie isolée `build/release-beta105` : 2 min 43 s, 125 tâches.
|
||
Le test dédié est exclu conformément au refus antérieur de son EULA ; le test
|
||
natif de cette livraison utilise un serveur intégré dans un monde neuf jetable.
|
||
|
||
La copie part des sources et ressources vérifiées beta.104, auxquelles sont
|
||
appliqués les 25 fichiers Java concernés, les libellés météo FR/EN et les mixins.
|
||
Elle évite d’embarquer les modifications du chantier Statuaire beta.106 arrivé
|
||
en parallèle dans le dossier partagé. Le travail beta.106 est conservé.
|
||
`build/beta105-source-manifest.json` décrit les sources de cette compilation.
|
||
|
||
Les sources JAR correspondent à cette copie ; les ressources du pack beta.104
|
||
restent identiques sauf les deux fichiers de langue. JAR sans classes de test,
|
||
archives et métadonnées 26.3 vérifiées ; archives beta.104 inchangées. Rapport :
|
||
`build/beta105-artifact.json`. Aucun déploiement ni publication du canal.
|
||
|
||
- [Sanctuary-beta.105.mrpack](../build/Sanctuary-beta.105.mrpack), 10083681 octets.
|
||
SHA-256 : `396c31ad80b4826e5cc0530001e90e498dfb3d36f951cb46d01b32870bf3212a`.
|
||
- [Sanctuary-Test-beta.105.mrpack](../build/Sanctuary-Test-beta.105.mrpack), 10102603 octets.
|
||
SHA-256 : `6398eb413ea45cf383b71d5be07cb1eef6995158fe0909b06deabb36c1623ce4`.
|