69 lines
3.3 KiB
Markdown
69 lines
3.3 KiB
Markdown
# 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.
|