81 lines
4.2 KiB
Markdown
81 lines
4.2 KiB
Markdown
# beta.043 — blocs portés fonctionnels
|
||
|
||
Branche `codex/functional-head-blocks-beta043`.
|
||
|
||
## Contrat demandé
|
||
|
||
Un bloc utilisable porté dans le slot cosmétique reprend ses interactions
|
||
Minecraft. Clic droit par un autre habitant ; clic droit sur le slot pour le
|
||
porteur. Les inventaires sont publics. Les recettes, combustibles, distances,
|
||
permissions et conditions environnementales restent celles du serveur.
|
||
|
||
Retirer un bloc ordinaire ferme ses menus et rend son contenu, comme sa casse,
|
||
sans supprimer les objets. Une Shulker conserve son contenu ; le coffre de
|
||
l'End ouvre le stockage personnel du visiteur. Les contenus ne doivent jamais
|
||
être copiés à la fois dans l'objet retiré et dans les objets rendus.
|
||
|
||
Les formes cosmétiques restent sans collision. Aucun bloc temporaire ne doit
|
||
être placé dans le terrain ni remplacer un bloc du monde.
|
||
|
||
## Contrat de données additif
|
||
|
||
Les trois accessoires gardent `sanctuary:accessories`, schéma 1. Un champ voisin
|
||
`sanctuary:head_block` contient l'état natif du bloc pendant son équipement,
|
||
avec un schéma et l'identifiant du bloc. Il n'appartient pas à l'item ordinaire :
|
||
copier celui-ci ne copie pas un stockage. Le retrait détruit cette session
|
||
après restitution. Les anciennes sauvegardes sans ce champ ouvrent un bloc vide.
|
||
Les données Shulker restent dans les composants natifs de l'item.
|
||
|
||
Ce ticket ne migre aucun chunk, aucune génération ni aucun identifiant existant.
|
||
Les changements de dimension ferment les visiteurs ; les traitements reprennent
|
||
près du porteur. Déconnexion et sauvegarde gardent le bloc équipé.
|
||
|
||
## Périmètre livré
|
||
|
||
Les interactions natives sont dispatchées pour 117 familles de blocs : menus de
|
||
travail et de stockage, cuissons, infusion, livres, disques, pots, chaudrons,
|
||
leviers, boutons, portes, lits et interfaces techniques. Les signes, bougies,
|
||
gâteaux avec bougie et statues gardent leurs gestes Sanctuary existants.
|
||
Le son du jukebox suit le porteur. Les éditeurs de blocs techniques restent
|
||
réservés au mode opérateur et nécessitent de rester dans la même case pendant
|
||
l'édition. Le coffre de l'End demeure personnel à chaque visiteur.
|
||
|
||
Les lits portés sont utilisables par un autre habitant ; pour dormir dans son
|
||
propre lit, il faut le poser. Le lit conserve les conditions natives et le point
|
||
de réapparition à sa position lors de l'utilisation : déplacer le porteur ne
|
||
transforme pas ce point en destination mobile.
|
||
|
||
Cette adaptation ne simule pas un chunk autour de la tête : les pistons ne
|
||
poussent pas le terrain depuis le cosmétique, les cultures ne reçoivent pas de
|
||
random ticks et un bloc suspendu ne remplace pas les fondations d'une balise,
|
||
un réseau de redstone ou un portail. Les conditions natives restent requises.
|
||
|
||
## Icône officielle
|
||
|
||
Le fichier fourni `sanctuary_icon-export.png` est repris sans modification dans
|
||
`assets/sanctuary/icon.png` et `packwiz/icon.png`. SHA-256 :
|
||
`6214b44ad058b2ec43d46e8d3d8c33ae0862ae616a7373d7a1b0edd5c415f8b5`.
|
||
L'icône est déclarée dans Fabric, incluse dans les overrides du MRpack et dans
|
||
le modèle Prism sous la clé stable `sanctuary-beta`. L'import local de Prism
|
||
recherche l'icône du pack dans ces overrides
|
||
([code officiel](https://github.com/PrismLauncher/PrismLauncher/blob/develop/launcher/InstanceImportTask.cpp)).
|
||
Aucune instance personnelle n'est modifiée par l'assemblage.
|
||
|
||
## Vérifications
|
||
|
||
`check build assemblePack assembleTestPack` et **41 tests serveur** passent.
|
||
22 menus natifs, 117 familles avec usage main vide, stockage public partagé,
|
||
shift-click, retrait, mort/tombe, cuissons, sauvegarde, bouton temporisé après
|
||
rechargement, Shulker et coffre de l’End ont été vérifiés.
|
||
|
||
|
||
Complément de validation sous beta.044 : le parcours client natif passe après
|
||
désactivation de VSync dans les seuls réglages du client de développement.
|
||
Le coffre porté affiche ses trois rangées et les six rangées du joueur ;
|
||
le shift-click est attesté côté serveur, le retrait ferme le menu, puis le
|
||
four et l'éditeur opérateur natifs s'ouvrent. Log : build/egg044-client1.log.
|
||
La capture du coffre a été relue. L'artefact beta.043 reste immuable.
|
||
|
||
Aucun EULA accepté, aucun serveur réseau dédié démarré et aucune installation
|
||
personnelle déployée.
|