diff --git a/src/main/java/net/minecraft/network/rcon/RConThreadClient.java b/src/main/java/net/minecraft/network/rcon/RConThreadClient.java index fde8ce5..dee9ad7 100644 --- a/src/main/java/net/minecraft/network/rcon/RConThreadClient.java +++ b/src/main/java/net/minecraft/network/rcon/RConThreadClient.java @@ -38,7 +38,7 @@ this.running = false; } - this.rconPassword = ConfigurationHandler.getServerConfig().vanilla.rconPassword; + this.rconPassword = ConfigurationHandler.getServerConfig().listen.rcon.password; this.logInfo("Rcon connection from: " + p_i1537_2_.getInetAddress()); } diff --git a/src/main/java/net/minecraft/network/rcon/RConThreadMain.java b/src/main/java/net/minecraft/network/rcon/RConThreadMain.java index 6bb657d..519f38f 100644 --- a/src/main/java/net/minecraft/network/rcon/RConThreadMain.java +++ b/src/main/java/net/minecraft/network/rcon/RConThreadMain.java @@ -29,8 +29,8 @@ public RConThreadMain(IServer p_i1538_1_) { super(p_i1538_1_, "RCON Listener"); - this.rconPort = ConfigurationHandler.getServerConfig().vanilla.rconPort; - this.rconPassword = ConfigurationHandler.getServerConfig().vanilla.rconPassword; + this.rconPort = ConfigurationHandler.getServerConfig().listen.rcon.port; + this.rconPassword = ConfigurationHandler.getServerConfig().listen.rcon.password; this.hostname = p_i1538_1_.getHostname(); this.serverPort = p_i1538_1_.getPort(); @@ -38,7 +38,7 @@ { this.rconPort = this.serverPort + 10; this.logInfo("Setting default rcon port to " + this.rconPort); - ConfigurationHandler.getServerConfig().vanilla.rconPort = rconPort; + ConfigurationHandler.getServerConfig().listen.rcon.port = rconPort; p_i1538_1_.saveProperties(); } diff --git a/src/main/java/net/minecraft/network/rcon/RConThreadQuery.java b/src/main/java/net/minecraft/network/rcon/RConThreadQuery.java index ec70bcc..22b7baa 100644 --- a/src/main/java/net/minecraft/network/rcon/RConThreadQuery.java +++ b/src/main/java/net/minecraft/network/rcon/RConThreadQuery.java @@ -47,7 +47,7 @@ public RConThreadQuery(IServer p_i1536_1_) { super(p_i1536_1_, "Query Listener"); - this.queryPort = ConfigurationHandler.getServerConfig().vanilla.queryPort; + this.queryPort = ConfigurationHandler.getServerConfig().listen.query.port; this.serverHostname = p_i1536_1_.getHostname(); this.serverPort = p_i1536_1_.getPort(); this.serverMotd = p_i1536_1_.getMotd(); @@ -79,7 +79,7 @@ { this.queryPort = this.serverPort; this.logInfo("Setting default query port to " + this.queryPort); - ConfigurationHandler.getServerConfig().vanilla.queryPort = queryPort; + ConfigurationHandler.getServerConfig().listen.query.port = queryPort; p_i1536_1_.setProperty("debug", Boolean.valueOf(false)); p_i1536_1_.saveProperties(); } diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java b/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java index b985062..c9813c8 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java @@ -24,8 +24,8 @@ { super(p_i1503_1_); this.func_152611_a(ConfigurationHandler.getWorldsConfig().global.chunkLoading.viewDistance); - this.maxPlayers = ConfigurationHandler.getServerConfig().vanilla.maxPlayers; - this.setWhiteListEnabled(ConfigurationHandler.getServerConfig().vanilla.whiteList); + this.maxPlayers = ConfigurationHandler.getServerConfig().settings.player.maxPlayers; + this.setWhiteListEnabled(ConfigurationHandler.getServerConfig().settings.player.whiteList); if (!p_i1503_1_.isSinglePlayer()) { @@ -48,7 +48,7 @@ public void setWhiteListEnabled(boolean p_72371_1_) { super.setWhiteListEnabled(p_72371_1_); - ConfigurationHandler.getServerConfig().vanilla.whiteList = p_72371_1_; + ConfigurationHandler.getServerConfig().settings.player.whiteList = p_72371_1_; this.getServerInstance().saveProperties(); } diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java index 1e735b7..781ef87 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -44,7 +44,7 @@ import org.ultramine.permission.internal.ServerPermissionManager; import org.ultramine.server.ConfigurationHandler; import org.ultramine.server.PermissionHandler; -import org.ultramine.server.UltramineServerConfig.VanillaConfig; +import org.ultramine.server.UltramineServerConfig; import org.ultramine.server.WorldsConfig.WorldConfig; import org.ultramine.server.util.BasicTypeParser; @@ -55,7 +55,7 @@ public final List pendingCommandList = Collections.synchronizedList(new ArrayList()); private RConThreadQuery theRConThreadQuery; private RConThreadMain theRConThreadMain; - private VanillaConfig settings; + private UltramineServerConfig settings; private boolean canSpawnStructures; private WorldSettings.GameType gameType; private boolean guiIsEnabled; @@ -129,7 +129,7 @@ FMLCommonHandler.instance().onServerStart(this); field_155771_h.info("Loading properties"); - settings = ConfigurationHandler.getServerConfig().vanilla; + settings = ConfigurationHandler.getServerConfig(); WorldConfig globalWConf = ConfigurationHandler.getWorldsConfig().global; if (this.isSinglePlayer()) @@ -138,21 +138,21 @@ } else { - this.setOnlineMode(settings.onlineMode); - this.setHostname(settings.serverIp); + this.setOnlineMode(settings.settings.authorization.onlineMode); + this.setHostname(settings.listen.serverIP); } this.setCanSpawnAnimals(globalWConf.mobSpawn.spawnAnimals); this.setCanSpawnNPCs(globalWConf.mobSpawn.spawnNPCs); this.setAllowPvp(globalWConf.settings.pvp); - this.setAllowFlight(settings.allowFlight); - this.func_155759_m(settings.resourcePack); - this.setMOTD(settings.motd); - this.setForceGamemode(settings.forceGamemode); - this.func_143006_e(settings.playerIdleTimeout); + this.setAllowFlight(settings.settings.player.allowFlight); + this.func_155759_m(settings.settings.other.resourcePack); + this.setMOTD(settings.settings.messages.motd); + this.setForceGamemode(settings.settings.player.forceGamemode); + this.func_143006_e(settings.settings.player.playerIdleTimeout); this.canSpawnStructures = globalWConf.generation.generateStructures; - int i = settings.gamemode; + int i = settings.settings.player.gamemode; this.gameType = WorldSettings.getGameTypeById(i); field_155771_h.info("Default game type: " + this.gameType); InetAddress inetaddress = null; @@ -164,7 +164,7 @@ if (this.getServerPort() < 0) { - this.setServerPort(settings.serverPort); + this.setServerPort(settings.listen.minecraft.port); } field_155771_h.info("Generating keypair"); @@ -255,14 +255,14 @@ String s3 = String.format("%.3fs", new Object[] {Double.valueOf((double)i1 / 1.0E9D)}); field_155771_h.info("Done (" + s3 + ")! For help, type \"help\" or \"?\""); - if (settings.enableQuery) + if (settings.listen.query.enabled) { field_155771_h.info("Starting GS4 status listener"); this.theRConThreadQuery = new RConThreadQuery(this); this.theRConThreadQuery.startThread(); } - if (settings.enableRcon) + if (settings.listen.rcon.enabled) { field_155771_h.info("Starting remote control listener"); this.theRConThreadMain = new RConThreadMain(this); @@ -290,7 +290,7 @@ public boolean isHardcore() { - return settings.hardcore; + return settings.settings.other.hardcore; } protected void finalTick(CrashReport par1CrashReport) {} @@ -348,7 +348,7 @@ public boolean isSnooperEnabled() { - return settings.snooperEnabled; + return settings.settings.other.snooperEnabled; } public void addPendingCommand(String p_71331_1_, ICommandSender p_71331_2_) @@ -378,25 +378,25 @@ public int getIntProperty(String par1Str, int par2) { logInfo("Attempted to get server config unresolved integer parameter " + par1Str); - return settings.unresolved.containsKey(par1Str) ? (Integer)settings.unresolved.get(par1Str) : par2; + return settings.vanilla.unresolved.containsKey(par1Str) ? (Integer)settings.vanilla.unresolved.get(par1Str) : par2; } public String getStringProperty(String par1Str, String par2Str) { logInfo("Attempted to get server config unresolved string parameter " + par1Str); - return settings.unresolved.containsKey(par1Str) ? (String)settings.unresolved.get(par1Str) : par2Str; + return settings.vanilla.unresolved.containsKey(par1Str) ? (String)settings.vanilla.unresolved.get(par1Str) : par2Str; } public boolean getBooleanProperty(String par1Str, boolean par2) { logInfo("Attempted to get server config unresolved boolean parameter " + par1Str); - return settings.unresolved.containsKey(par1Str) ? (Boolean)settings.unresolved.get(par1Str) : par2; + return settings.vanilla.unresolved.containsKey(par1Str) ? (Boolean)settings.vanilla.unresolved.get(par1Str) : par2; } public void setProperty(String par1Str, Object par2Obj) { logInfo("Attempted to set server config unresolved parameter " + par1Str); - settings.unresolved.put(par1Str, par2Obj); + settings.vanilla.unresolved.put(par1Str, par2Obj); } public void saveProperties() @@ -427,7 +427,7 @@ public boolean isCommandBlockEnabled() { - return settings.enableCommandBlock; + return settings.settings.other.enableCommandBlock; } public int getSpawnProtectionSize() @@ -471,7 +471,7 @@ public void func_143006_e(int par1) { super.func_143006_e(par1); - settings.playerIdleTimeout = par1; + settings.settings.player.playerIdleTimeout = par1; this.saveProperties(); } @@ -482,7 +482,7 @@ public boolean func_147136_ar() { - return settings.announcePlayerAchievements; + return settings.settings.messages.announcePlayerAchievements; } protected boolean func_152368_aE() throws IOException diff --git a/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java index 6413481..e0ead6e 100644 --- a/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java +++ b/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java @@ -450,7 +450,7 @@ } EntityPlayerMP entityplayermp1 = new EntityPlayerMP(this.mcServer, this.mcServer.worldServerForDimension(p_72368_1_.dimension), p_72368_1_.getGameProfile(), (ItemInWorldManager)object); - WarpLocation spawnWarp = getDataLoader().getWarp(getServerInstance().isSinglePlayer() ? "spawn" : ConfigurationHandler.getServerConfig().spawnLocations.deathSpawn); + WarpLocation spawnWarp = getDataLoader().getWarp(getServerInstance().isSinglePlayer() ? "spawn" : ConfigurationHandler.getServerConfig().settings.spawnLocations.deathSpawn); WarpLocation spawn = (spawnWarp != null ? spawnWarp : getDataLoader().getWarp("spawn")).randomize(); entityplayermp1.setLocationAndAngles(spawn.x, spawn.y, spawn.z, spawn.yaw, spawn.pitch); entityplayermp1.playerNetServerHandler = p_72368_1_.playerNetServerHandler; @@ -461,7 +461,7 @@ this.func_72381_a(entityplayermp1, p_72368_1_, worldserver); ChunkCoordinates chunkcoordinates1; - if (chunkcoordinates != null && (getServerInstance().isSinglePlayer() || ConfigurationHandler.getServerConfig().spawnLocations.respawnOnBed)) + if (chunkcoordinates != null && (getServerInstance().isSinglePlayer() || ConfigurationHandler.getServerConfig().settings.spawnLocations.respawnOnBed)) { chunkcoordinates1 = EntityPlayer.verifyRespawnCoordinates(this.mcServer.worldServerForDimension(p_72368_1_.dimension), chunkcoordinates, flag1); diff --git a/src/main/java/org/ultramine/server/Teleporter.java b/src/main/java/org/ultramine/server/Teleporter.java index 38f67f7..869f592 100644 --- a/src/main/java/org/ultramine/server/Teleporter.java +++ b/src/main/java/org/ultramine/server/Teleporter.java @@ -92,7 +92,7 @@ if(isServer) { - player.getData().core().setNextTeleportationTime(System.currentTimeMillis() + ConfigurationHandler.getServerConfig().teleportation.cooldown*1000); + player.getData().core().setNextTeleportationTime(System.currentTimeMillis() + ConfigurationHandler.getServerConfig().settings.teleportation.cooldown*1000); player.getData().core().setTeleporter(null); } } @@ -114,7 +114,7 @@ { this.target = target; this.dst = dst; - int delay = ConfigurationHandler.getServerConfig().teleportation.delay; + int delay = ConfigurationHandler.getServerConfig().settings.teleportation.delay; timeEnd = System.currentTimeMillis() + delay*1000; target.addChatMessage(new ChatComponentTranslation("teleporter.delay", delay).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD))); diff --git a/src/main/java/org/ultramine/server/UltramineServerConfig.java b/src/main/java/org/ultramine/server/UltramineServerConfig.java index bc63786..c02f623 100644 --- a/src/main/java/org/ultramine/server/UltramineServerConfig.java +++ b/src/main/java/org/ultramine/server/UltramineServerConfig.java @@ -1,76 +1,119 @@ package org.ultramine.server; +import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; public class UltramineServerConfig { - public WatchdogThreadConfig watchdogThread = new WatchdogThreadConfig(); - public Teleportation teleportation = new Teleportation(); - public SpawnLocations spawnLocations = new SpawnLocations(); - public VanillaConfig vanilla = new VanillaConfig(); - public Map databases; - public SQLServerStorage inSQLServerStorage = new SQLServerStorage(); + public ListenConf listen = new ListenConf(); + public SettingsConf settings = new SettingsConf(); + public Map databases = new HashMap(); + public VanillaConf vanilla = new VanillaConf(); - public static class WatchdogThreadConfig + public static class ListenConf { - public int timeout = 120; - public boolean restart = true; + public String serverIP = ""; + public MinecraftConf minecraft = new MinecraftConf(); + public QueryConf query = new QueryConf(); + public RConConf rcon = new RConConf(); + + public static class MinecraftConf + { + public int port = 25565; + } + + public static class QueryConf + { + public boolean enabled = false; + public int port = 25565; + } + + public static class RConConf + { + public boolean enabled = false; + public int port = 25565; + public String password = ""; + } } - - public static class Teleportation + + public static class SettingsConf { - public int cooldown = 60; - public int delay = 5; + public AuthorizationConf authorization = new AuthorizationConf(); + public PlayerConf player = new PlayerConf(); + public OtherConf other = new OtherConf(); + public SpawnLocationsConf spawnLocations = new SpawnLocationsConf(); + public TeleportationConf teleportation = new TeleportationConf(); + public MessagesConf messages = new MessagesConf(); + public WatchdogThreadConf watchdogThread = new WatchdogThreadConf(); + public SQLServerStorageConf inSQLServerStorage = new SQLServerStorageConf(); + + public static class AuthorizationConf + { + public boolean onlineMode = true; + } + + public static class PlayerConf + { + public int playerIdleTimeout = 0; + public int gamemode = 0; + public int maxPlayers = 20; + public boolean allowFlight = false; + public boolean forceGamemode = false; + public boolean whiteList = false; + } + + public static class OtherConf + { + public boolean snooperEnabled = true; + public boolean hardcore = false; + public String resourcePack = ""; + public boolean enableCommandBlock = false; + } + + public static class SpawnLocationsConf + { + public String firstSpawn = "spawn"; + public String deathSpawn = "spawn"; + public boolean respawnOnBed = true; + } + + public static class TeleportationConf + { + public int cooldown = 60; + public int delay = 5; + } + + public static class MessagesConf + { + public boolean announcePlayerAchievements = true; + public String motd = "A Minecraft Server"; + } + + public static class WatchdogThreadConf + { + public int timeout = 120; + public boolean restart = true; + } + + public static class SQLServerStorageConf + { + public boolean enabled = false; + public String database = "global"; + public String tablePrefix = "mc_"; + } } - - public static class SpawnLocations - { - public String firstSpawn = "spawn"; - public String deathSpawn = "spawn"; - public boolean respawnOnBed = true; - } - - public static class Database + + public static class DatabaseConf { public String url; //jdbc:mysql://localhost:3306/databasename public String username; public String password; public int maxConnections; } - - public static class SQLServerStorage - { - public boolean enabled = false; - public String database = "global"; - public String tablePrefix = "mc_"; - } - - - - public static class VanillaConfig - { - 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(); + public static class VanillaConf + { + public Map unresolved = new LinkedHashMap(); } } diff --git a/src/main/java/org/ultramine/server/WatchdogThread.java b/src/main/java/org/ultramine/server/WatchdogThread.java index b4cd57b..f9c65ca 100644 --- a/src/main/java/org/ultramine/server/WatchdogThread.java +++ b/src/main/java/org/ultramine/server/WatchdogThread.java @@ -40,7 +40,7 @@ public static void doStart() { - doStart(ConfigurationHandler.getServerConfig().watchdogThread.timeout, ConfigurationHandler.getServerConfig().watchdogThread.restart); + doStart(ConfigurationHandler.getServerConfig().settings.watchdogThread.timeout, ConfigurationHandler.getServerConfig().settings.watchdogThread.restart); } public static void tick() diff --git a/src/main/java/org/ultramine/server/data/Databases.java b/src/main/java/org/ultramine/server/data/Databases.java index 0cc9271..2a71538 100644 --- a/src/main/java/org/ultramine/server/data/Databases.java +++ b/src/main/java/org/ultramine/server/data/Databases.java @@ -19,9 +19,9 @@ public static void init() { - for(Map.Entry ent : ConfigurationHandler.getServerConfig().databases.entrySet()) + for(Map.Entry ent : ConfigurationHandler.getServerConfig().databases.entrySet()) { - UltramineServerConfig.Database info = ent.getValue(); + UltramineServerConfig.DatabaseConf info = ent.getValue(); BasicDataSource ds = new BasicDataSource(); if(info.url.startsWith("jdbc:mysql:")) diff --git a/src/main/java/org/ultramine/server/data/JDBCDataProvider.java b/src/main/java/org/ultramine/server/data/JDBCDataProvider.java index 3d511f8..568d522 100644 --- a/src/main/java/org/ultramine/server/data/JDBCDataProvider.java +++ b/src/main/java/org/ultramine/server/data/JDBCDataProvider.java @@ -54,14 +54,14 @@ { this.mgr = mgr; - String tablePrefix = ConfigurationHandler.getServerConfig().inSQLServerStorage.tablePrefix; + String tablePrefix = ConfigurationHandler.getServerConfig().settings.inSQLServerStorage.tablePrefix; tab_player_ids = tablePrefix + "player_ids"; tab_player_gamedata = tablePrefix + "player_gamedata"; tab_player_data = tablePrefix + "player_data"; tab_warps = tablePrefix + "warps"; tab_fastwarps = tablePrefix + "warps_fast"; - ds = Databases.getDataSource(ConfigurationHandler.getServerConfig().inSQLServerStorage.database); + ds = Databases.getDataSource(ConfigurationHandler.getServerConfig().settings.inSQLServerStorage.database); } @Override diff --git a/src/main/java/org/ultramine/server/data/ServerDataLoader.java b/src/main/java/org/ultramine/server/data/ServerDataLoader.java index b718d09..b81ee28 100644 --- a/src/main/java/org/ultramine/server/data/ServerDataLoader.java +++ b/src/main/java/org/ultramine/server/data/ServerDataLoader.java @@ -116,7 +116,7 @@ public void loadCache() { - dataProvider = isClient || !ConfigurationHandler.getServerConfig().inSQLServerStorage.enabled ? new NBTFileDataProvider(mgr) : new JDBCDataProvider(mgr); + dataProvider = isClient || !ConfigurationHandler.getServerConfig().settings.inSQLServerStorage.enabled ? new NBTFileDataProvider(mgr) : new JDBCDataProvider(mgr); dataProvider.init(); for(PlayerData data : dataProvider.loadAllPlayerData()) @@ -142,8 +142,8 @@ } if(!isClient) { - String firstSpawn = ConfigurationHandler.getServerConfig().spawnLocations.firstSpawn; - String deathSpawn = ConfigurationHandler.getServerConfig().spawnLocations.deathSpawn; + String firstSpawn = ConfigurationHandler.getServerConfig().settings.spawnLocations.firstSpawn; + String deathSpawn = ConfigurationHandler.getServerConfig().settings.spawnLocations.deathSpawn; if(!warps.containsKey(firstSpawn)) setWarp(firstSpawn, getWarp("spawn")); if(!warps.containsKey(deathSpawn)) setWarp(deathSpawn, getWarp("spawn")); } @@ -177,7 +177,7 @@ } if(nbt == null) //first login { - WarpLocation spawnWarp = getWarp(isClient ? "spawn" : ConfigurationHandler.getServerConfig().spawnLocations.firstSpawn); + WarpLocation spawnWarp = getWarp(isClient ? "spawn" : ConfigurationHandler.getServerConfig().settings.spawnLocations.firstSpawn); WarpLocation spawn = (spawnWarp != null ? spawnWarp : getWarp("spawn")).randomize(); player.setLocationAndAngles(spawn.x, spawn.y, spawn.z, spawn.yaw, spawn.pitch); }