# beta.092 — Clic molette sur les super pistons Branche `codex/multiblock-pick-beta092`, Minecraft 26.3. ## Contrat Le clic molette sur un super piston renvoie le piston Minecraft d'origine : `minecraft:piston` pour le normal, `minecraft:sticky_piston` pour le gluant. Cela couvre les neuf socles, toutes les têtes et les tiges, dans les six orientations et à chaque profondeur de course. Une sélection reçue côté serveur pendant une transition de mouvement retrouve aussi le composant source. Les blocs techniques n'obtiennent pas d'objet dédié. La sélection reste native : en créatif, un exemplaire ; en survie, sélection du piston déjà présent dans l'inventaire, sans création d'objet. Ctrl + clic molette ne copie pas les données techniques du contrôleur ou du piston mobile sur l'objet ordinaire. Le comportement des autres blocs et charges mobiles vanilla reste inchangé. Fourneau et Fût gardent leurs blocs source natifs, four et baril. Aucun format de sauvegarde, identifiant, modèle, texture ou règle de génération n'est modifié. Aucun monde existant n'est ouvert ou migré. ## Vérifications Le parcours `Pick092ClientChecks` utilise un monde plat neuf de développement, graine 42 : tous les états client/serveur, puis de vrais clics molette sur des super pistons assemblés et étendus, en créatif et en survie. Le parcours natif passe en **1 min 19 s** sur Minecraft 26.3/macOS : - 864 états vérifiés côté client et serveur, avec et sans demande de données. - Douze combinaisons normal/gluant × six directions ; vrais clics molette sur chaque socle central, tête et les deux tiges du multibloc assemblé. - Le résultat est exactement un piston natif, avec les composants ordinaires. - En survie, un stack de cinq pistons présent est sélectionné sans duplication ; inventaire vide, aucun objet n'est créé. - Sélection des états mobiles d'extension/rétraction via le gestionnaire de paquet serveur natif. Ctrl + clic ne transporte pas le NBT du contrôleur ou du mouvement. - Les charges mobiles vanilla conservent leur comportement. Four et baril conservent aussi leur sélection native. ```sh ./gradlew :sanctuary:runClientGameTest -x :sanctuary:runGameTest \ -PsanctuaryClientTests=true -PsanctuaryPick092ClientTests=true \ -PsanctuaryQuickTests=true -PsanctuaryClientNoVsync=true ``` Journal : `build/pick092-client.log`, marqueur `PICK092_PASS`. ## Livraison vérifiée `./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest` passe en **3 min 1 s**, 124 tâches. Journal : `build/pick092-check.log`. Les exports correspondent aux JAR et à leurs sources. Textures, modèles, données, JEI et archives beta.091 sont conservés à l'identique. Reçu local : `build/pick092-artifact.json`. - [Pack normal](../build/Sanctuary-beta.092.mrpack), SHA-256 `3c1907fb3427e3df421eb84eb8f05c2e89c7cb3d27ef30d856602559cd33a383`. - [Pack Test](../build/Sanctuary-Test-beta.092.mrpack), SHA-256 `a8acaffc0b803b81e12da7439af24abfb6dadfe890a952b6e89916317e9f4914`. ## Limites Tests sur client natif macOS avec serveur intégré de développement ; pas de session LAN à deux clients pour cette livraison. Serveur GameTest dédié exclu, aucune EULA acceptée. Aucun déploiement dans une instance personnelle ni publication du canal packwiz.