Beispiel #1
0
        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;
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 private void GenerateConfig(ICoreAPI api, MeteoricExpansionConfig previousConfig)
 {
     api.StoreModConfig <MeteoricExpansionConfig>(new MeteoricExpansionConfig(previousConfig), "MeteoricExpansionConfig.json");
 }