refactor: used WorldFactory for FlatWorldModule
This commit is contained in:
parent
2e5ca0ef0b
commit
50b8386b25
@ -12,6 +12,7 @@ import net.minestom.server.instance.block.Block;
|
|||||||
import net.minestom.server.world.DimensionType;
|
import net.minestom.server.world.DimensionType;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import ru.dragonestia.msb3.api.world.WorldFactory;
|
||||||
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@ -29,7 +30,7 @@ public class FlatWorldModule {
|
|||||||
.ambientLight(2f)
|
.ambientLight(2f)
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
var instance = MinecraftServer.getInstanceManager().createInstanceContainer(dimension, new IChunkLoader() {
|
var factory = WorldFactory.custom(dimension, new IChunkLoader() {
|
||||||
@Override
|
@Override
|
||||||
public @NotNull CompletableFuture<@Nullable Chunk> loadChunk(@NotNull Instance instance, int chunkX, int chunkZ) {
|
public @NotNull CompletableFuture<@Nullable Chunk> loadChunk(@NotNull Instance instance, int chunkX, int chunkZ) {
|
||||||
return CompletableFuture.supplyAsync(() -> {
|
return CompletableFuture.supplyAsync(() -> {
|
||||||
@ -57,13 +58,15 @@ public class FlatWorldModule {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var world = factory.createWorldSync();
|
||||||
|
|
||||||
MinecraftServer.getGlobalEventHandler().addListener(AsyncPlayerConfigurationEvent.class, event -> {
|
MinecraftServer.getGlobalEventHandler().addListener(AsyncPlayerConfigurationEvent.class, event -> {
|
||||||
var player = event.getPlayer();
|
var player = event.getPlayer();
|
||||||
|
|
||||||
player.setRespawnPoint(new Pos(0, 11, 0));
|
player.setRespawnPoint(new Pos(0, 11, 0));
|
||||||
player.setGameMode(gameMode);
|
player.setGameMode(gameMode);
|
||||||
|
|
||||||
event.setSpawningInstance(instance);
|
event.setSpawningInstance(world.getInstance());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user