# beta.091 — Interagir avec les animaux embarqués Branche `codex/boat-passenger-interactions-beta091`, Minecraft 26.3. ## Contrat Depuis un bateau, viser un mob directement installé sur un siège permet les interactions habituelles : clic gauche pour le frapper, clic droit pour utiliser son objet de tête ou son interaction native. Cela couvre les bateaux/radeaux Minecraft et tous les formats Sanctuary. Les coups sur les animaux ordinaires infligent leurs dégâts habituels ; les familiers conservent leur réaction sans blessure hors des combats prévus, avec déclenchement de leur équipement. Le ciblage natif excluait les entités partageant le véhicule racine du joueur. L'exception est limitée au curseur du joueur et aux mobs assis directement dans son bateau. Portée, obstacles et choix de la cible la plus proche restent ceux de Minecraft. Les collisions des projectiles ne sont pas modifiées. Le bateau limite aussi normalement le regard à ±105 degrés. Avec un mob à bord, les joueurs peuvent désormais regarder autour d’eux à 360 degrés, notamment vers le siège arrière. Les commandes de déplacement et la rotation du bateau restent indépendantes du regard ; les mobs gardent leur orientation native. La protection de portage des familiers distingue désormais un siège de bateau d'un familier porté sur la tête ou monté. Les protections entre joueurs portés restent en place. Les dégâts et interactions continuent à être validés côté serveur ; aucun nouveau paquet, inventaire, identifiant ou format de sauvegarde. Aucune modification des mondes existants ni de la génération. ## Vérifications Le parcours `BoatPassengers091ClientChecks` crée un monde plat de développement, graine 42, et utilise le curseur natif et les vrais clics souris. Il teste un coffre porté puis un distributeur chargé sur une poule embarquée. Le parcours natif passe en **1 min 13 s** sur Minecraft 26.3/macOS : - 13 cas : bateau et radeau vanilla, les huit formats Sanctuary, radeau 3 × 3, poule bébé et familier installé comme passager pour vérifier sa protection. - Vrai ciblage du corps depuis le siège, y compris vers l’arrière ; aucun remplacement artificiel du résultat de visée dans le test. - Clic droit : ouverture du coffre natif contenant les sept diamants attendus. - Clic gauche : perte de vie de la poule, une flèche consommée et un projectile réel créé par le distributeur, sans éjection de l’animal. - Familier : même tir au toucher, vie inchangée. Une fois porté sur la tête, protection symétrique conservée et aucun nouveau déclenchement au toucher. ```sh ./gradlew :sanctuary:runClientGameTest -x :sanctuary:runGameTest \ -PsanctuaryClientTests=true -PsanctuaryBoatPassengers091ClientTests=true \ -PsanctuaryQuickTests=true -PsanctuaryClientNoVsync=true ``` Journal : `build/boat091-client.log`, marqueur `BOAT091_PASS`. ## Livraison `./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest` passe en **2 min 20 s**, 124 tâches. Journal : `build/boat091-check.log`. Les deux exports sont vérifiés contre les JAR et leurs sources. Les textures, modèles, données et JEI restent identiques à beta.090 ; ses archives sont intactes. Le reçu local est `build/boat091-artifact.json`. - [Pack normal](../build/Sanctuary-beta.091.mrpack), SHA-256 `0d0e847e5b8f22637b6e280d0694ab5a2cdb8cb01a47442d92c5103e3e3f53ac`. - [Pack Test](../build/Sanctuary-Test-beta.091.mrpack), SHA-256 `392773b8e5fc8948cdb5ea9cd7e8cc8cd97ed43bdc5fe413fef32b05758f8edc`. ## Limites Les essais utilisent un client natif et son serveur intégré de développement ; pas de session LAN à deux clients pour cette livraison. Les tests dédiés restent exclus et aucune EULA n’est acceptée. Aucun déploiement dans une instance personnelle ni publication du canal packwiz.