diff --git a/src/main/java/org/ultramine/server/UltramineServerConfig.java b/src/main/java/org/ultramine/server/UltramineServerConfig.java index e6de13c..065b902 100644 --- a/src/main/java/org/ultramine/server/UltramineServerConfig.java +++ b/src/main/java/org/ultramine/server/UltramineServerConfig.java @@ -1,60 +1,45 @@ -package org.ultramine.server; - -import java.util.LinkedHashMap; -import java.util.Map; - -public class UltramineServerConfig -{ - public WatchdogThreadConfig watchdogThread = new WatchdogThreadConfig(); - public VanillaConfig vanilla = new VanillaConfig(); - public boolean enableChunkLoaders = true; - public int chunkUpdateRadius = 7; - - public static class WatchdogThreadConfig - { - public int timeout = 120; - public boolean restart = true; - } - - - - public static class VanillaConfig - { - public String generatorSettings = ""; - public int opPermissionLevel = 4; - public boolean allowNether = true; - public String levelName = "world"; - public boolean enableQuery = false; - public int queryPort = 25565; - public boolean allowFlight = false; - public boolean announcePlayerAchievements = true; - public int serverPort = 25565; - public String levelType = "DEFAULT"; - public boolean enableRcon = false; - public int rconPort = 0; - public String rconPassword = ""; - public boolean forceGamemode = false; - public String levelSeed = ""; - public String serverIp = ""; - public int maxBuildHeight = 256; - public boolean spawnNPCs = true; - public boolean whiteList = false; - public boolean spawnAnimals = true; - public boolean snooperEnabled = true; - public boolean hardcore = false; - public boolean onlineMode = true; - public String resourcePack = ""; - public boolean pvp = true; - public int difficulty = 1; - public boolean enableCommandBlock = false; - public int playerIdleTimeout = 0; - public int gamemode = 0; - public int maxPlayers = 20; - public boolean spawnMonsters = true; - public int viewDistance = 10; - public boolean generateStructures = true; - public String motd = "A Minecraft Server"; - - public Map unresolved = new LinkedHashMap(); - } -} +package org.ultramine.server; + +import java.util.LinkedHashMap; +import java.util.Map; + +public class UltramineServerConfig +{ + public WatchdogThreadConfig watchdogThread = new WatchdogThreadConfig(); + public VanillaConfig vanilla = new VanillaConfig(); + + public static class WatchdogThreadConfig + { + public int timeout = 120; + public boolean restart = true; + } + + + + public static class VanillaConfig + { + public int opPermissionLevel = 4; + public boolean enableQuery = false; + public int queryPort = 25565; + public boolean allowFlight = false; + public boolean announcePlayerAchievements = true; + public int serverPort = 25565; + public boolean enableRcon = false; + public int rconPort = 0; + public String rconPassword = ""; + public boolean forceGamemode = false; + public String serverIp = ""; + public boolean whiteList = false; + public boolean snooperEnabled = true; + public boolean hardcore = false; + public boolean onlineMode = true; + public String resourcePack = ""; + public boolean enableCommandBlock = false; + public int playerIdleTimeout = 0; + public int gamemode = 0; + public int maxPlayers = 20; + public String motd = "A Minecraft Server"; + + public Map unresolved = new LinkedHashMap(); + } +} diff --git a/src/main/java/org/ultramine/server/WorldsConfig.java b/src/main/java/org/ultramine/server/WorldsConfig.java new file mode 100644 index 0000000..0ab10f1 --- /dev/null +++ b/src/main/java/org/ultramine/server/WorldsConfig.java @@ -0,0 +1,49 @@ +package org.ultramine.server; + +import java.util.HashMap; +import java.util.Map; + +public class WorldsConfig +{ + public WorldConfig global = new WorldConfig(); + public Map worlds = new HashMap(); + + public static class WorldConfig + { + public int dimension; + public Generation generation; + public MobSpawn mobSpawn; + public Settings settings; + public ChunkLoading chunkLoading; + + public static class Generation + { + public String seed; + public int providerID = 0; + public String levelType = "DEFAULT"; + public String generatorSettings = ""; + public boolean generateStructures = true; + } + + public static class MobSpawn + { + public boolean spawnAnimals = true; + public boolean spawnMonsters = true; + public boolean spawnNPCs = true; + } + + public static class Settings + { + public int difficulty = 1; + public boolean pvp = true; + public int maxBuildHeight = 256; + } + + public static class ChunkLoading + { + public int viewDistance = 10; + public int chunkUpdateRadius = 7; + public boolean enableChunkLoaders = true; + } + } +} diff --git a/src/main/resources/org/ultramine/defaults/defaultworlds.yml b/src/main/resources/org/ultramine/defaults/defaultworlds.yml new file mode 100644 index 0000000..24abf3c --- /dev/null +++ b/src/main/resources/org/ultramine/defaults/defaultworlds.yml @@ -0,0 +1,39 @@ +global: &global + dimension: 0 + generation: &global_gen + generateStructures: true + generatorSettings: '' + levelType: DEFAULT + providerID: 0 + seed: {seed} + mobSpawn: + spawnAnimals: true + spawnMonsters: true + spawnNPCs: true + settings: + difficulty: 1 + maxBuildHeight: 256 + pvp: true + chunkLoading: + viewDistance: 10 + chunkUpdateRadius: 7 + enableChunkLoaders: true +worlds: + world: + <<: *global + dimension: 0 + generation: + <<: *global_gen + providerID: 0 + world_nether: + <<: *global + dimension: -1 + generation: + <<: *global_gen + providerID: -1 + world_the_end: + <<: *global + dimension: 1 + generation: + <<: *global_gen + providerID: 1