Files
sanctuary-beta/docs/building-beta009.md
T
2026-09-15 09:29:11 +02:00

6.9 KiB

PROG-02B — Construction et vein building — beta.009

Branche : codex/progression-vein-building. Implémentation et export local vérifiés le 13 septembre 2026 ; parcours graphique encore non validé, voir ci-dessous. Cible : Minecraft 26.3-pre-2, Fabric et Java 25.

Contrat préalable de migration

La progression personnelle passe du schéma 3 au schéma 4, en ajoutant building: 0. Les schémas 1 et 2 passent d'abord par leurs migrations strictes existantes. Les rangs, achats, dates, coûts, aptitudes et révisions sont conservés sans achat fictif. L'historique accepte sept achats Construction supplémentaires, soit 37 événements maximum ; chaque rang doit correspondre exactement à ses achats. Les données invalides sont refusées sans remise à zéro. La migration est idempotente et conserve l'identifiant sanctuary:progression. La restauration réattache la représentation canonique, ensuite enregistrée par la sauvegarde Minecraft normale. Mort, reconnexion et redémarrage conservent les rangs. Aucun New Game+ n'est activé.

Les fichiers de configuration restent au schéma 2 : Construction utilise les sept statCosts, par défaut 1, 2, 4, 8, 16, 32 et 64 niveaux. Aucun changement des profils, couleurs, Atlas, Demeure, inventaire, génération ou chunks existants. Client et serveur doivent utiliser beta.009 ensemble. Les versions antérieures ne lisent pas le schéma 4 ; revenir en arrière exige une sauvegarde antérieure des données de joueur. Aucun monde personnel n'est ouvert ou modifié ici.

Contrat de jeu et valeurs d'essai

  • Rang 0 : pose Minecraft individuelle. Sept achats débloquent les diamètres 3, 5, 7, 9, 11, 13 et 15 (jusqu'à 225 emplacements dans un plan).
  • La portée de visée et d'attaque reste celle de Minecraft. Seul le plan autour du point de départ s'agrandit ; aucune portée d'attaque supplémentaire.
  • Une pose tous les deux ticks en survie ; lots bornés en créatif. Le statut opérateur en survie n'accorde ni matériaux gratuits ni cadence créative.
  • R est la touche commune configurable : avec un bloc en main, aperçu de construction ; R + clic droit maintenus posent, R + molette règle le diamètre. R + clic gauche reste le minage. B reste le Blocodex.
  • Plan déterminé par la face visée et l'orientation du joueur, ordre du centre vers l'extérieur. Le serveur recalcule et revalide les cibles, le stock et les permissions. Relâcher, changer d'objet, ouvrir un menu, mourir, s'éloigner ou perdre la connexion arrête le geste ; les poses déjà effectuées restent.
  • Les poses passent par le placement natif pour les orientations, supports, collisions, contenus d'objets, consommation, statistiques et traces Demeure. Aucune récompense pour l'aperçu ou une pose refusée. Les surfaces ne remplacent pas les blocs occupés et n'ouvrent pas les contenants servant de support. Une dalle peut être fusionnée par son contexte Minecraft natif.
  • Le plan couvre les emplacements dont le support existe déjà, comme le Builder historique. L'aperçu ne dessine que les poses valides ; il ne coûte aucun objet. La pile tenue fournit les matériaux, sans réapprovisionnement automatique.
  • Portes, lits et plantes doubles gardent la pose individuelle, pour ne pas modifier une seconde case hors du plan validé. Échafaudages et nénuphars aussi : leurs placements natifs recherchent une autre cible. Les contextes déplacés et chunks non chargés sont refusés avant tout placement groupé.

Vérifications

  • ./gradlew :sanctuary:compileGametestJava check build assemblePack -PsanctuaryFocusedTests=progression,map,demeure,mining,building réussi en 3 min 55 s, avec 28 tests serveur natifs obligatoires réussis, dont dix scénarios Construction. Journal : build/beta009-delivery-complete.log.
  • Les contrôles purs relisent les schémas 1, 2 et 3 et vérifient l'idempotence, les dates/coûts/rangs conservés, sept achats Construction, plafond et refus d'un rang sans historique. La configuration reste au schéma 2.
  • Les tests serveur vérifient le passage par le placement natif, les six faces, les quatre orientations, les plans de 225 cases sans doublon, les coûts, l'absence d'extension de portée, les stocks courts, le créatif, les dalles simples/doubles/hautes et les escaliers. Les collisions avec un animal, contenants occupés, droits Fabric, mutation pendant un callback, concurrence, interruption et expiration du maintien sont couverts. Les statistiques, Blocodex et contributions Demeure proviennent des poses confirmées.
  • Le test de progression sauvegarde/recharge le joueur et copie ses achats, dont Construction, lors d'une mort ordinaire. Le contrat de reprise est contrôlé sans ouvrir un monde personnel.
  • Le parcours client Building009ClientChecks est écrit et compilé : achats par clic, aperçus 25/9, molette, arrêt, consommation, une seule couche par geste, reconfiguration et interruption par le Blocodex. Son exécution reste non validée : les deux lancements se sont bloqués avant le monde dans Minecraft.<init> / SDL_GL_SwapWindow. Le contrôle de bureau a confirmé que le Mac était verrouillé. Aucun résultat graphique beta.009 ni capture en jeu n'est revendiqué. Les processus de test ont été arrêtés ; la valeur VSync du dossier de développement a été remise à sa valeur initiale. Journaux : build/beta009-client.log, build/beta009-client-retry.log ; piles : build/beta009-client-threads.txt, build/beta009-client-retry-threads.txt.

La sélection des tests serveur est limitée à progression,map,demeure,mining,building ; ce ticket ne revendique pas la correction des deux anciennes assertions de génération générales.

Référence historique en lecture seule : sélection, plan et session de construction dans ../26.2/sanctuary, GPL-3.0-or-later. Les appels natifs sont vérifiés dans les classes de Minecraft 26.3-pre-2, dont BlockItem.place, ItemStack.useOn et ServerPlayerGameMode.useItemOn. Le mixin commun contourne seulement l'interaction du support comme le fait la pose accroupie ; les hooks Fabric, le placement, les contenus d'objets, coûts et critères Minecraft restent actifs. La revalidation a lieu après les callbacks et avant l'usage de l'objet.

Artefact local

  • Sanctuary-beta.009.mrpack, 2 360 956 octets.
  • SHA-256 : efa1ac7974b16e2f6169149518e08ed2bca4371b386b3413850b08618392da21.
  • Reçu : build/building009-artifact.json ; somme séparée : build/Sanctuary-beta.009.mrpack.sha256.
  • ZIP et JSON vérifiés, identité du JAR construit et du JAR Demeure embarqué, versions internes, classes/mixins Construction, traductions FR/EN, six icônes originales, hash Fabric API et index packwiz. Aucune classe de test embarquée. Les exports beta.003 à beta.008 sont restés strictement identiques.

L'artefact est disponible pour essai local. Le canal packwiz n'a pas été publié et aucune instance personnelle n'a été synchronisée.