Files
sanctuary-beta/docs/collections-beta035.md
2026-09-15 09:29:11 +02:00

116 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RECIPES-035 — collections Minecraft jouables
Branche `codex/collections-beta035`, base beta.034. Contrat tiré des
[67 collections](collections-minecraft.md) et de leur
[inventaire exhaustif](collections-minecraft-inventaire.md).
## Contrat et reprise des habitants
Les **2 042 recettes natives de Minecraft 26.3-pre-2** ont chacune leur collection
principale. Les **126 advancements** ouvrent les familles du tableau : chaque
advancement configuré suffit, sans achat du catalogue ni possession des ingrédients.
Les collections de survie souvrent également à la découverte dun membre admissible
ou dune amorce. Comme depuis beta.024, « découverte » utilise les connaissances
existantes : observation réelle dun bloc, objet connu, inventaire ou statistiques
natives. La lecture dun plan ne crée jamais une découverte de son résultat ou de
ses ingrédients. La fabrication manuelle reste libre.
66 familles de survie et une référence technique sont livrées. La référence
`sanctuary:technical_catalogue` na aucun déclencheur de survie et ne sajoute pas
au carnet personnel, même avec un œuf de familier. Les blocs sans objet et les
blocs non récupérables (bedrock, générateurs, cadres de portail, etc.) ne sont pas
transformés en amorces dinventaire. Les familles sans recette peuvent être
connues sans produire un faux gain de plans.
**Migration additive sans changement de format :** la pièce jointe
`sanctuary:recipe_knowledge` reste en schéma 1 ; aucun champ de sauvegarde nest
ajouté, supprimé ou réinterprété. Au prochain chargement de leur carnet, les
habitants reçoivent les compléments correspondant à leurs collections déjà
ouvertes, objets connus et advancements déjà accomplis. Tous les identifiants et
recettes déjà appris restent conservés, même absents des nouvelles données.
Aucun monde existant nest ouvert ou réécrit par la livraison.
`sanctuary:basic_wood` et `sanctuary:brewing` restent stables. Le bois conserve son
ancien tag `minecraft:planks` et **40 recettes complémentaires** de bateaux et
menuiseries du Nether ; les 170 recettes primaires restent classées séparément.
Lalchimie conserve le sélecteur `minecraft:brewing`, y compris les recettes de ce
type ajoutées par un datapack ou un mod, en plus de ses 286 recettes primaires.
Cette compatibilité ne révèle pas les pistons ou les boucliers avec une planche.
Lachat unique du catalogue reste à **4 niveaux**.
## Données et consultation
Les 67 JSON sont dans `data/sanctuary/sanctuary_recipe_collections/`. `recipes`
contient le classement principal ; `additional_recipes` préserve les accès
historiques. `items`, `item_tags` et `advancements` sont des portes alternatives.
`members.blocks` / `members.items` conservent le classement exact des identifiants
pour les futures fiches ; ces listes ne constituent pas des possessions requises.
`operator_only` empêche une définition technique de devenir un déblocage personnel.
Le chargement indexe objets, tags et advancements une fois par rechargement de
ressources. Une collection déjà enseignée ne reparcourt pas ses recettes à chaque
actualisation dhabitant. `/reload` renouvelle cet index et réconcilie une fois
les carnets ; aucune recette déjà apprise nest retirée.
**Discovery → Recettes** affiche les noms FR/EN des collections connues. Laccès
au catalogue reste en haut, avant la liste, afin que les nouvelles collections
ne repoussent pas le bouton douverture. Les notifications beta.034 signalent
les collections nouvellement ouvertes et regroupent les lots ; les reconnexions
ne rejouent pas lhistorique.
Les fiches détaillées dobtention, le musée visuel de tous les blocs, les gestes
sans recette (commerce, oxydation, croissance…), quêtes et bounties restent à
concevoir. Aucune recette artificielle ni expansion de dimension nest ajoutée.
## Compléter le catalogue
Modifier les deux documents de référence, puis exécuter :
```sh
python3 scripts/compile_collections.py --write
python3 scripts/compile_collections.py
```
Le contrôle compare les deux directions advancement/collection, les 2 042 recettes
uniques, les 1 815 identifiants distincts, les amorces, les définitions serveur et
les noms FR/EN. Il est intégré à `check` ; les tests Minecraft confrontent ensuite
ces identifiants aux registres et recettes réellement chargés. Le générateur ne
télécharge rien et ne modifie ni les recettes natives ni les documents sources.
## Vérifications et livraison
`./gradlew check build assemblePack assembleTestPack` avec les suites
`collections,recipes,notifications,progression,cycle` réussit : **28 tests serveur**.
La matrice exerce les **126 advancements**, les 66 voies de découverte des familles,
les identifiants des registres réellement chargés, les limites bois/machines,
les amorces du lit, de lalambic, du fabricateur et de la brosse, lisolation des
habitants et la reprise des carnets beta.034. Les 2 042 recettes primaires sont
comparées à lensemble des recettes vanilla chargées, sans identifiant manquant.
Le parcours client natif final réussit sur le profil plat : achat réel du
catalogue, familles enseignées par advancement sans ingrédients, consultation
effective des plans de Shulker, transfert depuis la sixième rangée, vue opérateur
et révocation, notifications, rendu FR/EN après rechargement terminé, puis
véritables New Game+, mort/respawn et redémarrage du serveur. Les nouvelles
collections et le reçu du catalogue sont conservés dans ces trois passages.
Les captures sont dans `build/collections035-evidence`.
Lassemblage final après les vérifications client utilise `assemblePack
assembleTestPack -x check`, sans répéter les tests serveur déjà passés. Les classes
du moteur serveur correspondent à celles vérifiées ; ZIP, 1 322 classes Sanctuary,
67 définitions, traductions, dépendances imbriquées et profil facultatif ont été
comparés aux builds. JEI conserve exactement son binaire `30.32.0-sanctuary.2`.
- [Sanctuary-beta.035.mrpack](../build/Sanctuary-beta.035.mrpack), pack normal.
- [Sanctuary-Test-beta.035.mrpack](../build/Sanctuary-Test-beta.035.mrpack), profil plat rapide.
SHA-256 normal : `dfcf5927eaef183fe582b95454480849a08353561cb66d83a514d8a0274b5c60`.
SHA-256 test : `f94f216b5b09c7ebeafea45a8d735978a4efc354aa245ffbfd993ee7e6db2b24`.
Reçu : `build/collections035-artifact.json`. Journaux :
`build/collections035-check.log`, `build/collections035-client-final.log` et
`build/collections035-assemble-final.log`.
Client et serveur beta.035 ensemble, sur Minecraft 26.3-pre-2 / Loader 0.19.5 /
Fabric API 0.160.0+26.3. Les exports antérieurs sont inchangés. Aucun canal de
distribution, instance Prism personnelle ou monde existant na été modifié.