# beta.101 — Atterrissage des familiers volants Branche `codex/flying-landing-beta101`, Minecraft 26.3. Le profil de vol du familier doit désactiver l’accumulation et le traitement des chutes de son entité commune. Une descente pilotée, autonome ou un contact avec le sol ne doit causer ni dégâts, ni animation/son de coup, ni entrée en combat. Les vraies attaques et les chutes des familiers terrestres gardent leurs règles. Aucun changement de navigation, de sauvegarde, de texture ou de terrain. ## Cause et correction L’entité Sanctuary commune hérite de `PathfinderMob`. Son contrôle de vol et l’absence de gravité ne remplacent pas les méthodes natives de chute. Ces méthodes pouvaient appeler `FamiliarBattle.hurt`, produire son animation/son de coup, interrompre une technique et enregistrer du combat. `checkFallDamage` remet maintenant la distance à zéro pour les profils volants. `causeFallDamage` refuse aussi un appel avec une distance déjà calculée, avant les sons et les dégâts natifs. Les autres profils délèguent toujours au code Minecraft. Les sources de dégâts ordinaires ne sont pas filtrées. ## Validation Reproduction native sur beta.100 : le perroquet accepte le callback de chute, et l’assertion « Flying familiar rejects native fall callback » échoue. Journal conservé : `build/landing101-before.log`. `Landing101ClientChecks` réussit après correction en **1 min 5 s**, dans un nouveau monde plat de développement avec le serveur intégré : - Les douze espèces du registre ayant un profil volant : perroquet, chauve-souris, abeille, allay, Wither, breeze, phantom, vex, blaze, ghast, ghast joyeux et dragon. - Callback natif de chute à sept blocs, descente à 0,25 bloc par tick jusqu’au contact réel avec le sol, puis mouvement rapide vers le sol. - Santé inchangée, distance de chute nulle et absence de mise à jour de `lastHurt`, donc pas de passage dans la branche qui diffuse le faux coup. - Une attaque de zombie reste acceptée et enlève de la santé pour chaque espèce. - Un loup terrestre conserve les dégâts de sa chute. Les descentes sont pilotées par le test via les collisions natives ; ce n’est pas un nouveau playtest de tous les trajets autonomes ou un essai multiclient. Journal : `build/landing101-client.log`. Aucun monde personnel n’est utilisé. `check build assemblePack assembleTestPack` réussit en **2 min 22 s**, 124 tâches, avec le serveur dédié exclu (`-x :sanctuary:runGameTest`). Les archives normal/Test embarquent le même JAR vérifié et ses sources exactes. Seul `FamiliarEntity` et les numéros de ligne de deux classes internes changent par rapport à beta.100. Les ressources, textures et archives beta.100 sont conservées. Reçu : `build/beta101-artifact.json`. Aucun déploiement personnel ni publication du canal packwiz. ## Archives - [Sanctuary-beta.101.mrpack](../build/Sanctuary-beta.101.mrpack), 9914792 octets. SHA-256 : `3008127d2bb09556c4997c00350e82ff26af5402b69bc7c09c822b24ff4bfe74`. - [Sanctuary-Test-beta.101.mrpack](../build/Sanctuary-Test-beta.101.mrpack), 9933717 octets. SHA-256 : `854a8b6a42ac7ca0236e0c19b9000808535df273911b9c6a72844097a49358a0`.