Files
sanctuary-beta/docs/functional-head-blocks-beta043.md
2026-09-15 09:29:11 +02:00

4.2 KiB
Raw Permalink Blame History

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