59 lines
3.1 KiB
Markdown
59 lines
3.1 KiB
Markdown
# 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`.
|