153 lines
9.9 KiB
Markdown
153 lines
9.9 KiB
Markdown
# beta.019 — pouvoirs des 88 familiers
|
||
|
||
Ticket ouvert le 13 septembre 2026, branche `codex/companion-powers-beta019`.
|
||
|
||
### États ajoutés et déplacements
|
||
|
||
La livraison inclut les déplacements propres aux familles : vol orbital du
|
||
Dragon, vol du Wither et des Ghasts, nage et difficultés des aquatiques hors de
|
||
l’eau. Le familier reste temporaire, invincible et sans combat autonome.
|
||
|
||
Les cycles de culture et de four utilisent de nouvelles pièces jointes JSON
|
||
versionnées `sanctuary:companion_crop_cycles` sur le niveau et
|
||
`sanctuary:companion_furnace_cycle` sur le four. Absence : aucun cycle antérieur
|
||
crédité. Un cycle déjà entamé ne gagne pas de propriétaire rétroactivement.
|
||
La présence continue, le même propriétaire et le même équipement sont vérifiés ;
|
||
quitter la zone, changer de lien ou arrêter le serveur invalide le cycle en cours.
|
||
Les fractions ne sont jamais transférées à un nouveau cycle. Aucun objet,
|
||
résultat, carburant, niveau d’XP ou bloc de sauvegarde existant n’est converti.
|
||
Un JSON invalide ou d’une version future est conservé et bloque seulement ce
|
||
bonus. Les nouveaux tags peuvent être ignorés lors d’un retour à beta.018.
|
||
La guérison du zombie-villageois reçoit un booléen persistant indépendant,
|
||
`sanctuary:companion_cure_used`, absent par défaut, limitant Veille à une fois.
|
||
Les devis, choix de troc et plateformes sont temporaires et ne survivent pas à
|
||
une déconnexion. Un choix de troc abandonné perd ses deux lingots déjà offerts ;
|
||
il ne fournit aucun des deux résultats.
|
||
**Livraison locale beta.019 vérifiée — 13 septembre 2026.**
|
||
|
||
Le créateur autorise l’implémentation des 88 passifs et 88 actifs de la
|
||
[proposition v1](companion-powers-balance-proposal.md), et la correction du rendu
|
||
noirci des compagnons. Les rangs I–III, les soins faisant évoluer le lien et les
|
||
œufs Anomaly à contreparties sont explicitement reportés au prochain ticket.
|
||
Aucun malus solaire ou autre malus historique n’est ajouté aux œufs ordinaires.
|
||
|
||
## Contrat de stockage et de migration
|
||
|
||
Les accessoires beta.018 et leurs identifiants restent inchangés. Aucun monde,
|
||
chunk ou objet d’une installation personnelle n’est converti par les outils de
|
||
développement. Les nouvelles données se créent uniquement quand le serveur du
|
||
mod exécutera les nouvelles fonctionnalités.
|
||
|
||
Le lien actif et les délais des pouvoirs utilisent un état joueur indépendant,
|
||
versionné et persistant, copié à la mort et conservé au New Game+. L’absence de
|
||
cet état signifie lien non acheté, aucune recharge. Une version inconnue ou des
|
||
données invalides désactivent les pouvoirs de ce joueur sans effacer son état.
|
||
L’achat utilise les niveaux réellement disponibles côté serveur. Les identifiants
|
||
et achats des anciennes aptitudes ne sont pas renommés et leur stockage n’est
|
||
pas réécrit pour ajouter ce lien indépendant.
|
||
|
||
Les recharges reposent sur les échéances du serveur et sont communes au slot.
|
||
Le déséquipement interrompt les améliorations temporaires. Reconnexion, mort et
|
||
prestige ne donnent pas de nouvelle charge. Les améliorations de soin et d’air
|
||
possèdent aussi leur récupération par bénéficiaire.
|
||
|
||
La configuration dédiée `config/sanctuary/companion-powers.json` propose les
|
||
valeurs v1, les cinq raretés et les réglages serveur. Les clients reçoivent une
|
||
vue bornée de leur propre état. Les cibles, ressources, droits, dégâts et
|
||
transactions sont contrôlés côté serveur. Le consentement aux effets alliés
|
||
est explicite et révocable ; l’appartenance à une faction ne le remplace pas.
|
||
|
||
Les œufs natifs restent les objets de test déjà utilisés en beta.018.
|
||
L’obtention des essences en survie et leur forme inerte sont un chantier distinct
|
||
de l’activation des pouvoirs demandée ici : aucun œuf natif n’est distribué par
|
||
un advancement et aucune récompense d’acquisition n’est inventée.
|
||
|
||
## Livraison et vérifications
|
||
|
||
La livraison comprend une interface FR/EN lisible pour le lien actif,
|
||
le familier équipé, sa rareté, ses deux effets, sa recharge et son raccourci.
|
||
Le rendu est contrôlé dans le client avec les modèles natifs et leur lumière
|
||
ambiante ; la couverture des scénarios est détaillée ci-dessous. Les vérifications couvrent les transactions, les interruptions,
|
||
le PvP, les portées, l’absence de chargement distant, les capacités initiales et
|
||
maximales, les échanges d’œufs, la mort et le prestige.
|
||
|
||
Les pouvoirs et leurs vérifications sont [recensés individuellement](companion-powers-beta019-coverage.md). Une
|
||
déclaration de registre ou une description affichée ne prouve pas à elle seule
|
||
que son effet fonctionne. `check build` et `assemblePack` sont exécutés pour
|
||
la livraison locale beta.019. Le canal packwiz et Prism ne sont pas modifiés
|
||
sans demande de mise à jour correspondante.
|
||
|
||
## Utilisation de la version d’essai
|
||
|
||
Équiper un œuf dans sa case de familier. Son passif s’active après **10 secondes**
|
||
avec le même œuf. **B → Progression → Aptitudes → Lien actif** coûte **4 niveaux**
|
||
par défaut ; **G**, configurable dans Contrôles, déclenche le pouvoir.
|
||
Le panneau **Familier** indique la rareté, le passif, l’actif, les conditions et
|
||
la recharge. Il contient le consentement aux effets alliés et un bouton opérateur
|
||
pour préparer un nouvel essai. Les achats, temps de recharge et récupérations
|
||
soin/air sont stockés séparément des compétences et conservés à la mort et au prestige.
|
||
|
||
Viser ce sur quoi agir : coffre, monstre, villageois ou surface. Les objets
|
||
nécessaires se prennent dans les rangées ouvertes. Le villageois ouvre un devis
|
||
aux prix et stocks natifs ; le Piglin offre deux tirages après paiement. Un choix
|
||
en attente peut être rouvert dans le panneau Familier, par exemple après avoir
|
||
libéré une case. Les relevés marchands s’affichent dans le carnet.
|
||
|
||
Les équipes Minecraft et les membres d’une même faction Sanctuary sont exclus
|
||
des cibles offensives. Recevoir les aides reste un consentement personnel,
|
||
indépendant de la faction. Les poussées offensives PvP sont désactivées dans ce
|
||
premier portage, comme prévu par la proposition.
|
||
|
||
Les familiers utilisent des navigations terrestres, volantes ou aquatiques ;
|
||
le Dragon décrit une orbite, le Wither et les Ghasts restent en vol. Poissons,
|
||
calmars, gardiens, dauphins et nautiles nagent dans l’eau et se débattent au sol.
|
||
Grenouilles, lapins et cubes bondissent ; les amphibies peuvent aussi nager.
|
||
Ces déplacements sont propres au compagnon : aucune IA hostile native n’est importée.
|
||
Le rendu réutilise les modèles et animations natifs, avec l’éclairage calculé à
|
||
la position réelle du petit compagnon. Les anciens proxys non tickés conservaient
|
||
une position précédente à l’origine, ce qui faussait l’échantillonnage de lumière.
|
||
|
||
## Limites de cette première implémentation
|
||
|
||
Les rangs I–III, œufs Anomaly, malus et évolution par les soins restent au prochain
|
||
ticket. L’obtention des œufs en survie reste à concevoir. Aucun équilibrage de
|
||
partie à 30 joueurs ni comportement de chaque actif en toutes circonstances
|
||
n’est revendiqué. La [couverture](companion-powers-beta019-coverage.md) distingue
|
||
les scénarios vérifiés des essais à poursuivre.
|
||
|
||
La lumière du calmar luisant est une indication visuelle personnelle sur les
|
||
surfaces cubiques exposées, sans modifier la lumière du monde ni les règles de
|
||
spawn. Les signaux redstone sont un relevé du circuit au déclenchement. Les
|
||
variantes de poissons tropicaux doivent avoir été observées personnellement ;
|
||
leur mémoire utilise une note `seen_fish_v1` bornée, dérivée des identifiants
|
||
natifs de motif et de couleurs. Ces indices ne révèlent aucune entrée via l’Atlas.
|
||
Les permissions passent par les règles natives et le point d’intégration
|
||
`CompanionWorld.ALLOW` ; les futurs claims devront s’y raccorder.
|
||
|
||
## Proximité du joueur et transparence
|
||
|
||
Les familiers volants passent progressivement de transparents à opaques entre
|
||
**0,6 et 3,5 blocs** du regard du joueur. La distance à la caméra est également
|
||
prise en compte en troisième personne. La courbe est continue et adoucie aux
|
||
extrémités : aucun changement brutal d’opacité au seuil. Le corps et les couches
|
||
des yeux partagent ce fondu, y compris pour le Dragon et le Wither.
|
||
|
||
Le fondu appartient uniquement au rendu du familier volant. Il n’agit ni sur
|
||
les monstres du monde ni sur les collisions, pouvoirs ou déplacements. La
|
||
couleur et le matériau translucide sont inscrits dans chaque modèle envoyé au
|
||
rendu différé ; l’opacité ne reste jamais active pour l’entité suivante.
|
||
|
||
## Vérifications de livraison
|
||
|
||
- `./gradlew check build assemblePack -PsanctuaryFocusedTests=companions,accessories,movement,progression,cycle,mining,building,inventory,inventoryflow,sorting,tutorial` : contrôles purs et **91 tests serveur réussis**.
|
||
- Parcours client natif sur un nouveau monde Sanctuary de développement, graine 42 : achat à quatre niveaux, consentement, interface aux échelles 2/3/4, touche G et recharge après changement d’œuf, puis devis de villageois avec paiement réel.
|
||
- Extraction des 88 modèles natifs à deux instants ; éclairage et échelle contrôlés. Pour chaque volant, vérification du matériau translucide et de l’alpha des couches du corps et des yeux, sans effet sur l’entité suivante. Captures de proximité à 4 / 2 / 0,8 blocs.
|
||
- Le catalogue ne constitue pas une validation exhaustive du gameplay des 88 paires. Voir la [couverture par espèce](companion-powers-beta019-coverage.md).
|
||
- MRpack contrôlé : CRC, versions, JAR embarqué identique au build, Demeure imbriqué identique, FR/EN, 88 passifs et 88 actifs, absence de tests. Les PNG existants et l’export beta.018 gardent leurs empreintes.
|
||
|
||
Export : [Sanctuary-beta.019.mrpack](../build/Sanctuary-beta.019.mrpack).
|
||
Reçu : `build/companion019-artifact.json`.
|
||
|
||
SHA-256 MRpack : `ba3a7a0ceb1a9a71c135cdb5ddeacb431969eb2e8fd32d8bfaf5fab0e34d3bd3`.
|
||
SHA-256 JAR : `e27cb61fdb1d55fec88f86cb8e9696eca6ca12a923129843208afbff6a6efc71`.
|