Synchronize verified Sanctuary beta.092 sources and release documentation
Build Sanctuary / build (push) Canceled after 0s

This commit is contained in:
koka
2026-09-16 11:41:27 +02:00
parent 85e062ed91
commit 49feb5a376
586 changed files with 30916 additions and 234 deletions
+169
View File
@@ -0,0 +1,169 @@
# beta.071 — personnalité et engagement des familiers
Branche `codex/familiar-personality-beta071`.
## Comportement
Chaque œuf individualisé possède une personnalité de combat, visible dans
son infobulle et sa fiche de familier. Les ordres restent sur H, la technique
sur G et l’échange des mains sur F.
| Personnalité | Réaction spontanée | Poursuite | Cadence dinitiative |
| --- | --- | --- | --- |
| Agressif | Engage les monstres proches, accompagne les attaques et riposte | ×1,55 | délai ×0,90 |
| Protecteur | Accompagne les attaques et défend le joueur, lallié protégé et lui-même | ×1,45 | délai habituel |
| Passif | Riposte seulement lorsquil est frappé | ×1,35 | délai ×1,05 |
| Pacifiste | S’éloigne du danger, sans attaque automatique | ×1,35 sur ordre | délai habituel |
**Tous obéissent à un ordre explicite dattaque**, y compris le pacifiste.
Une autre menace ne remplace pas une cible désignée tant quelle reste valide.
Un Enderman ou un Piglin zombifié non engagé est laissé tranquille ; les
familiers et les joueurs ne déclenchent pas cette recherche de proximité. Le PvP conserve ses règles et les
duels leur consentement. Suivre suspend les réactions automatiques cinq
secondes ; Rappeler ou le mode travail interrompent lengagement spontané.
Les vitesses sont des multiplicateurs de navigation : la poursuite utilisait
auparavant ×1,15. Lapproche gagne donc environ 17 à 35 % selon le caractère,
sans changer la vitesse de promenade, celle des montures ni les dégâts.
Les attaques à distance gardent leur distance utile. Les feintes au contact
cessent suffisamment tôt pour entrer réellement à portée. Les préparations
dattaque restent lisibles : leurs durées ne sont pas raccourcies.
Les espèces de soutien conservent leurs techniques signature. Un villageois
agressif, ou un soutien explicitement envoyé attaquer, dispose dun coup au
contact (2 dégâts de base, préparation 0,25 s, intervalle 2 s), sans exiger un
bouclier dans linventaire du joueur. Les techniques offensives natives des
espèces restent utilisées.
## Individus et tendances
Le tirage utilise lUUID déjà enregistré et lidentifiant despèce. Sa fonction
et son sel sont figés dans `FamiliarPersonality`. Il ne dépend ni du nom, ni
de la taille, ni de lXP, ni du propriétaire ou de la reconnexion. Les anciens
œufs identifiés reçoivent donc un caractère stable sans conversion de fichier.
Un œuf sans identité le découvre à sa première individualisation habituelle.
| Tendance despèce | Agressif | Protecteur | Passif | Pacifiste |
| --- | --- | --- | --- | --- |
| Vindicateur et espèces farouches listées dans le code | 70 % | 20 % | 7 % | 3 % |
| Villageois et espèces paisibles listées dans le code | 5 % | 15 % | 25 % | 55 % |
| Autres espèces et futurs profils sans règle spécifique | 25 % | 40 % | 25 % | 10 % |
Toutes gardent des exceptions. Le tempérament historique hors combat
(curieux, calme, joueur), les souvenirs, les identifiants, les 88 profils et
les schémas de sauvegarde restent intacts. Changer ces seuils ultérieurement
changerait le caractère d’œufs existants : cela demanderait un contrat de
migration, pas une simple retouche d’équilibrage.
## Araignées
Laraignée et laraignée venimeuse utilisent la navigation descalade native.
En monture colossale, avancer contre une paroi les fait grimper à environ
quatre blocs par seconde. Relâcher ou s’écarter permet de redescendre. La
vérification porte sur le corps de laraignée : un plafond touché par le joueur
ne déclenche pas une ascension. Les collisions du corps et de la tête du
cavalier restent actives. Un espace vide nautorise aucune montée.
L’éligibilité à la monte reste celle des familiers colossaux ; les petits
familiers se portent selon les règles existantes.
## Effets des montures natives
Audit du code de Minecraft **26.3-pre-2** : `AbstractHorse` et ses variantes,
`Camel`/`CamelHusk`, `Pig`, `Strider`, `HappyGhast` et
`AbstractNautilus`/`Nautilus`/`ZombieNautilus`. Les sources de comparaison
sont extraites du JAR utilisé par le build dans `build/native071-source/`.
| Espèces natives pouvant recevoir un cavalier | Effet transmis au cavalier | Trait de déplacement |
| --- | --- | --- |
| Cheval, âne, mule, cheval squelette, cheval zombie | Aucun effet d’état natif | Déplacement et saut terrestres |
| Lama, lama de marchand | Aucun | Montables, mais pas pilotables en vanilla |
| Dromadaire, dromadaire momifié | Aucun | Déplacement terrestre ; dash natif distinct dun effet d’état |
| Cochon | Aucun | Direction à la carotte sur bâton en vanilla |
| Strider | Aucun bonus de résistance au feu au joueur | Appui à la surface de la lave |
| Ghast joyeux | Aucun | Vol |
| Nautilus, Nautilus zombie | **Souffle du Nautilus** | Nage et dash natifs |
Le Souffle du Nautilus est ajouté au moment de monter et entretenu tant que
le joueur reste sur son Nautilus colossal. Il utilise leffet Minecraft
original : durée de 60 ticks, renouvellement toutes les 40 ticks, niveau zéro.
Lair restant est figé sous leau, sans être rempli comme avec une potion.
Après la descente, leffet expire naturellement sous trois secondes ; il
nest pas supprimé brutalement au risque deffacer une autre source.
Il fonctionne pour les deux espèces, sur toute la plage colossale existante
(2 500 à 6 000 ‰, y compris les plus grands « titans »), sans achat de
technique ou condition de personnalité. Porter simplement l’œuf ou le petit
familier sur sa tête ne donne pas cet effet de **cavalier**.
Le Strider retrouve le support de collision de lave et la remontée natifs,
avec une infobulle dédiée. Il maintient son cavalier au-dessus de la surface ;
ce nest pas une immunité personnelle à la lave après avoir sauté du Strider.
Les autres espèces nappliquent pas de potion native à leur cavalier : aucune
na été inventée. Les commandes Sanctuary de ces montures restent communes,
comme demandé lors de leur introduction. Cet audit des traits ne porte pas
les selles, harnais, coffres d’équidés, sièges supplémentaires, charges de saut
ou commandes de dash propres aux interfaces natives. Les pouvoirs familiers
existants restent disponibles selon leurs règles.
## Coût et validation
La recherche agressive est locale, dans les entités déjà chargées à huit
blocs du propriétaire, une fois par seconde, décalée entre familiers. Aucun
chargement de chunk. La navigation reste limitée à une demande de chemin
par dix ticks. Les décisions et les dégâts font autorité côté serveur.
Le parcours `Familiar071ClientChecks` réussit en **2 min 23 s** dans un
nouveau monde plat de développement, avec le client et son serveur intégré :
- 352 000 UUID répartis entre les 88 espèces ; quatre caractères possibles,
tendances villageois/vindicateur, stabilité après changement dXP et de souvenirs.
- Quatre personnalités de loups : réactions aux événements, ordre explicite,
navigation jusqu’à la cible et dégâts réels. Verrouillage de combat maintenu
même pour un familier qui refuse lengagement spontané.
- Villageois agressif : initiative spontanée et dégâts sans bouclier ; la cible
manuelle garde sa priorité. Fiche FR/EN et nom du familier inspectés.
- Araignée et araignée venimeuse colossales : touches natives, ascension du mur,
collision du cavalier avec le plafond et absence de montée dans lespace vide.
- Strider colossal : déplacement avec les touches natives à la surface dun
bassin de lave, cavalier hors de la lave et sans potion de résistance au feu.
- Nautilus et Nautilus zombie : tailles 2 500 et 6 000 ‰, cavalier effectivement
immergé, air figé à 40 pendant 90 ticks, renouvellement de leffet, expiration
et reprise de la consommation après la descente. Équiper l’œuf seul ne le donne pas.
- Fermeture puis réouverture réelle du monde : même UUID et même personnalité.
Les captures sont dans `build/familiar071-evidence/`, le journal dans
`build/familiar071-client.log`. La matrice de personnalité couvre les 88
profils ; elle ne constitue pas un nouveau playtest de toutes leurs techniques.
Pas de validation à deux clients distants ou sur serveur dédié dans cette passe.
La construction de la distribution est effectuée dans
`build/familiar071-workspace/` : les sources de la release beta.070, puis les
changements ciblés de la 71. Cette copie évite de compiler les fichiers de
statues de la beta.072 ajoutés simultanément dans le dossier partagé.
`build/familiar071-source-snapshot.json` fixe les empreintes de cette copie.
Les sources courantes du familier conservent les mêmes changements.
`check build assemblePack assembleTestPack` réussit en **5 min 50 s**,
124 tâches (108 exécutées, 16 à jour), dans cette copie isolée. Le serveur
dédié `:sanctuary:runGameTest` reste exclu conformément au refus daccepter
son EULA ; le parcours natif utilise uniquement le serveur intégré du client.
Les deux exports MRpack sont vérifiés : version exacte, dépendances figées,
JAR comparé aux **1 651 classes compilées** et aux ressources traitées,
égalité normal/Test sauf module de test, absence de classes de test dans le
mod livré. Seuls les neuf fichiers Java prévus et douze libellés par langue
changent par rapport à beta.070 ; les schémas, le catalogue, JEI, le code de
Demeure et les 150 fichiers du resource pack restent identiques. Le manifeste
de Demeure suit seulement le nouveau numéro du pack.
Reçu et empreintes : `build/familiar071-artifact.json`.
- [Pack normal](../build/Sanctuary-beta.071.mrpack), 9 462 323 octets.
SHA-256 : `1ab36663fe24313597c5328170a3eb2ca2e33bfdfc4c6fbc85c1f5c03102628c`.
- [Monde plat rapide](../build/Sanctuary-Test-beta.071.mrpack), 9 481 258 octets.
SHA-256 : `06309f4cd382053fb42d80c3f131152932e07523ace799c50d1d899026029a92`.
Le resource pack demeure beta.070, actif par défaut et désactivable. Aucun
monde personnel, aucune instance Prism et aucun canal public ne sont modifiés.