# 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](docs/vision.md) conserve les intentions ; le [backlog](docs/backlog.md) 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. ## Premier incrément - 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 cœur de départ et un extérieur vide. - Forêt de départ avec végétation, minerais et animaux vanilla. Les formes de terrain reprennent l'approche du générateur 26.2, adaptée à l'API 26.3. - 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. L'île a une emprise nominale de 512 blocs de diamètre, avec une bordure déformée par la seed. C'est un premier terrain technique à régler en jeu. Le catalogue TerraMix, les continents déverrouillables, les lacs et rivières, les ruines et les autres fonctionnalités restent à construire par tickets. Les détails du terrain et de ses limites sont dans [Génération](docs/worldgen.md), et la provenance dans [Audit 26.2](docs/migration-26.2.md). ## 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.1 | 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.11–3.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](https://www.minecraft.net/en-us/article/minecraft-26-3-pre-release-2), [Fabric](https://fabricmc.net/develop/), [version Fabric API](https://modrinth.com/mod/fabric-api/version/o9uChmGq). ## Construire et lancer ```sh 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](docs/testing.md). Résultats : - `mods/sanctuary/build/libs/sanctuary-0.1.0-alpha.1.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](packwiz/README.md). 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. Lancer le client de développement : ```sh ./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` : ```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 Live, 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](CONTRIBUTING.md). Le [backlog initial](docs/backlog.md) 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](LICENSE) et [provenance et crédits](THIRD_PARTY_NOTICES.md). Projet communautaire indépendant de Mojang Studios et Microsoft.