105 lines
5.9 KiB
Markdown
105 lines
5.9 KiB
Markdown
# beta.096 — Métabli et commandes de construction
|
||
|
||
Le parcours créatif est complété depuis [beta.098](creative-construction-beta098.md)
|
||
par un bouton de construction immédiate. Le présent document décrit beta.096.
|
||
|
||
## Contrat de monde avant implémentation
|
||
|
||
Neuf établis à plat, en carré 3 × 3, sont assemblés volontairement à la clé
|
||
avec la confirmation habituelle. Aucun établi existant n'est converti au
|
||
chargement. Les neuf composants deviennent `sanctuary:metatable`, propriété
|
||
`part` de 0 à 8 (x + 3z). Leur origine est déduite de cette propriété.
|
||
Ces états sont stockés normalement dans les chunks ; aucun SavedData ancien
|
||
n'est modifié, aucun inventaire ou contenu n'est copié. Pas de BlockEntity.
|
||
Le contrôle des neuf cases est borné et n'impose pas de chargement de chunk.
|
||
|
||
Une dissociation restaure neuf établis. Casser un composant dépose son établi
|
||
selon le butin natif et restaure les autres sans drops supplémentaires.
|
||
Les composants déchargés sont contrôlés à leur reprise. Une machine partielle
|
||
est inaccessible jusqu'à validation/restauration. Les pistons ne déplacent pas
|
||
un Métabli assemblé. Les permissions serveur s'appliquent à chaque composant.
|
||
|
||
Les deux PNG fournis sont conservés octet pour octet : dessus 48 × 48,
|
||
côtés 48 × 16, prélevés par tiers sans étirement. Le dessous utilise les
|
||
planches de chêne du pack actif.
|
||
|
||
## Parcours retenu
|
||
|
||
Clic droit au Métabli → catalogue → choix unique du projet → retour dans
|
||
le monde. K ouvre les commandes du projet : ancrer au point visé, décaler,
|
||
tourner, afficher une couche, masquer/afficher et consulter les besoins.
|
||
Changer de projet, créer une autre statue, importer ou abandonner le plan
|
||
se fait au Métabli. Esc ferme seulement l'interface et ne retire pas le plan.
|
||
Un import ou une génération en cours n'est accepté que si le joueur est encore
|
||
à l'atelier qui a initié le choix. Le choix ne pose aucun bloc.
|
||
|
||
Construction manuelle avec l'inventaire natif. Aucun collage ni chantier
|
||
automatique dans ce parcours, même en créatif. Les fonctions serveur de collage
|
||
créatif historiques restent contrôlées par leurs règles existantes.
|
||
Le projet et son aperçu restent locaux au joueur, comme dans beta.072 ; ils
|
||
sont effacés au changement de monde/dimension ou à la déconnexion. L'export
|
||
reste disponible pour les conserver. Le chantier partagé persistant, les
|
||
catalogues en datapack serveur et les services commerciaux sont des lots futurs.
|
||
Aucune économie n'est ajoutée.
|
||
|
||
## Catalogue initial et extension
|
||
|
||
- Statues : les modèles natifs déjà pris en charge, avec hauteur et palette.
|
||
- Machines : Fourneau, Fût, super piston normal et gluant. Le plan guide les
|
||
blocs sources ; la clé réalise ensuite leur assemblage fonctionnel.
|
||
- Bâtiments : abri de 5 × 5 et passerelle de 3 × 7, deux plans simples de départ.
|
||
- Mes plans : bibliothèque locale et imports existants `.litematic`, `.schem`
|
||
et `.nbt`. Les anciens `.schematic` demandent une conversion externe.
|
||
|
||
`ConstructionCatalog.ENTRIES` est le point d’extension des plans intégrés :
|
||
identifiant, catégorie et fabrique de `BuildPlan`, avec nom et aide FR/EN.
|
||
Une machine fonctionnelle conserve son implémentation serveur propre : un plan
|
||
ne lui confère ni inventaire prérempli ni commandes ni service commercial.
|
||
Le catalogue configurable par datapack reste à implémenter.
|
||
|
||
## Utilisation
|
||
|
||
Poser neuf établis en carré à plat. Deux clics à la clé dorée confirment le
|
||
Métabli ; clic droit pour l’ouvrir. Choisir un plan ferme le catalogue.
|
||
K ouvre les commandes de construction, avec aperçu, décalage d’un bloc,
|
||
rotation par quart de tour, couches et matériaux restants. Poser les blocs
|
||
normalement ; revenir au Métabli pour changer de choix ou abandonner.
|
||
Maj + clic droit à la clé dissocie l’atelier.
|
||
|
||
## Vérifications
|
||
|
||
Deux suites natives sur Minecraft 26.3, en nouveaux mondes de développement :
|
||
|
||
- `Metatable096ClientChecks`, graine 96 : assemblage en deux clics sur quatre
|
||
chunks, ouverture par clic droit natif, quatre rubriques, sélection unique,
|
||
K réservé aux réglages, refus de changement/import à distance, rotation et
|
||
translation, pose native payée, annulation d’une génération en quittant
|
||
l’atelier, statue puis export/import, interfaces FR/EN, casse pendant le menu,
|
||
un seul drop et huit établis restaurés, réassemblage, déchargement réel des
|
||
chunks puis retour, dissociation des neuf cases. Réussi en 1 min 11 s.
|
||
- Régression `Plans072ClientChecks` adaptée au Métabli : capture des **88 modèles**
|
||
sans refus, statue de 32 blocs, rotations, matériaux, export, ancien protocole
|
||
de collage créatif et refus en survie, pose native consommant son bloc,
|
||
interfaces FR/EN. Réussi en 1 min 7 s.
|
||
|
||
Captures inspectées dans `build/metabli096-evidence/`. Le premier passage du
|
||
nouveau test attendait le déchargement via `ClientLevel.hasChunkAt`, qui ne
|
||
reflète pas le cache client ; le test utilise désormais `getChunkNow`, comme
|
||
les autres essais natifs. Le parcours fonctionnel précédant cette attente
|
||
avait déjà réussi. Ce premier journal est conservé séparément.
|
||
|
||
`./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest`
|
||
réussi : 124 tâches, 2 min 20 s. Voir `build/metabli096-check.log` et le reçu
|
||
`build/metabli096-artifact.json`. Textures d’origine comparées octet pour octet,
|
||
modèles découpés par tiers, JAR sources et archives vérifiés ; archives beta.095
|
||
conservées. Les tests dédiés sont exclus conformément au refus antérieur d’EULA.
|
||
Aucun serveur dédié démarré, aucune EULA acceptée, aucun déploiement personnel.
|
||
|
||
## Livraison locale
|
||
|
||
Packs normal et Test `build/Sanctuary-beta.096.mrpack` et
|
||
`build/Sanctuary-Test-beta.096.mrpack`, Minecraft 26.3 finale.
|
||
Le canal packwiz et l’instance Prism ne sont pas modifiés. Les dépendances et
|
||
le pack de textures intégré beta.090 restent identiques ; les textures du
|
||
Métabli sont les ressources propres du mod.
|