Files
sanctuary-beta/docs/flying-landing-beta101.md
T
2026-09-17 03:10:39 +02:00

3.1 KiB
Raw Blame History

beta.101 — Atterrissage des familiers volants

Branche codex/flying-landing-beta101, Minecraft 26.3.

Le profil de vol du familier doit désactiver laccumulation 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

Lentité Sanctuary commune hérite de PathfinderMob. Son contrôle de vol et labsence 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 lassertion « 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 jusquau 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 nest pas un nouveau playtest de tous les trajets autonomes ou un essai multiclient. Journal : build/landing101-client.log. Aucun monde personnel nest 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