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,140 @@
|
||||
# beta.003 — premier habitant et première aptitude
|
||||
|
||||
Livraison locale d'essai, 13 septembre 2026.
|
||||
Minecraft **26.3-pre-2**, Fabric Loader **0.19.5**, Fabric API **0.160.0+26.3**.
|
||||
Aucun ajout de JEI, Xaero ou autre dépendance non vérifiée pour cette cible.
|
||||
|
||||
## Essayer
|
||||
|
||||
Importer `build/Sanctuary-beta.003.mrpack`, puis créer un **nouveau monde
|
||||
Sanctuary**. La fiche HELLO_WORLD apparaît avant l'entrée en jeu : skin et
|
||||
pseudo du compte, bio facultative, couleur personnelle. Des boutons Minecraft
|
||||
classiques portent leur code en SGA, avec seulement les glyphes teintés de la
|
||||
couleur correspondante ; l’infobulle garde le code hexadécimal classique.
|
||||
Convention Sanctuary : les chiffres `0..F` correspondent aux seize glyphes
|
||||
SGA `A..P`, car la police vanilla ne contient pas de chiffres. Six glyphes
|
||||
conservent donc exactement les 24 bits RGB, sans symbole manquant. Après validation,
|
||||
le serveur annonce `helloworld {pseudo}` une seule fois.
|
||||
|
||||
Le **Blocodex s'ouvre avec B ou depuis Échap**. Il regroupe la fiche, les
|
||||
améliorations, l'histoire personnelle et le catalogue de blocs existant.
|
||||
L'onglet Progression sépare les **compétences à gauche** des **aptitudes à
|
||||
droite**, dans une liste à défilement indépendant. Les six compétences sont
|
||||
Vie, Faim, Minage, Construction, Souffle et Inventaire (Health, Hunger, Mining,
|
||||
Building, Breath, Inventory en anglais). Minage, Construction et Inventaire
|
||||
sont indiquées **À venir**, sans achat : leurs mécaniques feront l'objet du
|
||||
prochain ticket, conformément au choix du créateur. Noms et S'asseoir figurent
|
||||
dans les aptitudes.
|
||||
Il ne demande aucun item à fabriquer. Le livre de recettes de l'inventaire
|
||||
reste accessible ; son remplacement visuel appartient à la suite des menus.
|
||||
|
||||
- Départ : 3 cœurs, 3 icônes de nourriture, 3 bulles sous l'eau.
|
||||
- Sept améliorations par capacité, jusqu'à 10 ; prix provisoires
|
||||
`1, 2, 4, 8, 16, 32, 64` niveaux. Le premier cœur coûte donc 1 niveau.
|
||||
- **Noms des mobs** : 4 niveaux. Révèle le nom de la créature visée.
|
||||
Les étiquettes posées par les joueurs gardent la priorité.
|
||||
- **S'asseoir** : gratuit dès le départ. Deux appuis brefs sur Accroupir,
|
||||
en restant immobile au sol, ou bouton de la fiche. Accroupir pour se relever.
|
||||
- Une mort conserve les achats. Les orbes vanilla contiennent par défaut
|
||||
70 % des points d'XP disponibles et peuvent être ramassées par tout joueur.
|
||||
`keepInventory` garde son effet habituel.
|
||||
|
||||
## Configuration serveur
|
||||
|
||||
Les fichiers sont créés au premier démarrage d'un monde Sanctuary dans
|
||||
`config/sanctuary/`. Les réglages de progression nécessitent un redémarrage.
|
||||
Exemple complet de `progression.json` :
|
||||
|
||||
```json
|
||||
{
|
||||
"schema": 1,
|
||||
"enableExistingWorlds": false,
|
||||
"initialColors": 20,
|
||||
"statCosts": [1, 2, 4, 8, 16, 32, 64],
|
||||
"namesCost": 4,
|
||||
"deathXpFraction": 0.7
|
||||
}
|
||||
```
|
||||
|
||||
`mob-names.json` permet d'ajouter ou de remplacer les familles de noms de 26.2
|
||||
pour chaque identifiant d'entité, y compris ceux des futurs mods :
|
||||
|
||||
```json
|
||||
{
|
||||
"schema": 1,
|
||||
"enabled": true,
|
||||
"types": {
|
||||
"minecraft:zombie": {
|
||||
"includeDefaults": true,
|
||||
"names": ["PoupouLeZombie", "AncienExplorateur"]
|
||||
},
|
||||
"minecraft:cow": {
|
||||
"includeDefaults": false,
|
||||
"names": ["Marguerite", "Rosalie"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Recharger avec **`/sanctuary names reload`**, depuis la console ou un compte
|
||||
opérateur. Une configuration invalide conserve la dernière configuration
|
||||
valide et produit une erreur explicite. Limites : 256 types, 128 noms par type,
|
||||
64 caractères par nom, fichier de 60 000 octets maximum. Les caractères de
|
||||
contrôle et codes de formatage sont refusés. Les étiquettes restent prioritaires.
|
||||
Changer une liste peut changer les noms déterministes déjà affichés.
|
||||
|
||||
La palette s'étend lorsqu'elle est pleine. Aucune attribution antérieure
|
||||
n'est déplacée. L'adoption d'une sauvegarde beta.002 ou alpha est volontaire,
|
||||
sans modifier ses chunks : voir le [contrat de données](progression-beta003-contract.md).
|
||||
|
||||
## Vérifications
|
||||
|
||||
Essais macOS / Java 25, dans les répertoires de développement ignorés :
|
||||
|
||||
- `./gradlew check build --continue` exécuté : contrôles purs réussis, dont
|
||||
identités, concurrence des couleurs, extension de palette, corruption
|
||||
refusée, persistance, rangs et courbe d'XP. La suite native générale donne
|
||||
**37/39**, dont **4/4 nouveaux GameTests de progression réussis** : capacités,
|
||||
nourriture et sprint, achats autoritaires et idempotents, respawn, siège
|
||||
gratuit, noms configurables et permissions opérateur.
|
||||
- Les deux échecs sont les assertions worldgen déjà consignées dans
|
||||
[le versionnement](versioning.md) : hauteur attendue de 384 au lieu de 640
|
||||
dans `populationTerrainAndNaturalSpawnRemainPresent`, et support sous un
|
||||
sédiment de graine 0 dans `retainedHydrologySurvivesNativeDecoration`.
|
||||
**Le contrôle global n'est donc pas vert.** Ce ticket ne les corrige pas.
|
||||
- `./gradlew :sanctuary:runClientGameTest -PsanctuaryClientTests=true
|
||||
-PsanctuaryProgressionClientTests=true` réussit sur le code final : véritable
|
||||
HELLO_WORLD avant l'apparition et l'annonce d'arrivée, 3/3/3, achat d'un
|
||||
cœur puis de Noms, noms personnalisés et priorité des étiquettes, accès B
|
||||
et Échap, six compétences, défilement indépendant des aptitudes et contrôles
|
||||
de dimensions aux deux échelles de GUI. Une mort réelle puis un redémarrage
|
||||
conservent la fiche et les deux achats sans répéter l'accueil. Le test
|
||||
vérifie aussi 6 069 points d'XP laissés pour un solde de niveau 60.
|
||||
- Les captures natives finales ont été inspectées : boutons Minecraft à
|
||||
glyphes SGA colorés, six compétences à gauche et liste d'aptitudes à droite.
|
||||
Copies dans `build/beta003-preview/`.
|
||||
- `./gradlew assemblePack -x check` réussit après ces contrôles : JAR final,
|
||||
versions et index packwiz vérifiés. Les contrôles déjà exécutés ne sont
|
||||
pas relancés pendant cet assemblage.
|
||||
- Export packwiz vérifié : CRC ZIP, versions interne et externe `beta.003`,
|
||||
unique JAR Sanctuary identique au build, classes et mixins attendus,
|
||||
ressources JSON et clés FR/EN, empreinte de Fabric API et index packwiz.
|
||||
L'archive ne contient ni monde, ni réglage personnel, ni mod de test.
|
||||
|
||||
**[MRpack local](../build/Sanctuary-beta.003.mrpack)** — 2 208 926 octets.
|
||||
SHA-256 : `2b31d67befb4838d0f6da307c3ac0d1dfe5ba41978e9d8b73d5c2983108b9db0`.
|
||||
JAR SHA-256 : `44544793d318d2be8bf5cdc6ab4e80d752b886debcf383bedca04ed04da0ae1d`.
|
||||
Reçu : `build/progression003-artifact.json`.
|
||||
|
||||
Journaux : `build/beta003-check-build.log`,
|
||||
`build/progression-client-final.log`, `build/beta003-assemble-pack.log`.
|
||||
Les essais Windows et une session entre plusieurs clients distants restent
|
||||
ouverts ; le parcours client validé utilise le serveur intégré natif.
|
||||
|
||||
## Suite ouverte
|
||||
|
||||
Prestige/NG+, overlay des points de vie des mobs, découverte des items et
|
||||
entités dans le catalogue, nouveaux moyens d'XP, carte, recettes communautaires,
|
||||
étoiles, factions et connexion Web restent des tickets distincts. L'historique
|
||||
présente les faits de cette première progression ; il n'est pas encore une
|
||||
timeline unifiée de Demeure, de l'Atlas et du Web.
|
||||
Reference in New Issue
Block a user