Record Sanctuary sources through beta.060 and Git validation
Build Sanctuary / build (push) Canceled after 0s

This commit is contained in:
koka
2026-09-15 09:29:11 +02:00
parent 1490fb2a80
commit e13f3cc1b8
1372 changed files with 92055 additions and 212 deletions
+152
View File
@@ -0,0 +1,152 @@
# 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
leau. 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 dXP ou bloc de sauvegarde existant nest converti.
Un JSON invalide ou dune version future est conservé et bloque seulement ce
bonus. Les nouveaux tags peuvent être ignorés lors dun 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 limplé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 IIII, 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 nest 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 dune installation personnelle nest 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+. Labsence 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.
Lachat utilise les niveaux réellement disponibles côté serveur. Les identifiants
et achats des anciennes aptitudes ne sont pas renommés et leur stockage nest
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 dair
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 ; lappartenance à une faction ne le remplace pas.
Les œufs natifs restent les objets de test déjà utilisés en beta.018.
Lobtention des essences en survie et leur forme inerte sont un chantier distinct
de lactivation des pouvoirs demandée ici : aucun œuf natif nest distribué par
un advancement et aucune récompense dacquisition nest 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, labsence 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 dessai
Équiper un œuf dans sa case de familier. Son passif sactive 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, lactif, 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 saffichent dans le carnet.
Les équipes Minecraft et les membres dune 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 leau 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 nest 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 à lorigine, ce qui faussait l’échantillonnage de lumière.
## Limites de cette première implémentation
Les rangs IIII, œufs Anomaly, malus et évolution par les soins restent au prochain
ticket. Lobtention des œufs en survie reste à concevoir. Aucun équilibrage de
partie à 30 joueurs ni comportement de chaque actif en toutes circonstances
nest 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 lAtlas.
Les permissions passent par les règles natives et le point dintégration
`CompanionWorld.ALLOW` ; les futurs claims devront sy 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 dopacité 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 nagit 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é ; lopacité ne reste jamais active pour lentité 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 lalpha des couches du corps et des yeux, sans effet sur lentité 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 lexport 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`.