Minestom
Générez votre monde Massif dans un projet Minestom.
La bibliothèque Massif se branche sur la génération de monde normale de Minestom. Elle est faite pour Minestom 2026.10.05-26.2 et Java 25.
1. Ajoutez la dépendance
Pendant la bêta, la bibliothèque se trouve dans le registre de paquets de Smolder. Votre
invitation contient les identifiants ; placez-les dans les variables d’environnement
SMOLDER_MAVEN_USERNAME et SMOLDER_MAVEN_TOKEN, puis ajoutez à build.gradle.kts :
repositories {
maven("https://git.neo.smolder.fr/api/packages/Smolder/maven") {
credentials {
username = System.getenv("SMOLDER_MAVEN_USERNAME")
password = System.getenv("SMOLDER_MAVEN_TOKEN")
}
}
}
dependencies {
implementation("fr.smolder.massif:massif-upstream-minestom:0.1.0")
}
2. Chargez votre monde
Téléchargez votre export depuis votre compte et livrez-le avec votre serveur, par
exemple sous le nom world.massif à côté de votre JAR.
MassifWorld.install fait tout en un appel : il vérifie la signature de l’export (et refuse tout ce
que Massif n’a pas produit), enregistre ses biomes et installe le générateur. Appelez-le au
démarrage du serveur, avant le chargement du moindre chunk ou la connexion d’un joueur :
import fr.smolder.massif.upstream.MassifWorld;
import net.minestom.server.MinecraftServer;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.event.player.AsyncPlayerConfigurationEvent;
import java.nio.file.Path;
public class WorldServer {
public static void main(String[] args) throws Exception {
var server = MinecraftServer.init();
MassifWorld world = null;
try {
var instance = MinecraftServer.getInstanceManager().createInstanceContainer();
world = MassifWorld.install(Path.of("world.massif"), instance);
MinecraftServer.getGlobalEventHandler().addListener(AsyncPlayerConfigurationEvent.class, event -> {
event.setSpawningInstance(instance);
event.getPlayer().setRespawnPoint(new Pos(0, 64, 0));
});
server.start("0.0.0.0", 25565);
System.in.read(); // Entrée pour arrêter
} finally {
MinecraftServer.stopCleanly();
if (world != null) world.close();
}
}
}
Lancez avec Java 25 et --enable-native-access=ALL-UNNAMED. Réglez la hauteur d’apparition selon
votre terrain. Gardez l’objet world jusqu’à l’arrêt du serveur, puis fermez-le.
Bon à savoir
- Massif génère la hauteur définie pour votre monde ; tout le reste est de l’air.
- La génération tourne sur les workers natifs de Massif, elle ne bloque donc pas votre thread de tick.
- Les entités générées et le contenu de plugins (comme les blocs CraftEngine) demandent une configuration en plus ; demandez-nous si votre monde en utilise.