diff --git a/src/main/java/net/minecraft/world/WorldServer.java b/src/main/java/net/minecraft/world/WorldServer.java index bf0f518..f591798 100644 --- a/src/main/java/net/minecraft/world/WorldServer.java +++ b/src/main/java/net/minecraft/world/WorldServer.java @@ -79,6 +79,7 @@ import org.ultramine.server.event.ServerWorldEventProxy; import org.ultramine.server.event.WorldUpdateObjectType; import org.ultramine.server.mobspawn.MobSpawnManager; +import org.ultramine.server.util.BasicTypeParser; public class WorldServer extends World { @@ -1068,12 +1069,17 @@ { this.config = config; if(isServer) - initOnServer(); + applyConfig(); } @SideOnly(Side.SERVER) - private void initOnServer() + public void applyConfig() { + difficultySetting = BasicTypeParser.parseDifficulty(config.settings.difficulty); + setAllowedSpawnTypes(config.mobSpawn.spawnMonsters, config.mobSpawn.spawnAnimals); + getGameRules().setOrCreateGameRule("doDaylightCycle", Boolean.toString(config.settings.time != WorldTime.FIXED)); + getGameRules().setOrCreateGameRule("doMobSpawning", Boolean.toString(config.mobSpawn.spawnEngine != WorldConfig.MobSpawn.MobSpawnEngine.NONE)); + if(config.mobSpawn.spawnEngine == WorldConfig.MobSpawn.MobSpawnEngine.NEW) { if(mobSpawner == null) diff --git a/src/main/java/org/ultramine/server/world/WorldDescriptor.java b/src/main/java/org/ultramine/server/world/WorldDescriptor.java index c3ae954..9fb058b 100644 --- a/src/main/java/org/ultramine/server/world/WorldDescriptor.java +++ b/src/main/java/org/ultramine/server/world/WorldDescriptor.java @@ -218,16 +218,12 @@ @SideOnly(Side.SERVER) private void applyConfig() { - world.difficultySetting = BasicTypeParser.parseDifficulty(config.settings.difficulty); - world.setAllowedSpawnTypes(config.mobSpawn.spawnMonsters, config.mobSpawn.spawnAnimals); - world.getGameRules().setOrCreateGameRule("doDaylightCycle", Boolean.toString(config.settings.time != WorldTime.FIXED)); - world.getGameRules().setOrCreateGameRule("doMobSpawning", Boolean.toString(config.mobSpawn.spawnEngine != MobSpawnEngine.NONE)); world.setConfig(config); } void onUnload() { - ((WorldServer)world).theChunkProviderServer.setWorldUnloaded(); + world.theChunkProviderServer.setWorldUnloaded(); world = null; if(getState().isLoaded()) setState(WorldState.AVAILABLE);