3.1 KiB
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.