Files
sanctuary-beta/docs/starter-name-beta052.md
T
2026-09-15 09:29:11 +02:00

3.1 KiB
Raw Permalink Blame History

beta.052 — nom du familier de départ

Branche codex/starter-name-beta052. Contrat avant modification : Hello World ajoute un champ « Nom du familier » sous les trois œufs centrés. Le libellé reste aligné aux autres champs. Le nom est facultatif, limité à 32 caractères, sans codes de mise en forme ni caractères de contrôle. Un champ vide conserve le nom natif de l'espèce. Le serveur valide puis enregistre ensemble l'espèce et le nom avant l'introduction. L'œuf reçoit le composant natif CUSTOM_NAME : le familier, sa fiche et les renommages ultérieurs utilisent le fonctionnement déjà en place.

Contrat de migration

Le registre data/sanctuary-starters.json passe du schéma 1 au schéma 2 : chaque offre gagne name, vide pour les anciennes entrées. La lecture ne réécrit rien. À la première modification, l'ancien fichier valide est conservé à l'identique dans sanctuary-starters.json.schema1.bak avant l'écriture atomique du schéma 2. Un fichier invalide ou une sauvegarde incompatible bloque l'écriture, sans remise à zéro. Les choix, UUID, graines et reçus de remise restent identiques ; aucun cadeau ni renommage rétroactif. Pour revenir à beta.051, conserver le registre 2 puis restaurer la sauvegarde 1 ; les choix faits depuis la migration seraient alors perdus. Aucun monde personnel n'est ouvert ou migré pendant ces travaux.

Un nouveau message de configuration sanctuary:starter_named_create_v1 transporte le nom ; les anciens messages gardent leur format. Les clients anciens peuvent encore créer un familier sans nom personnalisé sur ce serveur. La saisie reste lors d'un redimensionnement ou d'un refus de couleur ; après validation, reconnexion et introduction interrompue conservent le choix nommé.

Vérifications

./gradlew check build assemblePack assembleTestPack avec -PsanctuaryFocusedTests=starter052,starter -PsanctuaryQuickTests=true : succès, 8 tests serveur. Migration 1 → 2 et sauvegarde originale vérifiées, refus des noms invalides sans mutation, choix définitif idempotent, sérialisation du message, nom natif sur l'œuf et l'entité, renommage ultérieur préservé. Les tests du tirage, de la remise unique, de la mort et du prestige restent réussis.

runClientGameTest avec -PsanctuaryClientTests=true -PsanctuaryStarterNameClientTests=true -PsanctuaryQuickTests=true : succès. Hello World à froid sans joueur ni monde, FR/EN, interfaces 854 × 480 et 427 × 240, saisie conservée lors du redimensionnement et d'un refus de couleur, admission réelle sur serveur intégré, nom dans la fiche habitant, sauvegarde et reconnexion sans nouvel œuf. Captures relues : build/starter052-evidence/.

Journaux : build/starter052-delivery.log, build/starter052-client.log. Reçu : build/starter052-artifact.json ; 1 535 classes et ressources conformes au build. Archives beta.051, textures, JEI et données de génération préservés. Pack normal · Monde plat rapide. Connexion à plusieurs clients distants restant à vérifier. Aucun déploiement sur le canal public ou l'instance personnelle.