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

6.6 KiB
Raw Permalink Blame History

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. 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.