Files
sanctuary-beta/docs/familiar-personality-beta071.md
2026-09-16 11:41:27 +02:00

10 KiB
Raw Permalink Blame History

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, 9 462 323 octets. SHA-256 : 1ab36663fe24313597c5328170a3eb2ca2e33bfdfc4c6fbc85c1f5c03102628c.
  • Monde plat rapide, 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.