public MeteoricExpansionConfig(MeteoricExpansionConfig previousConfig) { //-- The following options affect falling meteors --// DisableFallingMeteors = previousConfig.DisableFallingMeteors; Destructive = previousConfig.Destructive; ClaimsProtected = previousConfig.ClaimsProtected; MinimumMeteorHorizontalSpeed = previousConfig.MinimumMeteorHorizontalSpeed; MaximumMeteorHorizontalSpeed = previousConfig.MaximumMeteorHorizontalSpeed; MinimumMeteorVerticalSpeed = previousConfig.MinimumMeteorVerticalSpeed; MaximumMeteorVerticalSpeed = previousConfig.MaximumMeteorVerticalSpeed; MinimumMinutesBetweenMeteorSpawns = previousConfig.MinimumMinutesBetweenMeteorSpawns; MaximumMinutesBetweenMeteorSpawns = previousConfig.MaximumMinutesBetweenMeteorSpawns; MinimumSpawnDistanceInChunks = previousConfig.MinimumSpawnDistanceInChunks; MaximumSpawnDistanceInChunks = previousConfig.MaximumSpawnDistanceInChunks; MinimumMeteorLifespanInSeconds = previousConfig.MinimumMeteorLifespanInSeconds; MaximumMeteorLifespanInSeconds = previousConfig.MaximumMeteorLifespanInSeconds; MinimumCraterSmoulderTimeInMinutes = previousConfig.MinimumCraterSmoulderTimeInMinutes; MaximumCraterSmoulderTimeInMinutes = previousConfig.MaximumCraterSmoulderTimeInMinutes; //-- The following options affect meteor showers --// DisableShowers = previousConfig.DisableShowers; MinimumMinutesBetweenShowers = previousConfig.MinimumMinutesBetweenShowers; MaximumMinutesBetweenShowers = previousConfig.MaximumMinutesBetweenShowers; MinimumShowerHorizontalSpeed = previousConfig.MinimumShowerHorizontalSpeed; MaximumShowerHorizontalSpeed = previousConfig.MaximumShowerHorizontalSpeed; MinimumShowerVerticalSpeed = previousConfig.MinimumShowerVerticalSpeed; MaximumShowerVerticalSpeed = previousConfig.MaximumShowerVerticalSpeed; MinimumShowerSpawnDistanceInChunks = previousConfig.MinimumShowerSpawnDistanceInChunks; MaximumShowerSpawnDistanceInChunks = previousConfig.MaximumShowerSpawnDistanceInChunks; MinimumShowerDurationInMinutes = previousConfig.MinimumShowerDurationInMinutes; MaximumShowerDurationInMinutes = previousConfig.MaximumShowerDurationInMinutes; MaxMeteorsPerShower = previousConfig.MaxMeteorsPerShower; }
public void ReadConfig(ICoreAPI api) { try { config = LoadConfig(api); if (config == null) { GenerateConfig(api); config = LoadConfig(api); } else { GenerateConfig(api, config); } } catch { GenerateConfig(api); config = LoadConfig(api); } api.World.Config.SetBool("Destructive", config.Destructive); api.World.Config.SetBool("ClaimsProtected", config.ClaimsProtected); api.World.Config.SetBool("DisableFallingMeteors", config.DisableFallingMeteors); api.World.Config.SetBool("DisableShowers", config.DisableShowers); api.World.Config.SetInt("MinimumMeteorHorizontalSpeed", config.MinimumMeteorHorizontalSpeed); api.World.Config.SetInt("MaximumMeteorHorizontalSpeed", config.MaximumMeteorHorizontalSpeed); api.World.Config.SetInt("MinimumMeteorVerticalSpeed", config.MinimumMeteorVerticalSpeed); api.World.Config.SetInt("MaximumMeteorVerticalSpeed", config.MaximumMeteorVerticalSpeed); api.World.Config.SetInt("MinimumMinutesBetweenMeteorSpawns", config.MinimumMinutesBetweenMeteorSpawns); api.World.Config.SetInt("MaximumMinutesBetweenMeteorSpawns", config.MaximumMinutesBetweenMeteorSpawns); api.World.Config.SetInt("MinimumSpawnDistanceInChunks", config.MinimumSpawnDistanceInChunks); api.World.Config.SetInt("MaximumSpawnDistanceInChunks", config.MaximumSpawnDistanceInChunks); api.World.Config.SetInt("MinimumMeteorLifespanInSeconds", config.MinimumMeteorLifespanInSeconds); api.World.Config.SetInt("MaximumMeteorLifespanInSeconds", config.MaximumMeteorLifespanInSeconds); api.World.Config.SetInt("MinimumCraterSmoulderTimeInMinutes", config.MinimumCraterSmoulderTimeInMinutes); api.World.Config.SetInt("MaximumCraterSmoulderTimeInMinutes", config.MaximumCraterSmoulderTimeInMinutes); api.World.Config.SetInt("MinimumShowerHorizontalSpeed", config.MinimumShowerHorizontalSpeed); api.World.Config.SetInt("MaximumShowerHorizontalSpeed", config.MaximumShowerHorizontalSpeed); api.World.Config.SetInt("MinimumShowerVerticalSpeed", config.MinimumShowerVerticalSpeed); api.World.Config.SetInt("MaximumShowerVerticalSpeed", config.MaximumShowerVerticalSpeed); api.World.Config.SetInt("MinimumMinutesBetweenShowers", config.MinimumMinutesBetweenShowers); api.World.Config.SetInt("MaximumMinutesBetweenShowers", config.MaximumMinutesBetweenShowers); api.World.Config.SetInt("MinimumShowerSpawnDistanceInChunks", config.MinimumShowerSpawnDistanceInChunks); api.World.Config.SetInt("MaximumShowerSpawnDistanceInChunks", config.MaximumShowerSpawnDistanceInChunks); api.World.Config.SetInt("MinimumShowerDurationInMinutes", config.MinimumShowerDurationInMinutes); api.World.Config.SetInt("MaximumShowerDurationInMinutes", config.MaximumShowerDurationInMinutes); api.World.Config.SetInt("MaxMeteorsPerShower", config.MaxMeteorsPerShower); }
private void GenerateConfig(ICoreAPI api, MeteoricExpansionConfig previousConfig) { api.StoreModConfig <MeteoricExpansionConfig>(new MeteoricExpansionConfig(previousConfig), "MeteoricExpansionConfig.json"); }