Files
sanctuary-beta/README.md
T
koka ef5d1eaad9
Build Sanctuary / build (push) Canceled after 0s
Add persistent island sizes for 5, 20 and 100 players
Default new Sanctuary worlds to the 20-player profile and keep legacy world generation isolated. Validate all three capacities progressively with real generation, fluid ticks and saved settings.
2026-09-09 04:14:18 +02:00

12 KiB
Raw Blame History

Sanctuary

Sanctuary est une extension gratuite de Minecraft qui transforme le jeu en un monde flottant d'exploration, de production et de progression collective. Les joueurs commencent ensemble sur Sanctuary Island et construisent les infrastructures qui permettront progressivement d'ouvrir de nouveaux continents.

Sanctuary is a free expansion of Minecraft that reshapes the game around a floating world. Players begin together on Sanctuary Island, isolated in the void. By exploring, building infrastructure and producing resources, they progressively unlock new floating continents, each with its own geography. Rather than a linear campaign, the server itself becomes a world that grows through the action of its players.

Ce dépôt démarre la nouvelle base Fabric. La vision complète conserve les intentions ; le backlog prépare les premiers tickets. Les systèmes d'expansion, d'économie, de progression et les dimensions décrits dans la vision ne sont pas encore implémentés.

Socle livré jusqu’à lalpha.8

  • Mod sanctuary indépendant et pack Sanctuary construit avec packwiz.
  • Preset Sanctuary sélectionnable à la création d'un monde, avec une île flottante finie, un terrain naturel et un extérieur vide.
  • Île tempérée aux teintes douces : forêts de chênes et de bouleaux, clairières fleuries et affleurements de pierre, andésite, diorite et granite. Des failles courbes ouvrent le terrain flottant issu du générateur 26.2. Les corniches humides accueillent chênes noirs et champignons ; les essences rares restent ponctuelles.
  • Géologie enrichie en profondeur : tuf, pierres moussues et boue compactée dans les intérieurs humides, puis ardoise des abîmes, roche noire, basalte et poches de soufre. Les volumes existants fournissent leur support.
  • Petits filons de charbon, fer, cuivre, or, redstone, lapis, diamant et émeraude à des altitudes adaptées au terrain. Les essais de charbon, fer et cuivre exposés sont plus fréquents. Les stocks se constatent après génération.
  • Spawn recherché sur le sol de l'île lors de la création. Les mondes ordinaires et les choix ultérieurs de spawn ne sont pas remplacés.
  • Nouveaux mondes sur 384 blocs (Y=0..383), île relevée de 64 blocs, dessous sculpté et nuages au-dessus du terrain. Les anciennes sauvegardes conservent leurs paramètres de génération.
  • Étangs, petits lacs, plages plus larges et dépôts de trois à cinq blocs de sable, gravier, pierre ou terre enherbée. La canne à sucre apparaît lorsque les rives respectent ses règles vanilla.
  • Recherche de bassins plus grands et dune longue rivière calme au tracé arrondi, avec largeur variable et berges progressives. La liaison de deux bassins, sa source et sa cascade entrante sont contrôlées dans les mondes de test de lalpha.8.
  • Quelques sources dans des niches rocheuses naturelles, y compris aux étages inférieurs : Minecraft fait couler leur eau en cascades, qui peuvent descendre jusque dans le vide.
  • Une petite poche de lave couverte est recherchée en priorité sur une corniche profonde, puis plus haut si nécessaire. Une à deux sources profondes supplémentaires peuvent former des coulées, vérifiées par les ticks du moteur.

Jusqu’à lalpha.9, l’île a une emprise nominale de 512 blocs de diamètre, avec une bordure sculptée par des bruits liés à la seed. Aucune masse centrale n'est ajoutée pour forcer le terrain : le spawn cherche un emplacement naturel. Le catalogue TerraMix, les continents déverrouillables, les océans, les ruines et les autres fonctionnalités restent à construire par tickets.

