Files
sanctuary-beta/docs/familiar-interactions-beta020.md
T
2026-09-15 09:29:11 +02:00

8.8 KiB
Raw Permalink Blame History

beta.020 — interactions, lecture des œufs et plongeon

Ticket du 13 septembre 2026, branche codex/familiar-interactions-beta020. Livraison locale beta.020 vérifiée — 13 septembre 2026.

Demande retenue

  • Maj + clic droit sur un joueur : monter sur sa tête. Sur un animal : le porter, puis refaire le geste pour le déposer. Le porteur est ralenti et les coups entre porteur et passager sont interdits. Une seule place, sans empilement dans beta.020 ; les piles sont ajoutées par beta.027.
  • Caresser le familier ne produit que des cœurs. Le clic gauche provoque une réaction visuelle de coup sans retirer de vie. Préférer son modèle bébé natif. beta.029 ajoute le cri de lespèce et le recul.
  • Nommer l’œuf à lenclume ou utiliser une étiquette sur son propre familier. Le nom appartient à l’œuf ; déséquiper l’œuf fait disparaître le compagnon.
  • Nom de l’œuf coloré par rareté : blanc, jaune, vert, bleu, violet. Linfobulle présente les noms cryptiques du passif et de lactif. Laptitude Étude des familiers, à quatre niveaux, révèle les explications.
  • Retirer l’écran Familier des aptitudes et le bouton dactivation du pouvoir. Les réglages et le carnet rejoignent Habitant. Les aides alliées sont acceptées par défaut ; leur réglage reste personnel.
  • Saut en sprint, puis touche Sallonger en vol : plongeon vers lavant, une impulsion par saut. Larrivée au sol ou dans leau termine cette posture. beta.028 retire ensuite la limite de durée et ajoute explicitement les collisions au plafond.
  • Taille aléatoire propre à chaque œuf, avec des familiers minuscules ou géants.

Contrat de données

Les pièces jointes existantes, leurs schémas et les identifiants des œufs restent stables. Un nouveau reçu indépendant sanctuary:companion_study, schéma 1, conserve lachat de laptitude après mort et prestige. Absent : aptitude verrouillée. Invalide ou version inconnue : reçu conservé, achat et révélation refusés. Les choix daide déjà enregistrés sont conservés ; labsence d’état utilise le nouveau défaut accepté. Les noms utilisent le composant natif CUSTOM_NAME.

Le portage et le plongeon sont temporaires. Aucun animal nest converti en objet, dupliqué ou remplacé : son UUID, ses équipements et ses données restent ceux de lentité native. Les animaux portés sont sauvegardés comme entités indépendantes, sans enregistrer le portage dans les données dun joueur. Une déconnexion, mort ou transition de dimension termine le portage. Aucun monde personnel nest modifié par les outils de développement.

Client et serveur beta.020 doivent être installés ensemble. Cette livraison conserve les prix et recharges des 88 pouvoirs et les règles dobtention des œufs.

Le premier équipement dun œuf sans taille ajoute au composant natif minecraft:custom_data une entrée sanctuary:familiar_size, composée de schema: 1 et per_mille: 120..6000. Les autres données de lobjet restent intactes. Les anciens œufs reçoivent ce trait lorsquils sont équipés, sans parcours des mondes ni conversion des inventaires existants. Un œuf équipé occupe une case unique ; les œufs dune pile sont individualisés lors de leur équipement. Une copie de l’œuf déjà individualisé garde sa taille.

Le trait voyage avec lobjet lors dun don, dun renommage, dune mort ou dun prestige, et survit à la sauvegarde/reconnexion. Une entrée inconnue ou invalide est conservée telle quelle ; le rendu utilise alors la taille ordinaire.

Pouvoirs de perception et téléportations

Les détections de blocs connus, le sonar, les circuits et les marques restent visibles derrière les parois. Les téléportations Endermite / Enderman peuvent traverser les murs ; le point darrivée reste libre et soutenu, dans la portée et les zones autorisées. Le freinage dune chute efface sa distance accumulée : un atterrissage après le ralentissement ne réapplique pas les dégâts antérieurs. Une nouvelle chute après la fin du pouvoir accumule à nouveau sa propre distance.

Gestes dans le jeu

