diff --git a/api/src/main/java/ru/dragonestia/msb3/api/module/FlatWorldModule.java b/api/src/main/java/ru/dragonestia/msb3/api/module/FlatWorldModule.java index 9191861..1decc6b 100644 --- a/api/src/main/java/ru/dragonestia/msb3/api/module/FlatWorldModule.java +++ b/api/src/main/java/ru/dragonestia/msb3/api/module/FlatWorldModule.java @@ -12,6 +12,7 @@ import net.minestom.server.instance.block.Block; import net.minestom.server.world.DimensionType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import ru.dragonestia.msb3.api.world.WorldFactory; import java.util.concurrent.CompletableFuture; @@ -29,7 +30,7 @@ public class FlatWorldModule { .ambientLight(2f) .build()); - var instance = MinecraftServer.getInstanceManager().createInstanceContainer(dimension, new IChunkLoader() { + var factory = WorldFactory.custom(dimension, new IChunkLoader() { @Override public @NotNull CompletableFuture<@Nullable Chunk> loadChunk(@NotNull Instance instance, int chunkX, int chunkZ) { return CompletableFuture.supplyAsync(() -> { @@ -57,13 +58,15 @@ public class FlatWorldModule { } }); + var world = factory.createWorldSync(); + MinecraftServer.getGlobalEventHandler().addListener(AsyncPlayerConfigurationEvent.class, event -> { var player = event.getPlayer(); player.setRespawnPoint(new Pos(0, 11, 0)); player.setGameMode(gameMode); - event.setSpawningInstance(instance); + event.setSpawningInstance(world.getInstance()); }); } }