Record Sanctuary sources through beta.060 and Git validation
Build Sanctuary / build (push) Canceled after 0s
Build Sanctuary / build (push) Canceled after 0s
This commit is contained in:
@@ -0,0 +1,146 @@
|
||||
# beta.017 — aptitudes Nage/S’allonger/Repos et retrait du livre de recettes
|
||||
|
||||
Ticket du 13 septembre 2026, branche `codex/swimming-recipebook-beta017`.
|
||||
Contrat préalable aux changements de progression et d'interface.
|
||||
|
||||
## Nage
|
||||
|
||||
Nouvelle aptitude achetable `swimming`, libellés **Nage / Swimming**, coût par
|
||||
défaut **4 niveaux** réglable par `swimmingCost` côté serveur. Elle reste dans
|
||||
la liste des aptitudes et suit leur conservation générale après mort et New Game+.
|
||||
Les six compétences au maximum suffisent toujours au prestige.
|
||||
|
||||
Sans cette aptitude, les joueurs Sanctuary en survie/aventure gardent les
|
||||
mouvements lents dans l'eau, la flottabilité et la possibilité de remonter.
|
||||
Le sprint aquatique et la posture de nage rapide sont refusés sur les deux
|
||||
côtés logiques, y compris en entrant dans l'eau alors qu'on court. Sur terre,
|
||||
le sprint reste disponible selon la faim. Après achat, le sprint aquatique
|
||||
suit les règles de faim existantes : plus de six points de nourriture.
|
||||
Respiration, bulles vanilla, bateaux, rampement dans les petits espaces et
|
||||
mouvements des animaux restent inchangés. Créatif/spectateur et joueurs sans
|
||||
progression Sanctuary gardent leur comportement natif.
|
||||
|
||||
## S’allonger
|
||||
|
||||
Nouvelle aptitude `lying`, **S’allonger / Lie down**, 4 niveaux par défaut,
|
||||
configurable par `lyingCost`. **W** bascule la position et se configure dans
|
||||
Contrôles → Sanctuary. Le défaut résout la lettre W selon la disposition active
|
||||
du clavier, y compris AZERTY ; les raccourcis personnalisés restent prioritaires.
|
||||
Elle autorise la posture basse native et le déplacement
|
||||
lent au sol. La touche relève le personnage quand l'espace le permet ; les
|
||||
collisions natives gardent la posture basse sous un plafond trop bas.
|
||||
Pas de sommeil, soin ou changement d'heure. L'entrée dans l'eau, le vol,
|
||||
le véhicule, le lit ou la mort arrêtent la position volontaire.
|
||||
|
||||
La posture temporaire utilise `sanctuary:lying` synchronisé du serveur aux
|
||||
clients qui voient le joueur, sans persistance ni copie à la mort. L'aptitude,
|
||||
elle, reste dans l'historique et après le prestige. La requête réseau contient
|
||||
un état souhaité et une révision ; le serveur vérifie l'achat et la position
|
||||
au sol avant de l'accepter. En créatif, on peut tester la posture sans achat.
|
||||
|
||||
## Se reposer
|
||||
|
||||
Aptitude distincte `resting`, **Se reposer / Rest**, 4 niveaux par défaut, coût
|
||||
`restingCost`. **Maj + W** (Maj + la touche configurée pour S’allonger) commence
|
||||
ou arrête le repos. W seul quitte également toute position basse. V reste libre
|
||||
pour le vocal. Le repos permet sa propre posture immobile, sans imposer un autre
|
||||
achat ; S’allonger autorise séparément la posture mobile au sol.
|
||||
|
||||
Survie/aventure : toutes les **200 ticks serveur (10 secondes à 20 TPS)**,
|
||||
récupérer **1 point de vie (un demi-cœur)** contre **1 point de faim (une demi-barre)**.
|
||||
Aucun soin si la santé est pleine ou si la faim est vide ; aucune consommation
|
||||
sans soin. Le repos n'affecte ni le temps ni le point de réapparition. Bouger,
|
||||
recevoir des dégâts, quitter le sol ou entrer dans une situation incompatible
|
||||
interrompt le repos. Le délai recommence à chaque nouvelle séance, sans soin
|
||||
immédiat en répétant la touche. Le créatif permet de tester la posture sans
|
||||
produire de soin artificiel. La régénération naturelle de Minecraft garde ses règles.
|
||||
|
||||
### Migration additive
|
||||
|
||||
`ProgressRecord` passe de 8 à 9 et ajoute `swimming: false`, `lying: false` et `resting: false` aux anciens habitants,
|
||||
sans changer leurs achats, XP, compétences, aptitudes, révision ou prestige.
|
||||
L'achat ajoute une preuve dans l'historique ; le New Game+ la conserve.
|
||||
Les événements historiques du journal de cycle restent intacts, leurs données
|
||||
de progression sont lues avec la migration existante étendue. Aucun ancien
|
||||
journal n'est réécrit. Les états inconnus/corrompus restent refusés.
|
||||
|
||||
La configuration de progression passe de 4 à 5 : ajouter `swimmingCost: 4`, `lyingCost: 4` et `restingCost: 4`,
|
||||
conserver tous les autres réglages. Écriture atomique uniquement lors de cette
|
||||
migration ou création initiale. Capacité réseau `sanctuary:swimming_v1` :
|
||||
client et serveur beta.017 ensemble. Requête `sanctuary:lying` pour la posture (0 debout, 1 allongé, 2 repos). Aucun monde personnel n'est modifié.
|
||||
|
||||
## Livre de recettes
|
||||
|
||||
Quand le mod est installé, retirer le bouton et le panneau natifs des écrans
|
||||
Inventaire, Établi, Four, Haut-fourneau et Fumoir, y compris un ancien réglage
|
||||
« livre ouvert ». Retirer aussi les recettes fantômes du panneau et les toasts
|
||||
qui demandent de consulter le livre. Conserver les grilles, les sorties de
|
||||
fabrication, les recettes serveur, leurs statistiques et les advancements.
|
||||
La fabrication manuelle reste libre, selon la règle de jeu existante.
|
||||
|
||||
L'intégration d'une version modifiée de Just Enough Items révélant ses recettes
|
||||
selon les advancements Minecraft constitue la direction suivante ; ce ticket
|
||||
n'installe pas JEI et ne prétend pas implémenter ce catalogue. Son intégration
|
||||
exige une version compatible avec Minecraft 26.3-pre-2 et son propre contrat
|
||||
révélation/catalogue. Le Blocodex reste utilisable.
|
||||
|
||||
## Prix des compétences
|
||||
|
||||
Le texte `1/7` (ou `3/10`) à côté de chaque jauge ASCII est remplacé par le prix
|
||||
serveur du prochain rang, par exemple `4 niv.` / `4 lv.`. Au maximum : `Max.`.
|
||||
La jauge conserve la position actuelle, le bouton + garde son contrôle d'XP et
|
||||
le bouton − reste réservé aux opérateurs. Les colonnes partagent la largeur
|
||||
nécessaire aux prix de la configuration, y compris dans une petite interface.
|
||||
|
||||
## Son des Premiers pas
|
||||
|
||||
Chaque étape récompensée par de l'XP joue le son vanilla de ramassage d'expérience
|
||||
pour le joueur concerné. Le serveur envoie ce son avec le gain effectif : pas de
|
||||
répétition sur une étape déjà validée, à la reconnexion ou si la récompense vaut
|
||||
zéro. Les réglages audio de Minecraft restent appliqués. Aucun nouveau fichier
|
||||
sonore, attachement ou message réseau Sanctuary n'est nécessaire.
|
||||
|
||||
## Livraison et vérifications
|
||||
|
||||
Le 13 septembre 2026, avec Java 25, Minecraft **26.3-pre-2**, Fabric Loader
|
||||
**0.19.5** et Fabric API **0.160.0+26.3** :
|
||||
|
||||
- `./gradlew check build assemblePack -PsanctuaryFocusedTests=progression,mining,building,inventory,cycle,inventoryflow,sorting,tutorial,movement` :
|
||||
contrôles purs et **62 tests serveur réussis**, 4 min 24 s ;
|
||||
journal `build/movement017-check-build.log`.
|
||||
- Après les derniers ajouts son/clavier,
|
||||
`./gradlew check build assemblePack -PsanctuaryFocusedTests=progression,tutorial,movement` :
|
||||
**15 tests serveur réussis**, tous les contrôles purs et assemblage validés,
|
||||
4 min 20 s ; `build/movement017-final-build.log`.
|
||||
- `./gradlew :sanctuary:runClientGameTest -PsanctuaryClientTests=true -PsanctuaryMovementClientTests=true` :
|
||||
parcours client natif réussi en 1 min 33 s ; `build/movement017-final-client.log`.
|
||||
Monde jetable de graine **42**, capture des interfaces FR/EN : achat des trois
|
||||
aptitudes, déplacement lent et remontée avant achat, nage rapide après achat,
|
||||
W selon la disposition du clavier, Maj+W, soin après dix secondes, interruption
|
||||
par mouvement, remappage sur G, absence de conflit avec le double-Maj pour
|
||||
s'asseoir, cinq écrans sans livre à deux échelles et fabrication manuelle réelle.
|
||||
Le client reçoit un son d'XP à l'ouverture de l'inventaire et un autre lors de
|
||||
la fabrication des planches ; vingt répétitions du signal n'en produisent aucun.
|
||||
Les six lignes affichent le prix serveur du prochain rang, sans ratio redondant.
|
||||
|
||||
Les tests serveur utilisent un monde de développement de graine **0** et couvrent
|
||||
aussi les paquets périmés/refusés, les coûts, la faim, les délais de repos,
|
||||
l'absence de changement d'heure, les dégâts, les modes de jeu, les données
|
||||
temporaires non sauvegardées et la conservation des aptitudes après mort/New Game+.
|
||||
Les contrôles purs vérifient les migrations additives, les réglages personnalisés
|
||||
et le refus des nouveaux champs corrompus. Les premiers essais de clic client
|
||||
utilisaient le code souris 0 ; la version native exige `MOUSE_BUTTON_LEFT` (1).
|
||||
La correction porte sur le test ; la fabrication native était fonctionnelle.
|
||||
|
||||
Export local : [Sanctuary-beta.017.mrpack](../build/Sanctuary-beta.017.mrpack),
|
||||
**2 567 056 octets**. Vérificateur `build/verify-beta017-pack.py`, reçu
|
||||
`build/movement017-artifact.json` : ZIP/CRC, versions internes, JAR et Demeure
|
||||
imbriqué identiques aux builds, dépendances, mixins, textes FR/EN et six PNG
|
||||
identiques aux sources du resource pack. Les exports beta.003–016 restent identiques.
|
||||
|
||||
SHA-256 MRpack : `4f07c8070aa2b3f5b256f070a236b0fd56b37d7ec8ddc974a30dc7dfc1f8a41a`.
|
||||
SHA-256 JAR : `058ce9f24ff15da2c362a92fef648deeaee9019e7f177c503dee096666429325`.
|
||||
|
||||
Le pack contient les récompenses et textures beta.016 ; la respiration du HUD
|
||||
reste vanilla. Aucune installation personnelle ni canal packwiz publié n'a été
|
||||
modifié. JEI et la révélation de son catalogue par advancements restent à développer.
|
||||
Reference in New Issue
Block a user