refactor: updated default world module
This commit is contained in:
parent
3bd876a628
commit
e4fd8542da
@ -15,27 +15,33 @@ import java.util.UUID;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class PreloadedWorldModule {
|
public class DefaultWorldModule {
|
||||||
|
|
||||||
private static boolean used = false;
|
private static boolean used = false;
|
||||||
|
|
||||||
private PreloadedWorldModule() {}
|
private DefaultWorldModule() {}
|
||||||
|
|
||||||
public static void init(File worldDir, GameMode gameMode, Pos spawnPos) {
|
public static void init(File worldDir, GameMode gameMode, Pos spawnPos, boolean preloadAllChunks) {
|
||||||
init(worldDir, gameMode, () -> spawnPos);
|
init(worldDir, gameMode, () -> spawnPos, preloadAllChunks);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static synchronized void init(File worldDir, GameMode gameMode, Supplier<Pos> spawnPosSupplier) {
|
public static synchronized void init(File worldDir, GameMode gameMode, Supplier<Pos> spawnPosSupplier, boolean preloadAllChunks) {
|
||||||
if (used) return;
|
if (used) return;
|
||||||
used = true;
|
used = true;
|
||||||
|
|
||||||
var loadingWorld = MinecraftServer.getInstanceManager().createInstanceContainer();
|
var loadingWorld = MinecraftServer.getInstanceManager().createInstanceContainer();
|
||||||
loadingWorld.eventNode().addListener(PlayerMoveEvent.class, event -> event.setCancelled(true));
|
loadingWorld.eventNode().addListener(PlayerMoveEvent.class, event -> event.setCancelled(true));
|
||||||
|
|
||||||
var factory = WorldFactory.preloadedAnvil(worldDir);
|
WorldFactory factory;
|
||||||
var worlds = new ConcurrentHashMap<UUID, World>();
|
if (preloadAllChunks) {
|
||||||
|
var obj = WorldFactory.preloadedAnvil(worldDir);
|
||||||
|
obj.load();
|
||||||
|
factory = obj;
|
||||||
|
} else {
|
||||||
|
factory = WorldFactory.anvil(worldDir);
|
||||||
|
}
|
||||||
|
|
||||||
factory.load();
|
var worlds = new ConcurrentHashMap<UUID, World>();
|
||||||
|
|
||||||
MinecraftServer.getGlobalEventHandler().addListener(AsyncPlayerConfigurationEvent.class, event -> {
|
MinecraftServer.getGlobalEventHandler().addListener(AsyncPlayerConfigurationEvent.class, event -> {
|
||||||
var player = event.getPlayer();
|
var player = event.getPlayer();
|
||||||
Loading…
x
Reference in New Issue
Block a user