La génération alpha.8, sanctuary:sanctuary_rift, passe les contrôles moteur sur les trois graines de référence, avec 1 800 ticks de fluides. Ces résultats ne valident pas par avance lincrément suivant. Les observations et leurs limites figurent dans Validation.

Alpha.9 : cavités vivantes et terrasses deau

Lincrément ajoute des cavités luxuriantes et lumineuses sous l’île, des secteurs à spéléothèmes, des géodes daméthyste et des poches de soufre moins envahissantes, avec de vrais geysers de soufre lorsque leurs conditions sont réunies. Les forêts de surface sont conservées ; la recherche de lacs plus profonds et volumineux accompagne des groupes facultatifs de bassins naturels étagés. Leurs cascades relient les paliers et permettent de circuler par la nage. Limage des « rizières » décrit ce paysage deau en terrasses : aucune culture de riz nest ajoutée.

La validation moteur alpha.9 passe sur les trois graines de référence. Les preuves de terrasses, geysers et décor souterrain sont cumulées sur ces trois mondes, sans imposer chaque élément à chacun. La version est publiée et la même instance Prism est synchronisée ; voir Distribution. Le nouveau réglage sanctuary:sanctuary_cavern nécessite de créer un nouveau monde Sanctuary. Les anciennes générations jusqu’à lalpha.8 gardent leurs paramètres ; aucune sauvegarde nest régénérée. Les cavités restent dans lOverworld, sans créer la dimension des cavernes prévue par la vision. Dappled Forest reste réservé aux futurs continents et présent dans les anciennes sauvegardes alpha.5. Aucun lac, groupe de terrasses, geyser ou stock de ressources nest garanti sur chaque graine. Voir le ticket local WG-10.

Alpha.10 : îles pour 5, 20 ou 100 joueurs

Trois tailles de départ sont disponibles, avec 20 joueurs par défaut. Leur aire nominale est proportionnelle à la capacité choisie, sur la base de l’île de 512 blocs pour cinq joueurs. La hauteur reste de 384 blocs.

Choix à la création Identifiant du preset Capacité Diamètre nominal
Sanctuary 5 joueurs sanctuary:sanctuary_5 5 512 blocs
Sanctuary, choix par défaut sanctuary:sanctuary 20 1 024 blocs
Sanctuary 100 joueurs sanctuary:sanctuary_100 100 Environ 2 290 blocs

Ces capacités dimensionnent l’île ; elles ne fixent pas la limite de connexions du serveur. Le contour réel dépend du relief et de la graine, et le stock de ressources reste celui de la génération. La taille se choisit pour un nouveau monde : aucune ancienne île nest agrandie et aucune sauvegarde nest régénérée lors de la mise à jour. Les paramètres sauvegardés sont distincts : sanctuary:population_5, sanctuary:population_20 et sanctuary:population_100.

Les trois profils passent les onze tests moteur sur la graine 0, avec 1 800 ticks réels de fluides. Le choix de capacité persiste après écriture et relecture sur disque. La vérification conserve 212 anciens fichiers de production strictement identiques ; huit fichiers dintégration ou dinterface accueillent les nouveaux choix. La première planification locale reste coûteuse, environ 8388 secondes pour les premiers essais 5/20 sur cette configuration. La génération en masse reste à optimiser. Ces essais ne simulent pas 100 connexions et ne donnent aucune garantie de performances multijoueurs. Les diamètres nominaux ne permettent pas dextrapoler les stocks ou laire réellement habitable. Voir WG-11, Validation et l’état de Distribution.

Le premier champ de recherche climatique est défini : nord froid, sud chaud, ouest sec et est humide, avec leurs combinaisons diagonales. Un outil de développement relève les ressources après génération ; le système d'expansion en jeu reste à construire. Voir Expansion et ressources.

Les détails du terrain et de ses limites sont dans Génération, et la provenance dans Audit 26.2.

Versions et prérequis

Au 8 septembre 2026, la cible disponible est 26.3-pre-2. Le dépôt ne prétend pas cibler une version finale 26.3 déjà sortie. Le passage à la version finale sera une mise à jour explicite, avec vérification des API et des sauvegardes.

