137 lines
8.2 KiB
Markdown
137 lines
8.2 KiB
Markdown
# 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é.
|