diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/net/elytrium/limboauth/LimboAuth.java | 19 | ||||
-rw-r--r-- | src/main/java/net/elytrium/limboauth/Settings.java | 10 |
2 files changed, 9 insertions, 20 deletions
diff --git a/src/main/java/net/elytrium/limboauth/LimboAuth.java b/src/main/java/net/elytrium/limboauth/LimboAuth.java index 1dcd22b..de03a22 100644 --- a/src/main/java/net/elytrium/limboauth/LimboAuth.java +++ b/src/main/java/net/elytrium/limboauth/LimboAuth.java @@ -87,8 +87,6 @@ import net.elytrium.limboapi.api.Limbo; import net.elytrium.limboapi.api.LimboFactory; import net.elytrium.limboapi.api.chunk.VirtualWorld; import net.elytrium.limboapi.api.command.LimboCommandMeta; -import net.elytrium.limboapi.api.file.SchematicFile; -import net.elytrium.limboapi.api.file.StructureFile; import net.elytrium.limboapi.api.file.WorldFile; import net.elytrium.limboauth.command.ChangePasswordCommand; import net.elytrium.limboauth.command.DestroySessionCommand; @@ -351,22 +349,7 @@ public class LimboAuth { if (Settings.IMP.MAIN.LOAD_WORLD) { try { Path path = this.dataDirectory.resolve(Settings.IMP.MAIN.WORLD_FILE_PATH); - WorldFile file; - switch (Settings.IMP.MAIN.WORLD_FILE_TYPE) { - case "schematic": { - file = new SchematicFile(path); - break; - } - case "structure": { - file = new StructureFile(path); - break; - } - default: { - LOGGER.error("Incorrect world file type."); - this.server.shutdown(); - return; - } - } + WorldFile file = this.factory.openWorldFile(Settings.IMP.MAIN.WORLD_FILE_TYPE, path); Settings.MAIN.WORLD_COORDS coords = Settings.IMP.MAIN.WORLD_COORDS; file.toWorld(this.factory, authWorld, coords.X, coords.Y, coords.Z, Settings.IMP.MAIN.WORLD_LIGHT_LEVEL); diff --git a/src/main/java/net/elytrium/limboauth/Settings.java b/src/main/java/net/elytrium/limboauth/Settings.java index 17d5782..68bbe17 100644 --- a/src/main/java/net/elytrium/limboauth/Settings.java +++ b/src/main/java/net/elytrium/limboauth/Settings.java @@ -27,6 +27,7 @@ import net.elytrium.commons.config.ConfigSerializer; import net.elytrium.commons.config.YamlConfig; import net.elytrium.commons.kyori.serialization.Serializers; import net.elytrium.limboapi.api.chunk.Dimension; +import net.elytrium.limboapi.api.file.BuiltInWorldFileType; import net.elytrium.limboapi.api.player.GameMode; import net.elytrium.limboauth.command.CommandPermissionState; import net.elytrium.limboauth.dependencies.DatabaseLibrary; @@ -151,8 +152,13 @@ public class Settings extends YamlConfig { public String ALLOWED_NICKNAME_REGEX = "^[A-Za-z0-9_]{3,16}$"; public boolean LOAD_WORLD = false; - @Comment("World file type: \"schematic\" (1.12.2 and lower, not recommended), \"structure\" block .nbt (any Minecraft version is supported, but the latest one is recommended).") - public String WORLD_FILE_TYPE = "structure"; + @Comment({ + "World file type:", + " SCHEMATIC (MCEdit .schematic, 1.12.2 and lower, not recommended)", + " STRUCTURE (structure block .nbt, any Minecraft version is supported, but the latest one is recommended).", + " WORLDEDIT_SCHEM (WorldEdit .schem, any Minecraft version is supported, but the latest one is recommended)." + }) + public BuiltInWorldFileType WORLD_FILE_TYPE = BuiltInWorldFileType.STRUCTURE; public String WORLD_FILE_PATH = "world.nbt"; public boolean DISABLE_FALLING = true; |