Composant Version fixée
Minecraft Java 26.3-pre-2
Java JDK 25
Fabric Loader 0.19.5
Fabric API 0.160.0+26.3
Fabric Loom 1.17.20
Gradle Wrapper 9.5.1, distribution vérifiée par SHA-256
Sanctuary / pack 0.1.0-alpha.10

Java 25 et Python 3.11 ou plus récent sont nécessaires. Le script pack utilise uniquement la bibliothèque standard et repère aussi une installation Python 3.113.14 si python3 désigne l'ancien Python fourni par macOS. Gradle est fourni par le wrapper. packwiz est utile pour modifier les dépendances ou servir le pack ; il n'est pas nécessaire pour le construire.

Références vérifiées : Minecraft 26.3-pre-2, Fabric, version Fabric API.

Construire et lancer

git clone https://git.botsu.net/koka/sanctuary-beta.git
cd sanctuary-beta
./gradlew check build assemblePack

check inclut les tests de forme et le serveur de test automatisé de Fabric, qui charge le vrai preset Sanctuary dans un monde de développement neuf. Les scénarios couverts et les essais multijoueurs restant à effectuer sont décrits dans Validation.

Résultats :

  • mods/sanctuary/build/libs/sanctuary-0.1.0-alpha.10.jar : mod à installer avec Fabric API sur la version Minecraft indiquée.
  • build/packwiz/ : pack de développement complet, avec le mod construit et l'index vérifié. Voir Installation packwiz.

Le pack peut aussi être exporté en .mrpack avec packwiz pour une importation dans un lanceur compatible ; la commande est indiquée dans ce même guide.

Pour les essais réguliers, la même instance Prism suit un canal packwiz stable et se synchronise avant chaque lancement. La procédure de publication et de raccordement est dans Distribution Prism.

Lancer le client de développement :

./gradlew :sanctuary:runClient

Créer un nouveau monde, puis sélectionner le type de monde Sanctuary. L'installation du mod seule ne transforme pas un monde Minecraft ordinaire.

Pour un serveur de développement, lancer ./gradlew :sanctuary:runServer, puis suivre les indications du jeu concernant son EULA. Utiliser un dossier de monde neuf et choisir dans mods/sanctuary/run/server.properties :

level-type=sanctuary:sanctuary
level-name=sanctuary-dev
level-seed=42

Relancer ensuite la même commande. Ne pas remplacer le générateur d'une sauvegarde 26.2 : aucun outil de migration de ses chunks n'est livré ici.

Organisation

Chemin Responsabilité
mods/sanctuary/ Code, ressources et tests du mod Sanctuary
packwiz/ Manifeste source, dépendances distantes et hashes
ressources-pack/ Sources graphiques existantes et futurs resource packs
shaders-pack/ Sources et réglages de shaders à venir
docs/ Vision, backlog, migration, génération et validation
.gitea/ISSUE_TEMPLATE/ Modèles de tickets fonctionnalités et bugs
.gitea/workflows/ Vérification sur un runner Gitea compatible

It's Alive !, Only Fun et Master Key restent des modules autonomes prévus par la vision. Leurs sources 26.2 ne sont pas copiées dans ce socle. Fabric API est la seule dépendance de gameplay actuellement distribuée avec le mod.

Travailler par tickets

Un ticket décrit un comportement à obtenir ou un bug à reproduire. On livre un petit incrément, on le vérifie en jeu si nécessaire, puis on ajuste avec le ticket suivant. Pour le terrain, joindre la seed et les coordonnées aide à retrouver exactement le problème. Voir Contribuer.

Le backlog initial contient des propositions locales, pas des issues déjà publiées. Le prochain travail après ce socle est le réglage de l'île, puis le placement de continents et leur ouverture sans écraser les constructions des joueurs.

Licence et crédits

Sanctuary conserve la licence GPL-3.0-or-later du projet 26.2. Voir LICENSE et provenance et crédits. Projet communautaire indépendant de Mojang Studios et Microsoft.