Files
sanctuary-beta/docs/multiblocs-beta084.md
2026-09-16 11:41:27 +02:00

6.1 KiB
Raw Permalink Blame History

beta.084 — Clé dorée, Fût et Fourneau

Premier lot implémenté sur codex/multiblocs-beta084. Référence historique lue, sans modification : ../26.2/anotherworld, VaultStructure, SafeVaultMenu et SafeVaultScreen. Reprise du repérage borné autour d'un centre et du contrôle serveur, pas du stockage monétaire, de la propriété privée ni de sa forme creuse à 26 composants.

Contrat de sauvegarde et de migration — avant implémentation

Aucune génération ni conversion automatique d'une construction existante. L'assemblage est une action volontaire avec une clé dorée. Nouveau SavedData par dimension sanctuary:multiblocks, schéma 1 : origine du cube, type, orientation et identifiant UUID. Aucun contenu d'inventaire dans ce registre. Les 27 BlockEntities vanilla conservent leurs objets, composants, temps de cuisson, combustible restant et expérience. Les identifiants de blocs restent minecraft:barrel et minecraft:furnace. Le chargement d'une ancienne sauvegarde sans ce registre ne change rien : aucun fichier nest écrit avant le premier assemblage. Le codec refuse un schéma inconnu et le chargeur refuse d’écraser un fichier illisible. La catégorie native de stockage NBT est SAVED_DATA_COMMAND_STORAGE ; les données métier restent dans notre codec.

Une dissociation retire seulement l'appartenance : elle ne restitue jamais une copie du stock initial. Une casse ou explosion laisse Minecraft déposer le contenu du composant cassé et dissout la machine ; les autres composants restent en place. Une partie déchargée suspend l'accès commun et la chauffe, sans chargement forcé ni rattrapage hors ligne. À la reprise, validation des 27 composants. Les sauvegardes suivent l'atomicité native des chunks ; ce lot n'ajoute pas de journal transactionnel inter-chunks en cas de crash brutal. Les anciens inventaires ouverts sont fermés à l'assemblage/dissociation.

Gestes et valeurs de la première version

  • Clé : recette de trois lingots d'or en tête et un bâton en manche, sans usure.
  • Clic droit sur 27 barils ou fours en cube plein : repérage et confirmation par un deuxième clic dans les dix secondes. Une forme ambiguë est refusée.
  • Maj + clic droit sur une machine assemblée : dissocier.
  • Maj + clic droit sur un four ou baril indépendant : tourner, en conservant ses données. Pas de rotation d'une machine chargée.
  • Clic droit sans clé sur une façade : ouvrir le stock commun public.
  • Fût : 729 cases physiques, 54 par page, recherche par nom et identifiant. Les noms localisés sont résolus côté client en identifiants dobjets, puis filtrés uniquement dans le stock accessible validé par le serveur. Le Maj-clic de dépôt utilise tout le stock, même pendant une recherche. Une recherche fige ses emplacements jusqu'à la prochaine recherche. Changer de page/recherche ouvre un nouvel identifiant de menu et exige un curseur vide ; les anciens paquets de clic ne peuvent pas viser une autre page.
  • Fourneau : les 27 entrées, combustibles et sorties natifs, trois vues. Jusqu'à 27 cuissons simultanées à vitesse vanilla, avec chaleur partagée. Chaque cuisson paie un tick de combustible par tick de travail : le débit augmente, pas le rendement par charbon. Les combustibles et leurs restes, les recettes et l'XP restent gérés par le four vanilla. Pas de recette culinaire It's Alive dans ce lot. Une panne de combustible met le travail en attente sans effacer sa progression ; ajouter du combustible le reprend. Le débit correspond aux 27 fours physiques, sans multiplicateur de minerai.
  • Trémies : stock commun du Fût ; Fourneau, entrées en haut, combustible latéral, résultats en bas, en respectant les règles natives des seaux.
  • Apparence : composants vanilla conservés ; les fours montrent leur chauffe. Aucune nouvelle grande texture de façade dans cette première livraison.

Vérifications

Multiblocks084ClientChecks tourne dans un nouveau monde plat intégré : confirmation volontaire, refus de chevauchement, cube traversant une frontière de chunks, fichier SavedData écrit puis relu, schéma inconnu, sérialisation native des objets nommés et de la cuisson, deux joueurs serveur dont un invité automatisé, trémies natives, inventaire plein, recherche localisée, pagination, curseur plein et paquet périmé, dissociation, casse et explosion avec conservation du stock. Cuisson : deux recettes simultanées, rendement du charbon partagé, sortie pleine, seau de lave/éponge mouillée, résultat natif/XP et panne puis reprise des 27 cuissons. Captures natives en FR/EN aux échelles 2 et 3.

Validation finale réussie : check build assemblePack assembleTestPack et :sanctuary:runClientGameTest, en excluant :sanctuary:runGameTest (serveur dédié/EULA non autorisés). 131 tâches, 105 exécutées, en 3 min 16 s. Le dernier scénario couvre aussi les six rangées, le dépôt depuis la rangée supplémentaire et le maintien des menus voisins sans lien avec la machine.

Archives locales : build/Sanctuary-beta.084.mrpack et build/Sanctuary-Test-beta.084.mrpack. Journaux : build/multiblocs084-check.log ; reçu dintégrité : build/multiblocs084-artifact.json. Pack de textures beta.070 inchangé. Le canal publié reste inchangé.

Pour essayer rapidement : fabriquer la clé avec le motif G G / G / S (G = lingot dor, S = bâton), ou obtenir sanctuary:golden_wrench en mode opérateur. Construire un cube plein de 27 barils ou de 27 fours et cliquer deux fois avec la clé. Maj-clic avec un autre bloc permet toujours den poser un contre la façade, notamment une trémie.

Limites de cette livraison : façade composée des blocs vanilla ; comparateurs sur le contenu du composant physique ; commandes de chauffe avancées et recettes composées différées. La sauvegarde est vérifiée par relecture disque et sérialisation native, pas par redémarrage complet dune session à deux clients. Le déchargement réel dune moitié de machine pendant un transfert reste à éprouver manuellement ; le refus daccès aux chunks absents est testé. Aucun serveur dédié démarré, aucune EULA acceptée, aucun déploiement Prism ou monde personnel modifié.