86 lines
5.0 KiB
Markdown
86 lines
5.0 KiB
Markdown
# beta.050 — bateaux compacts et blocs portés
|
||
|
||
Branche `codex/head-blocks-beta050`.
|
||
|
||
## Contrat
|
||
|
||
Deux formats supplémentaires, largeur × longueur : **1 × 2 et 2 × 1**,
|
||
dans les onze bois natifs. Deux bateaux ordinaires identiques, disposés selon
|
||
la forme souhaitée dans l'établi, donnent le bateau collectif correspondant.
|
||
Les noms restent « bois + dimensions ». Les modèles répètent les fonds natifs,
|
||
avec bordures extérieures et deux rames. Chaque format accueille quatre
|
||
passagers : les deux places principales, puis les deux secondaires.
|
||
Les moteurs animaux, commandes partagées, piles et règles de poids sont conservés.
|
||
Les 22 variantes rejoignent la collection Bateaux et radeaux, soit 88 variantes.
|
||
|
||
## Blocs portés
|
||
|
||
- Les bibliothèques sculptées acceptent les livres enchantés avec leurs données
|
||
intactes. Le clic est converti vers la face et la case du modèle porté.
|
||
Depuis l'inventaire, un clic avec un livre remplit la première case libre ;
|
||
à vide, il récupère le premier livre présent. La même règle s'applique aux
|
||
trois cases des étagères. Depuis le slot cosmétique, les objets récupérés
|
||
reviennent au curseur.
|
||
- Les étagères transmettent leurs trois objets visibles au rendu natif. Les
|
||
coffres et fours continuent de conserver leur contenu hors de l'apparence.
|
||
- Le pupitre affiche le livre inséré et son interface s'ouvre à main vide.
|
||
- Le lit porté comporte ses deux moitiés. Il est purement décoratif : aucun
|
||
joueur ne peut y dormir ou y fixer son point de réapparition. Les lits posés
|
||
conservent leur fonctionnement natif.
|
||
- Les pots acceptent les fleurs admises par Minecraft, avec consommation d'un
|
||
exemplaire et récupération à main vide, y compris depuis le slot cosmétique.
|
||
- Boutons et leviers reposent à plat sur le dessus de la tête, légèrement
|
||
relevés pour rester visibles avec la couche extérieure du skin. Le clic droit
|
||
d'un autre joueur, ou le clic dans le slot cosmétique, les actionne.
|
||
|
||
## Redstone mobile
|
||
|
||
Une torche de redstone portée est une source continue ; le levier allumé est
|
||
une source maintenue ; le bouton suit sa temporisation native. Ces trois sources
|
||
émettent une puissance 15 autour de la cellule occupée par la tête et peuvent
|
||
alimenter les circuits réels adjacents. La torche portée n'a pas de bloc support
|
||
et ne s'inverse donc pas selon un support fictif. Les blocs posés restent natifs.
|
||
|
||
Le serveur tient un index des cellules alimentées. Il notifie les voisins
|
||
seulement lors d'un changement d'état ou de cellule, puis laisse la redstone
|
||
native propager le signal. Déplacement, retrait, mort et déconnexion retirent
|
||
l'ancienne source ; plusieurs porteurs dans une cellule se cumulent sans que
|
||
le retrait de l'un annule les autres. Aucun bloc source n'est placé dans le
|
||
terrain et aucun chunk n'est régénéré. Les circuits peuvent naturellement
|
||
activer leurs récepteurs, y compris pistons et distributeurs placés.
|
||
|
||
Le signal local déclenché par un coup de beta.049 reste distinct de ces sources
|
||
mobiles. Les cosmétiques ne forment pas un réseau de plusieurs blocs sur une
|
||
seule tête. Aucun changement de format de sauvegarde ni de génération.
|
||
|
||
## Vérification
|
||
|
||
- `./gradlew check build :sanctuary:runGameTest assemblePack assembleTestPack`
|
||
avec `-PsanctuaryFocusedTests=head050,poultry,headblocks,boatshead,cosmetics`
|
||
et `-PsanctuaryQuickTests=true` : **40 tests natifs réussis**.
|
||
- Le parcours client FR/EN valide les 88 modèles par tuiles et leurs libellés,
|
||
les objets réellement synchronisés dans les étagères, le livre du pupitre,
|
||
les deux moitiés du lit, les boutons et leviers sur la couronne, le pot fleuri,
|
||
le livre enchanté et le vol des deux formats depuis les commandes natives.
|
||
- Après le léger relèvement visuel des commandes, nouveau `check build`,
|
||
`runClientGameTest` et assemblage, avec les propriétés
|
||
`sanctuaryClientTests`, `sanctuaryHead050ClientTests`, `sanctuaryClientNoVsync`
|
||
et `sanctuaryQuickTests` à `true`. `-x :sanctuary:runGameTest` évite de répéter
|
||
les 40 tests serveur pour cet ajustement limité au rendu. Parcours client réussi.
|
||
- `python3 scripts/compile_collections.py` : Markdown, données et traductions
|
||
concordants ; 22 nouveaux plans de bateaux ajoutés à la collection.
|
||
- Les deux exports packwiz sont vérifiés contre les classes et ressources du
|
||
build : **1 533 classes**. Icône officielle, PNG existants, JEI et données de
|
||
génération préservés ; archives beta.049 inchangées.
|
||
|
||
Journaux : `build/head050-delivery.log`, `build/head050-client-final.log`.
|
||
Reçu : `build/head050-artifact.json` ; captures : `build/head050-evidence/`.
|
||
|
||
[Pack normal](../build/Sanctuary-beta.050.mrpack) ·
|
||
[Monde plat rapide](../build/Sanctuary-Test-beta.050.mrpack).
|
||
|
||
Validation effectuée sur les serveurs natifs de test et un client intégré local.
|
||
Une session avec plusieurs clients distants reste à confirmer en partie.
|
||
Aucun déploiement dans l'instance personnelle, changement du canal public ou
|
||
acceptation d'EULA de serveur dédié.
|