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

99 lines
6.1 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.
# 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é.