Maj + clic droit prend un animal ou monte sur un joueur. Un nouveau Maj + clic droit dépose le passager même avec la main vide, sans devoir viser au-dessus de sa propre tête. Le joueur porté relâche Maj puis appuie de nouveau pour descendre. Le porteur se déplace 25 % moins vite ; la réduction disparaît dès quil est libre. Les chats, loups et perroquets utilisent une pose assise ; les autres animaux reposent au-dessus de la tête. Lespace occupé est vérifié avant de les porter.

Les noms utilisent l’œuf et l’étiquette natifs. Les modèles bébés sont choisis lorsquun modèle bébé existe dans Minecraft ; aucune intelligence hostile nest appliquée au familier. La caresse garde uniquement les cœurs. Le coup léger est une animation, sans dégâts, enchantement offensif ni usure de larme.

Linfobulle native affiche la rareté et deux noms deffets. Progression → Étude des familiers coûte 4 niveaux et ajoute les explications aux infobulles. Aucun mod Item Description supplémentaire nest nécessaire pour cet affichage. Habitant contient le choix daide alliée et le carnet. G reste la touche reconfigurable du pouvoir ; aucun bouton dactivation dans ces menus.

Tailles des familiers

La taille est tirée par le serveur une seule fois, indépendamment de lespèce et de la rareté. Elle multiplie le modèle réduit du familier, bébé lorsque possible :

Fréquence Multiplicateur visuel
90 % ×0,65 à ×1,50
5 % ×0,12 à ×0,35
5 % ×2,50 à ×6,00

Linfobulle indique Minuscule, Petit, Ordinaire, Grand ou Colossal après le premier équipement. Le nom affiché suit la hauteur du modèle et les volants géants sestompent en fonction de leur encombrement visuel. Les pouvoirs, la vitesse et le corps utilisé pour la navigation restent identiques : la taille visuelle ne bloque pas le compagnon dans une porte et ne modifie pas l’équilibrage de son œuf. La zone dinteraction reste celle du familier mobile.

Vérifications de livraison

  • ./gradlew check build assemblePack -PsanctuaryFocusedTests=familiar,companions,accessories,movement,progression,cycle,mining,building,inventory,inventoryflow,sorting,tutorial : contrôles purs et 104 tests serveur réussis.
  • Portage joueur/animal, position sur la tête, coups interdits, ralentissement, sauvegarde native sans duplication ni véhicule-joueur enregistré, dépose et conflit avec double-Maj.
  • Achat de l’Étude facturé une fois, sauvegarde/rechargement, mort et prestige réel ; données invalides conservées et refus historique des aides maintenu.
  • Taille tirée une fois, distribution bornée, données étrangères conservées, sauvegarde et transfert de l’œuf à un autre habitant sans changement de taille.
  • Plongeon autorisé après départ en sprint, sans deuxième impulsion en vol ; sortie dans leau sans déverrouiller Nage. Poule freinant une chute déjà accumulée, nouvelle chute native ; sonar derrière un mur et téléportation au travers vers un espace libre.
  • Deux parcours client natifs dans de nouveaux mondes de développement, graine 42 : achat et infobulles, Habitant aux échelles 2/3/4, Maj + clic droit réel pour porter/déposer, chat bébé assis, plongeon avec une touche reconfigurée et rendu horizontal, synchronisation de taille et captures des extrêmes.
  • Les 88 modèles sont extraits à deux instants, puis aux multiplicateurs ×0,12 et ×6. Éclairage, fondu du corps et des yeux des volants, activation réelle avec G, recharge commune et échange de villageois restent validés.
  • Le MRpack et les JAR sont contrôlés : CRC, versions exactes, identité du mod embarqué et de Demeure imbriqué, FR/EN, 88 passifs/actifs et leurs noms cryptiques, absence de code de test, sources identiques à celles du build. Les anciens PNG et lexport beta.019 restent inchangés.

Ces essais ne remplacent pas un équilibrage collectif des 88 paires de pouvoirs. Le rendu et les gestes de portage ont été observés sur un client intégré ; les interactions entre deux joueurs sont couvertes côté serveur, sans essai visuel à deux clients. Lobtention des œufs, les rangs IIII et Anomaly restent à définir. Aucune installation personnelle ni aucun canal de mise à jour na été modifié.

Export : Sanctuary-beta.020.mrpack. Reçu : build/familiar020-artifact.json ; captures : build/familiar020-evidence/.

SHA-256 MRpack : 98d1cdb8aa5b7b5249a4e23eabea963aff394cb416d8d78f7bc1bf49450c9e78. SHA-256 JAR : 3ec020eb381653f4cc53dad719338db9ec534c83f1c1a8552f0c77d42d3e739b.