Files
sanctuary-beta/docs/recipes-jei-beta024.md
T
2026-09-15 09:29:11 +02:00

109 lines
6.6 KiB
Markdown
Raw 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.
# Recettes JEI — collections et Blocodex
Ticket beta.024, suivant la finalisation cosmétique beta.023. État : livré et vérifié localement.
## Décisions du créateur
Reprendre JEI depuis ses sources Minecraft 26.2, puis adapter la version à
Minecraft 26.3-pre-2 / Fabric API 0.160.0+26.3. La fabrication manuelle reste
libre ; laccès au catalogue et la révélation dune recette sont distincts.
Les avancées Minecraft et les découvertes du Blocodex débloquent des collections
de recettes. Découvrir une planche révèle la **famille de base du bois** :
bâtons, établi, coffre, portes et constructions simples. Cela ne révèle pas
automatiquement piston, bouclier ou toute recette contenant une planche.
Les recettes peuvent être connues avant lachat de loutil de consultation,
comme lexploration conservée avant le déblocage de la carte. La vue opérateur
doit être explicite et permettre de vérifier également la vue dun habitant.
Ni consultation ni découverte de recette ne doivent attribuer de faux compteurs
de blocs possédés, placés ou minés. Le livre de recettes natif reste masqué.
## Source examinée
Dépôt officiel : https://github.com/mezz/JustEnoughItems, branche `26.2`,
commit `aae2dfcfb82e6b5bce787ba72bb2eda7339b274f`, version source `30.32.0`.
Licence MIT, notice mezz à conserver. Copie de travail ignorée :
`build/jei-26.2-upstream`. Le dépôt voisin `26.2` reste en lecture seule.
Lintégration historique utilisait JEI `30.29.0.201` et un verrou global à
30 niveaux ; ses anciens prix ne constituent pas le nouveau contrat de bêta.
Le portage se reconstruit depuis les sources fixées et leurs patches. Aucun JAR 26.2 nest déclaré
compatible par simple changement du manifeste. Aucune publication ni mise à
jour dinstance personnelle nest autorisée par ce ticket.
## Contrat de données beta.024
Une nouvelle pièce jointe Fabric `sanctuary:recipe_knowledge`, JSON schéma 1,
contient le reçu dachat du catalogue (4 niveaux), les identifiants dobjets
réellement découverts et les identifiants de recettes apprises. Elle est copiée
à la mort et nest pas remise à zéro par le prestige. Les anciens formats de
progression, inventaire et Blocodex ne changent pas. Une valeur absente initialise
un carnet vide ; une valeur invalide est conservée et bloque lachat/la consultation.
À la connexion, les blocs déjà connus, les statistiques natives dobjets et
le livre de recettes serveur alimentent le carnet. Ensuite, les découvertes et
les récompenses natives dadvancements lenrichissent. Aucune possession de bloc
nest créée par la lecture dune recette. Les recettes spéciales sans découverte
native restent réservées à la vue opérateur tant quune collection ne les enseigne pas.
Le serveur envoie le carnet personnel ; le client filtre JEI. Le catalogue coûte
4 niveaux, indépendamment du nombre de recettes déjà apprises. La vue opérateur
est une bascule explicite, autorisée côté serveur et révoquée à la perte des droits.
Ce filtre est une règle dinterface : les fichiers de recettes publics du jeu ne
sont pas des secrets. Aucune restriction de fabrication manuelle nest ajoutée.
La distribution inclut un fork MIT de JEI compilé depuis le commit fixé, avec
ses patches conservés dans le dépôt et ses sources téléchargées dans `build/`.
Les durées de combustible et rendements du composteur devenus contextuels en
26.3 sont décrits comme dépendants du serveur, sans inventer de valeurs fixes.
## Parcours livré
**B → Découverte → Recettes**, ou **Progression → Aptitudes → Catalogue de recettes**.
Le catalogue coûte 4 niveaux. Après achat, R consulte les recettes et U leurs
utilisations depuis une case survolée ; le bouton + remplit la grille depuis les
rangées débloquées, jusqu’à six. Les cases de récupération après prestige sont exclues.
Les récompenses de recettes des advancements Minecraft sont reprises directement.
Deux collections additionnelles sont définies en données : les bases du bois à la
première découverte dune planche, et lalchimie après `minecraft:nether/brew_potion`.
Leurs fichiers sont dans `data/sanctuary/sanctuary_recipe_collections/` et peuvent être
remplacés/complétés par un datapack (`items`, `item_tags`, `advancements`, `recipes`,
`recipe_types`). Chaque déclencheur est une alternative ; les recettes effectivement
présentes sur le serveur sont retenues. `/reload` recharge les collections ; les
recettes déjà apprises restent enregistrées.
Les fluides du catalogue apparaissent lorsque leur seau est découvert. Les plans
connus montrent ingrédients, résultat et poste de travail sans modifier les compteurs
Blocodex. Les recettes spéciales sans identifiant/déblocage natif demandent encore
leurs futures collections ; elles sont consultables en vue opérateur.
La vue opérateur est temporaire et revient à la vue habitant au changement de serveur.
La révocation des droits est détectée à la prochaine synchronisation (au plus une
seconde de ticks serveur). Aucun objet nest donné par cette bascule.
Les règles et limites du port JEI sont détaillées dans
[PROVENANCE.md](../mods/jei/PROVENANCE.md). La génération du terrain conserve le
correctif beta.022 et ses valeurs ; ce ticket ne régénère aucun chunk.
## Vérifications et artefact
`./gradlew check build assemblePack :sanctuary:runClientGameTest` avec les suites
serveur progression/inventaire/cosmétiques/familiers/construction/minage/tutoriel,
recettes et startup, et `sanctuaryRecipesClientTests=true` : **réussi**.
123 tests serveur, 588 288 comparaisons de densité à lidentique, parcours client
avec catalogue verrouillé, raccourci U réel, fabrication affichée sans établi
connu, fluides inconnus masqués, vue opérateur puis révocation, transfert réseau
depuis la sixième rangée, véritable New Game+, mort/respawn et redémarrage.
Le client vérifie aussi lachat depuis un Blocodex ouvert par le menu Pause.
Les captures du parcours ont été inspectées en GUI 2 et GUI 4.
Les collections sont résolues une fois par rechargement de données ; les relevés
sont répartis entre les ticks des habitants. Un carnet inchangé nest ni sérialisé
ni renvoyé périodiquement. Les données serveur restent la référence.
MRpack local : `build/Sanctuary-beta.024.mrpack`.
SHA-256 : `fc7d5b9b393a3c1d252e6a98a9b9f26b64e64024a06c876dc1943e4f42dce675`.
Reçu détaillé : `build/jei024-artifact.json` ; journal de validation :
`build/jei024-final-check.log`. Les exports beta.020, beta.022 et beta.023 sont
inchangés. Aucune installation personnelle ni sauvegarde existante na été modifiée.