Files
sanctuary-beta/docs/poultry-aeronautics-beta048.md
2026-09-15 09:29:11 +02:00

137 lines
8.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# beta.048 — aéronautique de poule
Branche `codex/poultry-aeronautics-beta048`.
## Contrat
- Maj + clic droit sur un joueur assis dans un bateau permet de monter sur sa
tête et de prolonger sa pile. Un animal assis dans le bateau ne sert pas de siège.
- Deux formats supplémentaires : 2 × 2, quatre sièges ; 3 × 3, neuf sièges.
Chaque siège accueille un joueur ou un animal. Un animal moteur réel assis dans
le bateau fournit la propulsion. Un familier ou un animal porté sur une tête
ne fournit pas de moteur.
- Les onze bois avec bateau/radeau dans Minecraft 26.3-pre-2 sont couverts,
y compris peuplier et bambou. Pas de variante avec coffre dans ce ticket.
- Recettes approuvées : quatre ou neuf bateaux/radeaux normaux du même bois,
disposés en carré à l'établi, donnent le format correspondant. Les recettes
rejoignent la collection Bateaux et radeaux, y compris déjà débloquée.
- Tous les joueurs directement assis commandent le bateau collectif. On moyenne
leurs directions et leur demande de montée. Les joueurs portés ajoutent du
poids sans participer aux commandes. Des ordres contraires se compensent.
- Le bateau simple avec une poule et un pilote conserve exactement son vol
beta.046. Toute personne supplémentaire ralentit la montée et accélère la
descente. Plusieurs poules améliorent la vitesse et réduisent l'inertie.
- Le vol chargé conserve une montée possible lorsque tous les pilotes appuient
sur Espace. La vitesse horizontale minimale, lorsque tous avancent ensemble,
est de quatre blocs/seconde. Le doublement du Happy Ghast reste indépendant
de ce plancher. Aucun moteur signifie aucun vol animal.
- Les grands bateaux simulent leurs mouvements côté serveur, avec les entrées
natives des pilotes ; les clients reçoivent la position du véhicule.
- La vitesse du Happy Ghast est multipliée par deux séparément, sans changer
la référence utilisée pour équilibrer les bateaux.
## Embarquement et moteurs
Maj + clic droit prend l'animal sur la tête ; clic droit sur le bateau l'installe
sur un siège libre. Ce geste fonctionne aussi avec la chauve-souris, qui n'entre
pas toujours par la collision native. Un bateau plein laisse l'animal porté.
La capacité est vérifiée côté serveur avant de détacher l'animal.
| Animal | Portance | Vitesse | Maniabilité | Descente |
| --- | ---: | ---: | ---: | ---: |
| Poule | 1 | 1 | 1 | 1 |
| Chauve-souris, jour | 0,75 | 0,95 | 1,30 | 1 |
| Chauve-souris, nuit | 1,15 | 1,30 | 1,55 | 0,85 |
| Perroquet | 0,75 | 1,35 | 1,50 | 1,10 |
| Abeille | 1,50 | 0,80 | 0,90 | 0,65 |
| Blaze | 2 | 1,10 | 0,80 | 1,15 |
| Allay | 1,80 | 1,50 | 2,20 | 0,60 |
| Breeze | 1,30 | 1,60 | 1,80 | 0,75 |
Ces coefficients constituent la première version jouable, ajustable après les
parties. L'Allay est un excellent moteur polyvalent ; le Blaze privilégie la
poussée verticale. La chauve-souris utilise l'obscurité native des dimensions
avec ciel. Les effets des différents moteurs se combinent.
La masse vaut le nombre de passagers vivants hors moteurs, avec un minimum de
un, plus 0,5 par agrandissement du côté. Les bébés gardent leur exemption de poids.
La puissance vaut la somme des portances divisée par cette masse. Les cibles de
montée et de descente sont pondérées, avec un minimum de montée de 30 % ; le
maximum horizontal est de 20 blocs/s. Un moteur n'accorde pas d'immunité aux
attaques ordinaires des animaux : les règles natives de capture restent valables.
## Collisions des piles
Les personnes sont comptées dans chaque colonne verticale, pilote compris,
indépendamment des autres sièges du bateau. Le seuil initial est quatre personnes.
- Jusqu'à trois : seule la personne touchée descend lorsque les passagers du
dessus peuvent se raccrocher en sécurité au porteur inférieur.
- À partir de quatre : la personne touchée descend avec les passagers au-dessus,
qui restent assis sur elle. Les personnes en dessous restent en place.
- Si raccourcir une petite pile placerait un passager dans un bloc, son groupe
reste ensemble pendant la descente. Aucune réattribution ne force une collision.
- Les colonnes voisines sont indépendantes. Un plafond touchant le sommet ne
déclenche pas la chute des porteurs inférieurs. Si plusieurs personnes d'une
même colonne heurtent un obstacle, la collision la plus basse est traitée.
## Sauvegardes et ressources
Les nouveaux bateaux ont des identifiants `sanctuary:<bois>_boat_2x2` et
`sanctuary:<bois>_boat_3x3` (radeau : `bamboo_raft_*`). Le fond est composé de tuiles du
modèle natif sans rebords, répétées sans changement d'échelle. Les rebords sont
reconstruits uniquement sur le contour extérieur, puis deux rames de taille
native sont ajoutées. Le bambou conserve ses tuiles de radeau sans rebords.
Aucune texture native n'est remplacée ou étirée. Les sièges suivent les centres
des tuiles, et le masque d'eau couvre le fond complet. Chaque tuile de coque
mesure 28 × 16 pixels natifs ; le radeau répète son fond 28 × 20 avec sa couche
supérieure 28 × 16. Les épaisseurs des rebords et des rames restent natives.
Leurs sièges et leur bois sont déterminés par le type d'entité ; les passagers
ordinaires suivent la sérialisation Minecraft. Les piles de joueurs restent
les relations temporaires déjà utilisées par Sanctuary.
Aucun changement de format des mondes, de chunks ou des journaux. Les recettes
sont ajoutées au savoir existant par la réconciliation normale des collections.
Le bonus Happy Ghast est transitoire, appliqué à chaque chargement d'entité ; il
ne s'accumule pas après sauvegarde ou reconnexion. L'entrée de déplacement
piloté est compensée parce que Minecraft y utilise déjà FLYING_SPEED : le bonus
s'applique une seule fois à la vitesse effective, au lieu de la quadrupler.
## Vérification
Validation sur Minecraft **26.3-pre-2**, Java 25 :
```sh
./gradlew check build assemblePack assembleTestPack -PsanctuaryFocusedTests=poultry,carry,skyflight,collections,starinspect
./gradlew :sanctuary:runClientGameTest -PsanctuaryClientTests=true -PsanctuaryQuickTests=true -PsanctuaryPoultryClientTests=true -PsanctuaryClientNoVsync=true
```
- Build complet et **33 tests serveur** réussis, dont dix nouveaux scénarios :
22 recettes, mélanges refusés, capacités et sauvegarde des passagers, sept
espèces embarquées par le geste de portage, refus sans perte sur bateau plein,
commandes partagées, poids des piles, exclusion des familiers comme moteurs,
collisions des petites et grandes piles, amerrissage et redécollage.
- Le Happy Ghast est contrôlé par ses attributs, sa sauvegarde et son déplacement
natif effectif : le bonus ne s'accumule pas et multiplie le mouvement par deux.
- **13 440 profils** de charge contrôlés pour les sept espèces, jour/nuit,
mélange des moteurs, montée minimale, vitesse et maniabilité bornées.
- Client natif FR/EN : 22 modèles, fonds répétés sans mise à l'échelle, rebords
extérieurs, deux rames, masque d'eau complet ; vraies touches de montée,
descente, déplacement et virage sur le véhicule contrôlé par le serveur.
Vol prolongé au-delà du délai de surveillance, radeau avec les sept moteurs,
bateau simple à chauve-souris et mesure du Happy Ghast à vitesse doublée.
- Captures relues : [bateau 2 × 2](../build/poultry048-evidence/0000_sanctuary-beta048-2x2-flight.png)
et [radeau 3 × 3](../build/poultry048-evidence/0001_sanctuary-beta048-3x3-seven-motors.png).
La coordination de plusieurs pilotes utilise des joueurs simulés côté serveur.
Le parcours graphique utilise un vrai client local ; une partie avec plusieurs
clients distants et de la latence reste à essayer pour ajuster les sensations.
L'équilibrage des espèces constitue une première version jouable.
Les [exports normal](../build/Sanctuary-beta.048.mrpack) et
[monde plat rapide](../build/Sanctuary-Test-beta.048.mrpack) sont vérifiés.
Le reçu `build/poultry048-artifact.json` atteste 1 527 classes conformes au build,
les ressources FR/EN, les dépendances imbriquées, les nouvelles recettes et la
conservation des PNG, de JEI et des archives beta.047. Aucun déploiement dans
l'instance personnelle, aucune acceptation d'EULA, aucun monde personnel modifié.