Nouvelle map

Change plant maturity
This commit is contained in:
Hactarus 2020-04-25 17:37:18 +02:00
parent 27919d7e28
commit a06be0fc21
78 changed files with 15 additions and 6777 deletions

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsAgave : PlantLayerSettings
{
public PlantLayerSettingsAgave() : base()
{
this.Name = "Agave";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Agave"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Agave";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Agave : PlantEntity
{
public Agave(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Agave() { }
static PlantSpecies species;
public partial class AgaveSpecies : PlantSpecies
{
public AgaveSpecies() : base()
{
species = this;
this.InstanceType = typeof(Agave);
// Info
this.Decorative = false;
this.Name = "Agave";
this.DisplayName = Localizer.DoStr("Agave");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 4;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(AgaveLeavesItem), new Range(2, 6), 1),
new SpeciesResource(typeof(AgaveSeedItem), new Range(1, 2), 0.3f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(AgaveBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.GenerationSpawnCountPerPoint = new Range(5, 11);
this.GenerationSpawnPointMultiplier = 0.1f;
this.IdealTemperatureRange = new Range(0.75f, 0.85f);
this.IdealMoistureRange = new Range(0.1f, 0.25f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.7f, 1);
this.MoistureExtremes = new Range(0, 0.35f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.5f)]
public partial class AgaveBlock :
PlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsArcticWillow : PlantLayerSettings
{
public PlantLayerSettingsArcticWillow() : base()
{
this.Name = "ArcticWillow";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Arctic Willow"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Arctic Willow";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class ArcticWillow : PlantEntity
{
public ArcticWillow(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public ArcticWillow() { }
static PlantSpecies species;
public partial class ArcticWillowSpecies : PlantSpecies
{
public ArcticWillowSpecies() : base()
{
species = this;
this.InstanceType = typeof(ArcticWillow);
// Info
this.Decorative = false;
this.Name = "ArcticWillow";
this.DisplayName = Localizer.DoStr("Arctic Willow");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 3), 1),
new SpeciesResource(typeof(ArcticWillowSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(ArcticWillowBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.15f, MaxResourceContent = 0.3f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.05f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2 });
this.BlanketSpawnPercent = 0.3f;
this.IdealTemperatureRange = new Range(0.12f, 0.28f);
this.IdealMoistureRange = new Range(0.36f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.1f, 0.3f);
this.MoistureExtremes = new Range(0.2f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
public partial class ArcticWillowBlock :
PlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsBarrelCactus : PlantLayerSettings
{
public PlantLayerSettingsBarrelCactus() : base()
{
this.Name = "BarrelCactus";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Barrel Cactus"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Barrel Cactus";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class BarrelCactus : PlantEntity
{
public BarrelCactus(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public BarrelCactus() { }
static PlantSpecies species;
public partial class BarrelCactusSpecies : PlantSpecies
{
public BarrelCactusSpecies() : base()
{
species = this;
this.InstanceType = typeof(BarrelCactus);
// Info
this.Decorative = false;
this.Name = "BarrelCactus";
this.DisplayName = Localizer.DoStr("Barrel Cactus");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 4;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(2, 6), 1),
new SpeciesResource(typeof(BarrelCactusSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(BarrelCactusBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.GenerationSpawnCountPerPoint = new Range(3, 8);
this.GenerationSpawnPointMultiplier = 0.1f;
this.IdealTemperatureRange = new Range(0.8f, 0.9f);
this.IdealMoistureRange = new Range(0.1f, 0.2f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.7f, 1);
this.MoistureExtremes = new Range(0, 0.38f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.5f)]
public partial class BarrelCactusBlock :
PlantBlock { }
}

View file

@ -1,109 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsBeans : PlantLayerSettings
{
public PlantLayerSettingsBeans() : base()
{
this.Name = "Beans";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Beans"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Beans";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Beans : PlantEntity
{
public Beans(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Beans() { }
static PlantSpecies species;
public partial class BeansSpecies : PlantSpecies
{
public BeansSpecies() : base()
{
species = this;
this.InstanceType = typeof(Beans);
// Info
this.Decorative = false;
this.Name = "Beans";
this.DisplayName = Localizer.DoStr("Beans");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 6;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(BeansItem), new Range(1, 6), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(BeansBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.5f, 0.55f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.45f, 0.65f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
public partial class BeansBlock :
InteractablePlantBlock { }
}

View file

@ -1,110 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsBeets : PlantLayerSettings
{
public PlantLayerSettingsBeets() : base()
{
this.Name = "Beets";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Beets"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Beets";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Beets : PlantEntity
{
public Beets(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Beets() { }
static PlantSpecies species;
public partial class BeetsSpecies : PlantSpecies
{
public BeetsSpecies() : base()
{
species = this;
this.InstanceType = typeof(Beets);
// Info
this.Decorative = false;
this.Name = "Beets";
this.DisplayName = Localizer.DoStr("Beets");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 6;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(BeetItem), new Range(1, 6), 1),
new SpeciesResource(typeof(BeetSeedItem), new Range(1, 2), 0.3f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(BeetsBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.3f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.4f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.5f, 0.55f);
this.IdealMoistureRange = new Range(0.32f, 0.35f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.3f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
public partial class BeetsBlock :
InteractablePlantBlock { }
}

View file

@ -1,113 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsBigBluestem : PlantLayerSettings
{
public PlantLayerSettingsBigBluestem() : base()
{
this.Name = "BigBluestem";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Big Bluestem"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Big Bluestem";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class BigBluestem : PlantEntity
{
public BigBluestem(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public BigBluestem() { }
static PlantSpecies species;
public partial class BigBluestemSpecies : PlantSpecies
{
public BigBluestemSpecies() : base()
{
species = this;
this.InstanceType = typeof(BigBluestem);
// Info
this.Decorative = false;
this.Name = "BigBluestem";
this.DisplayName = Localizer.DoStr("Big Bluestem");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 4;
// Resources
this.PostHarvestingGrowth = 0.2f;
this.ScythingKills = false;
this.PickableAtPercent = 0;
this.RequireHarvestable = false;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(2, 7), 1),
new SpeciesResource(typeof(BigBluestemSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(BigBluestemBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.02f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.BlanketSpawnPercent = 0.35f;
this.IdealTemperatureRange = new Range(0.63f, 0.79f);
this.IdealMoistureRange = new Range(0.32f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.82f);
this.MoistureExtremes = new Range(0.28f, 0.52f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.8f)]
public partial class BigBluestemBlock :
PlantBlock { }
}

View file

@ -63,7 +63,7 @@ namespace Eco.Mods.Organisms
this.Name = "Birch";
this.DisplayName = Localizer.DoStr("Birch");
// Lifetime
this.MaturityAgeDays = 5;
this.MaturityAgeDays = 1;
// Generation
// Food
this.CalorieValue = 12;

View file

@ -1,110 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsBoleteMushroom : PlantLayerSettings
{
public PlantLayerSettingsBoleteMushroom() : base()
{
this.Name = "BoleteMushroom";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Bolete Mushroom"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Bolete Mushroom";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class BoleteMushroom : PlantEntity
{
public BoleteMushroom(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public BoleteMushroom() { }
static PlantSpecies species;
public partial class BoleteMushroomSpecies : PlantSpecies
{
public BoleteMushroomSpecies() : base()
{
species = this;
this.InstanceType = typeof(BoleteMushroom);
// Info
this.Decorative = false;
this.Name = "BoleteMushroom";
this.DisplayName = Localizer.DoStr("Bolete Mushroom");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 4;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(BoleteMushroomsItem), new Range(1, 5), 1),
new SpeciesResource(typeof(BoleteMushroomSporesItem), new Range(1, 2), 0.3f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(BoleteMushroomBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
public partial class BoleteMushroomBlock :
InteractablePlantBlock { }
}

View file

@ -1,112 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsBunchgrass : PlantLayerSettings
{
public PlantLayerSettingsBunchgrass() : base()
{
this.Name = "Bunchgrass";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Bunchgrass"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Bunchgrass";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Bunchgrass : PlantEntity
{
public Bunchgrass(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Bunchgrass() { }
static PlantSpecies species;
public partial class BunchgrassSpecies : PlantSpecies
{
public BunchgrassSpecies() : base()
{
species = this;
this.InstanceType = typeof(Bunchgrass);
// Info
this.Decorative = false;
this.Name = "Bunchgrass";
this.DisplayName = Localizer.DoStr("Bunchgrass");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 5;
// Resources
this.PostHarvestingGrowth = 0.2f;
this.ScythingKills = false;
this.PickableAtPercent = 0;
this.RequireHarvestable = false;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 3), 1),
new SpeciesResource(typeof(BunchgrassSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(BunchgrassBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.02f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.6f, 0.65f);
this.IdealMoistureRange = new Range(0.4f, 0.45f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.3f, 0.6f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
public partial class BunchgrassBlock :
PlantBlock { }
}

View file

@ -1,109 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsCamas : PlantLayerSettings
{
public PlantLayerSettingsCamas() : base()
{
this.Name = "Camas";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Camas"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Camas";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Camas : PlantEntity
{
public Camas(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Camas() { }
static PlantSpecies species;
public partial class CamasSpecies : PlantSpecies
{
public CamasSpecies() : base()
{
species = this;
this.InstanceType = typeof(Camas);
// Info
this.Decorative = false;
this.Name = "Camas";
this.DisplayName = Localizer.DoStr("Camas");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 5;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(CamasBulbItem), new Range(1, 6), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(CamasBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.4f, MaxResourceContent = 0.4f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.15f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.6f, 0.7f);
this.IdealMoistureRange = new Range(0.45f, 0.5f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.45f, 0.65f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Diggable]
public partial class CamasBlock :
PlantBlock { }
}

View file

@ -63,7 +63,7 @@ namespace Eco.Mods.Organisms
this.Name = "Cedar";
this.DisplayName = Localizer.DoStr("Cedar");
// Lifetime
this.MaturityAgeDays = 5;
this.MaturityAgeDays = 2;
// Generation
// Food
this.CalorieValue = 12;

View file

@ -63,7 +63,7 @@ namespace Eco.Mods.Organisms
this.Name = "Ceiba";
this.DisplayName = Localizer.DoStr("Ceiba");
// Lifetime
this.MaturityAgeDays = 6;
this.MaturityAgeDays = 2.5f;
// Generation
// Food
this.CalorieValue = 12;

View file

@ -1,110 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsClam : PlantLayerSettings
{
public PlantLayerSettingsClam() : base()
{
this.Name = "Clam";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Clam"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Clam";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Clam : PlantEntity
{
public Clam(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Clam() { }
static PlantSpecies species;
public partial class ClamSpecies : PlantSpecies
{
public ClamSpecies() : base()
{
species = this;
this.InstanceType = typeof(Clam);
// Info
this.Decorative = false;
this.Name = "Clam";
this.DisplayName = Localizer.DoStr("Clam");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
this.Water = true;
// Food
this.CalorieValue = 5;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(ClamItem), new Range(1, 2), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(ClamBlock);
// Climate
this.ReleasesCO2ppmPerDay = 0;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.02f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "UnderwaterFertileGround", ConsumedCapacityPerPop = 6 });
this.BlanketSpawnPercent = 0.3f;
this.IdealTemperatureRange = new Range(0.5f, 0.9f);
this.IdealMoistureRange = new Range(0.1f, 0.9f);
this.IdealWaterRange = new Range(0.5f, 1);
this.WaterExtremes = new Range(0.4f, 1.1f);
this.TemperatureExtremes = new Range(0.38f, 1);
this.MoistureExtremes = new Range(0, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[UnderWater]
public partial class ClamBlock :
InteractablePlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsCommonGrass : PlantLayerSettings
{
public PlantLayerSettingsCommonGrass() : base()
{
this.Name = "CommonGrass";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Common Grass"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Common Grass";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class CommonGrass : PlantEntity
{
public CommonGrass(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public CommonGrass() { }
static PlantSpecies species;
public partial class CommonGrassSpecies : PlantSpecies
{
public CommonGrassSpecies() : base()
{
species = this;
this.InstanceType = typeof(CommonGrass);
// Info
this.Decorative = false;
this.Name = "CommonGrass";
this.DisplayName = Localizer.DoStr("Common Grass");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 0.8f;
// Resources
this.PostHarvestingGrowth = 0.2f;
this.ScythingKills = false;
this.PickableAtPercent = 0;
this.RequireHarvestable = false;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 3), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(CommonGrassBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.02f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.BlanketSpawnPercent = 0.2f;
this.IdealTemperatureRange = new Range(0.52f, 0.78f);
this.IdealMoistureRange = new Range(0.32f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.48f, 0.82f);
this.MoistureExtremes = new Range(0.28f, 0.52f);
this.MaxPollutionDensity = 1;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
public partial class CommonGrassBlock :
PlantBlock { }
}

View file

@ -1,109 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsCookeinaMushroom : PlantLayerSettings
{
public PlantLayerSettingsCookeinaMushroom() : base()
{
this.Name = "CookeinaMushroom";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Cookeina Mushroom"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Cookeina Mushroom";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class CookeinaMushroom : PlantEntity
{
public CookeinaMushroom(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public CookeinaMushroom() { }
static PlantSpecies species;
public partial class CookeinaMushroomSpecies : PlantSpecies
{
public CookeinaMushroomSpecies() : base()
{
species = this;
this.InstanceType = typeof(CookeinaMushroom);
// Info
this.Decorative = false;
this.Name = "CookeinaMushroom";
this.DisplayName = Localizer.DoStr("Cookeina Mushroom");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 4;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(CookeinaMushroomsItem), new Range(1, 4), 1),
new SpeciesResource(typeof(CookeinaMushroomSporesItem), new Range(1, 2), 0.3f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(CookeinaMushroomBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
public partial class CookeinaMushroomBlock :
InteractablePlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsCorn : PlantLayerSettings
{
public PlantLayerSettingsCorn() : base()
{
this.Name = "Corn";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Corn"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Corn";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Corn : PlantEntity
{
public Corn(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Corn() { }
static PlantSpecies species;
public partial class CornSpecies : PlantSpecies
{
public CornSpecies() : base()
{
species = this;
this.InstanceType = typeof(Corn);
// Info
this.Decorative = false;
this.Name = "Corn";
this.DisplayName = Localizer.DoStr("Corn");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 8;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(CornItem), new Range(1, 6), 1),
new SpeciesResource(typeof(CornSeedItem), new Range(1, 2), 0.3f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(CornBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.4f, MaxResourceContent = 0.4f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.4f, MaxResourceContent = 0.4f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.45f, 0.48f);
this.IdealMoistureRange = new Range(0.32f, 0.35f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.3f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[MoveEfficiency(0.6666f)]
public partial class CornBlock :
InteractablePlantBlock { }
}

View file

@ -1,113 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsCreosoteBush : PlantLayerSettings
{
public PlantLayerSettingsCreosoteBush() : base()
{
this.Name = "CreosoteBush";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Creosote Bush"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Creosote Bush";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class CreosoteBush : PlantEntity
{
public CreosoteBush(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public CreosoteBush() { }
static PlantSpecies species;
public partial class CreosoteBushSpecies : PlantSpecies
{
public CreosoteBushSpecies() : base()
{
species = this;
this.InstanceType = typeof(CreosoteBush);
// Info
this.Decorative = false;
this.Name = "CreosoteBush";
this.DisplayName = Localizer.DoStr("Creosote Bush");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2.5f;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 3), 1),
new SpeciesResource(typeof(CreosoteBushSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(CreosoteBushBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.4f, MaxResourceContent = 0.5f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.3f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 5 });
this.GenerationSpawnCountPerPoint = new Range(5, 11);
this.GenerationSpawnPointMultiplier = 0.1f;
this.IdealTemperatureRange = new Range(0.75f, 0.85f);
this.IdealMoistureRange = new Range(0.1f, 0.25f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.7f, 1);
this.MoistureExtremes = new Range(0, 0.35f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.5f)]
public partial class CreosoteBushBlock :
PlantBlock { }
}

View file

@ -1,108 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsCriminiMushroom : PlantLayerSettings
{
public PlantLayerSettingsCriminiMushroom() : base()
{
this.Name = "CriminiMushroom";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Crimini Mushroom"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Crimini Mushroom";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class CriminiMushroom : PlantEntity
{
public CriminiMushroom(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public CriminiMushroom() { }
static PlantSpecies species;
public partial class CriminiMushroomSpecies : PlantSpecies
{
public CriminiMushroomSpecies() : base()
{
species = this;
this.InstanceType = typeof(CriminiMushroom);
// Info
this.Decorative = false;
this.Name = "CriminiMushroom";
this.DisplayName = Localizer.DoStr("Crimini Mushroom");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 1;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(CriminiMushroomsItem), new Range(1, 6), 1),
new SpeciesResource(typeof(CriminiMushroomSporesItem), new Range(1, 2), 0.3f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(CriminiMushroomBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3.6f });
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
public partial class CriminiMushroomBlock :
InteractablePlantBlock { }
}

View file

@ -1,108 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsDeerLichen : PlantLayerSettings
{
public PlantLayerSettingsDeerLichen() : base()
{
this.Name = "DeerLichen";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Deer Lichen"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Deer Lichen";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class DeerLichen : PlantEntity
{
public DeerLichen(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public DeerLichen() { }
static PlantSpecies species;
public partial class DeerLichenSpecies : PlantSpecies
{
public DeerLichenSpecies() : base()
{
species = this;
this.InstanceType = typeof(DeerLichen);
// Info
this.Decorative = false;
this.Name = "DeerLichen";
this.DisplayName = Localizer.DoStr("Deer Lichen");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 1;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(DeerLichenBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.BlanketSpawnPercent = 0.6f;
this.IdealTemperatureRange = new Range(0.11f, 0.23f);
this.IdealMoistureRange = new Range(0.05f, 0.58f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.1f, 0.31f);
this.MoistureExtremes = new Range(0, 0.62f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
public partial class DeerLichenBlock :
PlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsDesertMoss : PlantLayerSettings
{
public PlantLayerSettingsDesertMoss() : base()
{
this.Name = "DesertMoss";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Desert Moss"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Desert Moss";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class DesertMoss : PlantEntity
{
public DesertMoss(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public DesertMoss() { }
static PlantSpecies species;
public partial class DesertMossSpecies : PlantSpecies
{
public DesertMossSpecies() : base()
{
species = this;
this.InstanceType = typeof(DesertMoss);
// Info
this.Decorative = false;
this.Name = "DesertMoss";
this.DisplayName = Localizer.DoStr("Desert Moss");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2.5f;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(DesertMossBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.15f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.4f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3.5f });
this.GenerationSpawnCountPerPoint = new Range(5, 11);
this.GenerationSpawnPointMultiplier = 0.1f;
this.IdealTemperatureRange = new Range(0.85f, 0.95f);
this.IdealMoistureRange = new Range(0.2f, 0.25f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.7f, 1);
this.MoistureExtremes = new Range(0, 0.35f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
public partial class DesertMossBlock :
PlantBlock { }
}

View file

@ -1,113 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsDwarfWillow : PlantLayerSettings
{
public PlantLayerSettingsDwarfWillow() : base()
{
this.Name = "DwarfWillow";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Dwarf Willow"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Dwarf Willow";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class DwarfWillow : PlantEntity
{
public DwarfWillow(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public DwarfWillow() { }
static PlantSpecies species;
public partial class DwarfWillowSpecies : PlantSpecies
{
public DwarfWillowSpecies() : base()
{
species = this;
this.InstanceType = typeof(DwarfWillow);
// Info
this.Decorative = false;
this.Name = "DwarfWillow";
this.DisplayName = Localizer.DoStr("Dwarf Willow");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 3;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1),
new SpeciesResource(typeof(DwarfWillowSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(DwarfWillowBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.15f, MaxResourceContent = 0.3f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.05f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.GenerationSpawnCountPerPoint = new Range(20, 25);
this.GenerationSpawnPointMultiplier = 0.2f;
this.IdealTemperatureRange = new Range(0.11f, 0.19f);
this.IdealMoistureRange = new Range(0.24f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.1f, 0.2f);
this.MoistureExtremes = new Range(0.1f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.5f)]
public partial class DwarfWillowBlock :
PlantBlock { }
}

View file

@ -1,114 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsFern : PlantLayerSettings
{
public PlantLayerSettingsFern() : base()
{
this.Name = "Fern";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Fern"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Fern";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Fern : PlantEntity
{
public Fern(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Fern() { }
static PlantSpecies species;
public partial class FernSpecies : PlantSpecies
{
public FernSpecies() : base()
{
species = this;
this.InstanceType = typeof(Fern);
// Info
this.Decorative = false;
this.Name = "Fern";
this.DisplayName = Localizer.DoStr("Fern");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(FiddleheadsItem), new Range(1, 6), 1),
new SpeciesResource(typeof(FernSporeItem), new Range(1, 2), 0.2f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(FernBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.04f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2.5f });
this.GenerationSpawnCountPerPoint = new Range(7, 13);
this.GenerationSpawnPointMultiplier = 0.2f;
this.IdealTemperatureRange = new Range(0.45f, 0.55f);
this.IdealMoistureRange = new Range(0.5f, 0.55f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.45f, 0.65f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.8f)]
public partial class FernBlock :
InteractablePlantBlock { }
}

View file

@ -1,112 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsFilmyFern : PlantLayerSettings
{
public PlantLayerSettingsFilmyFern() : base()
{
this.Name = "FilmyFern";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Filmy Fern"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Filmy Fern";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class FilmyFern : PlantEntity
{
public FilmyFern(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public FilmyFern() { }
static PlantSpecies species;
public partial class FilmyFernSpecies : PlantSpecies
{
public FilmyFernSpecies() : base()
{
species = this;
this.InstanceType = typeof(FilmyFern);
// Info
this.Decorative = false;
this.Name = "FilmyFern";
this.DisplayName = Localizer.DoStr("Filmy Fern");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 4), 1),
new SpeciesResource(typeof(FilmyFernSporeItem), new Range(1, 2), 0.2f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(FilmyFernBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.04f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2.5f });
this.BlanketSpawnPercent = 0.3f;
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.5f)]
public partial class FilmyFernBlock :
InteractablePlantBlock { }
}

View file

@ -1,103 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsFir : PlantLayerSettings
{
public PlantLayerSettingsFir() : base()
{
this.Name = "Fir";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Fir"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.05f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Fir";
this.VoxelsPerEntry = 20;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Fir : TreeEntity
{
public Fir(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Fir() { }
static TreeSpecies species;
public partial class FirSpecies : TreeSpecies
{
public FirSpecies() : base()
{
species = this;
this.InstanceType = typeof(Fir);
// Info
this.Decorative = false;
this.Name = "Fir";
this.DisplayName = Localizer.DoStr("Fir");
// Lifetime
this.MaturityAgeDays = 5.5f;
// Generation
// Food
this.CalorieValue = 10;
// Resources
this.PostHarvestingGrowth = 0;
this.ScythingKills = false;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(LogItem), new Range(0, 50), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
// Climate
this.ReleasesCO2ppmPerDay = -0.002f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "CanopySpace", ConsumedCapacityPerPop = 26 });
this.BlanketSpawnPercent = 0.5f;
this.IdealTemperatureRange = new Range(0.23f, 0.35f);
this.IdealMoistureRange = new Range(0.45f, 0.55f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.19f, 0.4f);
this.MoistureExtremes = new Range(0.23f, 0.61f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 20;
}
}
}
}

View file

@ -1,113 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsFireweed : PlantLayerSettings
{
public PlantLayerSettingsFireweed() : base()
{
this.Name = "Fireweed";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Fireweed"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Fireweed";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Fireweed : PlantEntity
{
public Fireweed(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Fireweed() { }
static PlantSpecies species;
public partial class FireweedSpecies : PlantSpecies
{
public FireweedSpecies() : base()
{
species = this;
this.InstanceType = typeof(Fireweed);
// Info
this.Decorative = false;
this.Name = "Fireweed";
this.DisplayName = Localizer.DoStr("Fireweed");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 4;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(FireweedShootsItem), new Range(1, 5), 1),
new SpeciesResource(typeof(FireweedSeedItem), new Range(1, 2), 0.3f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(FireweedBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.15f, MaxResourceContent = 0.3f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.05f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.GenerationSpawnCountPerPoint = new Range(6, 8);
this.GenerationSpawnPointMultiplier = 0.2f;
this.IdealTemperatureRange = new Range(0.24f, 0.28f);
this.IdealMoistureRange = new Range(0.44f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.2f, 0.3f);
this.MoistureExtremes = new Range(0.2f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.8f)]
public partial class FireweedBlock :
PlantBlock { }
}

View file

@ -1,112 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsHeliconia : PlantLayerSettings
{
public PlantLayerSettingsHeliconia() : base()
{
this.Name = "Heliconia";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Heliconia"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Heliconia";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Heliconia : PlantEntity
{
public Heliconia(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Heliconia() { }
static PlantSpecies species;
public partial class HeliconiaSpecies : PlantSpecies
{
public HeliconiaSpecies() : base()
{
species = this;
this.InstanceType = typeof(Heliconia);
// Info
this.Decorative = false;
this.Name = "Heliconia";
this.DisplayName = Localizer.DoStr("Heliconia");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1),
new SpeciesResource(typeof(HeliconiaSeedItem), new Range(1, 2), 0.2f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(HeliconiaBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.04f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2.5f });
this.BlanketSpawnPercent = 0.2f;
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.3333f)]
public partial class HeliconiaBlock :
PlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsHuckleberry : PlantLayerSettings
{
public PlantLayerSettingsHuckleberry() : base()
{
this.Name = "Huckleberry";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Huckleberry"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Huckleberry";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Huckleberry : PlantEntity
{
public Huckleberry(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Huckleberry() { }
static PlantSpecies species;
public partial class HuckleberrySpecies : PlantSpecies
{
public HuckleberrySpecies() : base()
{
species = this;
this.InstanceType = typeof(Huckleberry);
// Info
this.Decorative = false;
this.Name = "Huckleberry";
this.DisplayName = Localizer.DoStr("Huckleberry");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 4;
// Resources
this.PostHarvestingGrowth = 0.5f;
this.PickableAtPercent = 0.8f;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(HuckleberriesItem), new Range(1, 8), 1),
new SpeciesResource(typeof(HuckleberrySeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(HuckleberryBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.15f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2.5f });
this.IdealTemperatureRange = new Range(0.42f, 0.55f);
this.IdealMoistureRange = new Range(0.48f, 0.53f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.45f, 0.65f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[MoveEfficiency(0.5f)]
public partial class HuckleberryBlock :
InteractablePlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsJointfir : PlantLayerSettings
{
public PlantLayerSettingsJointfir() : base()
{
this.Name = "Jointfir";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Jointfir"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Jointfir";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Jointfir : PlantEntity
{
public Jointfir(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Jointfir() { }
static PlantSpecies species;
public partial class JointfirSpecies : PlantSpecies
{
public JointfirSpecies() : base()
{
species = this;
this.InstanceType = typeof(Jointfir);
// Info
this.Decorative = false;
this.Name = "Jointfir";
this.DisplayName = Localizer.DoStr("Jointfir");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(2, 6), 1),
new SpeciesResource(typeof(JointfirSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(JointfirBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.GenerationSpawnCountPerPoint = new Range(5, 9);
this.GenerationSpawnPointMultiplier = 0.3f;
this.IdealTemperatureRange = new Range(0.7f, 0.86f);
this.IdealMoistureRange = new Range(0.19f, 0.32f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.65f, 0.92f);
this.MoistureExtremes = new Range(0.12f, 0.38f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.7f)]
public partial class JointfirBlock :
PlantBlock { }
}

View file

@ -63,7 +63,7 @@ namespace Eco.Mods.Organisms
this.Name = "Joshua";
this.DisplayName = Localizer.DoStr("Joshua");
// Lifetime
this.MaturityAgeDays = 4.5f;
this.MaturityAgeDays = 3;
// Generation
// Food
this.CalorieValue = 12;

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsKelp : PlantLayerSettings
{
public PlantLayerSettingsKelp() : base()
{
this.Name = "Kelp";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Kelp"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Kelp";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Kelp : PlantEntity
{
public Kelp(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Kelp() { }
static PlantSpecies species;
public partial class KelpSpecies : PlantSpecies
{
public KelpSpecies() : base()
{
species = this;
this.InstanceType = typeof(Kelp);
// Info
this.Decorative = false;
this.Name = "Kelp";
this.DisplayName = Localizer.DoStr("Kelp");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
this.Water = true;
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(KelpItem), new Range(1, 3), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(KelpBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "UnderwaterFertileGround", ConsumedCapacityPerPop = 4 });
this.BlanketSpawnPercent = 0.5f;
this.IdealTemperatureRange = new Range(0.5f, 0.9f);
this.IdealMoistureRange = new Range(0.1f, 0.9f);
this.IdealWaterRange = new Range(0.5f, 1);
this.WaterExtremes = new Range(0.4f, 1.1f);
this.TemperatureExtremes = new Range(0.38f, 1);
this.MoistureExtremes = new Range(0, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[UnderWater, Reapable]
[MoveEfficiency(0.5f)]
public partial class KelpBlock :
PlantBlock { }
}

View file

@ -1,112 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsKingFern : PlantLayerSettings
{
public PlantLayerSettingsKingFern() : base()
{
this.Name = "KingFern";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("King Fern"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "King Fern";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class KingFern : PlantEntity
{
public KingFern(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public KingFern() { }
static PlantSpecies species;
public partial class KingFernSpecies : PlantSpecies
{
public KingFernSpecies() : base()
{
species = this;
this.InstanceType = typeof(KingFern);
// Info
this.Decorative = false;
this.Name = "KingFern";
this.DisplayName = Localizer.DoStr("King Fern");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1),
new SpeciesResource(typeof(KingFernSporeItem), new Range(1, 2), 0.2f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(KingFernBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.04f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2.5f });
this.BlanketSpawnPercent = 0.2f;
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable, Diggable]
[MoveEfficiency(0.3333f)]
public partial class KingFernBlock :
PlantBlock { }
}

View file

@ -1,109 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsLatticeMushroom : PlantLayerSettings
{
public PlantLayerSettingsLatticeMushroom() : base()
{
this.Name = "LatticeMushroom";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Lattice Mushroom"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Lattice Mushroom";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class LatticeMushroom : PlantEntity
{
public LatticeMushroom(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public LatticeMushroom() { }
static PlantSpecies species;
public partial class LatticeMushroomSpecies : PlantSpecies
{
public LatticeMushroomSpecies() : base()
{
species = this;
this.InstanceType = typeof(LatticeMushroom);
// Info
this.Decorative = false;
this.Name = "LatticeMushroom";
this.DisplayName = Localizer.DoStr("Lattice Mushroom");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 3;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1),
new SpeciesResource(typeof(LatticeMushroomSporesItem), new Range(1, 2), 0.3f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(LatticeMushroomBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.GenerationSpawnCountPerPoint = new Range(2, 5);
this.GenerationSpawnPointMultiplier = 0.015f;
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
public partial class LatticeMushroomBlock :
InteractablePlantBlock { }
}

View file

@ -1,110 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsLupine : PlantLayerSettings
{
public PlantLayerSettingsLupine() : base()
{
this.Name = "Lupine";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Lupine"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Lupine";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Lupine : PlantEntity
{
public Lupine(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Lupine() { }
static PlantSpecies species;
public partial class LupineSpecies : PlantSpecies
{
public LupineSpecies() : base()
{
species = this;
this.InstanceType = typeof(Lupine);
// Info
this.Decorative = false;
this.Name = "Lupine";
this.DisplayName = Localizer.DoStr("Lupine");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(LupineBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.GenerationSpawnCountPerPoint = new Range(15, 20);
this.GenerationSpawnPointMultiplier = 0.15f;
this.IdealTemperatureRange = new Range(0.24f, 0.28f);
this.IdealMoistureRange = new Range(0.44f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.2f, 0.3f);
this.MoistureExtremes = new Range(0.2f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.8f)]
public partial class LupineBlock :
PlantBlock { }
}

View file

@ -63,7 +63,7 @@ namespace Eco.Mods.Organisms
this.Name = "Oak";
this.DisplayName = Localizer.DoStr("Oak");
// Lifetime
this.MaturityAgeDays = 7;
this.MaturityAgeDays = 4;
// Generation
// Food
this.CalorieValue = 12;

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsOceanSpray : PlantLayerSettings
{
public PlantLayerSettingsOceanSpray() : base()
{
this.Name = "OceanSpray";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Ocean Spray"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Ocean Spray";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class OceanSpray : PlantEntity
{
public OceanSpray(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public OceanSpray() { }
static PlantSpecies species;
public partial class OceanSpraySpecies : PlantSpecies
{
public OceanSpraySpecies() : base()
{
species = this;
this.InstanceType = typeof(OceanSpray);
// Info
this.Decorative = false;
this.Name = "OceanSpray";
this.DisplayName = Localizer.DoStr("Ocean Spray");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 1;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1),
new SpeciesResource(typeof(OceanSpraySeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(OceanSprayBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.04f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2.5f });
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.5f, 0.55f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.45f, 0.65f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.3333f)]
public partial class OceanSprayBlock :
PlantBlock { }
}

View file

@ -1,104 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsOldGrowthRedwood : PlantLayerSettings
{
public PlantLayerSettingsOldGrowthRedwood() : base()
{
this.Name = "OldGrowthRedwood";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Old Growth Redwood"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.05f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Old Growth Redwood";
this.VoxelsPerEntry = 20;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class OldGrowthRedwood : TreeEntity
{
public OldGrowthRedwood(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public OldGrowthRedwood() { }
static TreeSpecies species;
public partial class OldGrowthRedwoodSpecies : TreeSpecies
{
public OldGrowthRedwoodSpecies() : base()
{
species = this;
this.InstanceType = typeof(OldGrowthRedwood);
// Info
this.Decorative = false;
this.NoSpread = true;
this.Name = "OldGrowthRedwood";
this.DisplayName = Localizer.DoStr("Old Growth Redwood");
// Lifetime
this.MaturityAgeDays = 30;
// Generation
// Food
this.CalorieValue = 50;
// Resources
this.PostHarvestingGrowth = 0;
this.ScythingKills = false;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(LogItem), new Range(450, 500), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
// Climate
this.ReleasesCO2ppmPerDay = -0.004f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "CanopySpace", ConsumedCapacityPerPop = 20 });
this.BlanketSpawnPercent = 0.3f;
this.IdealTemperatureRange = new Range(0.22f, 0.48f);
this.IdealMoistureRange = new Range(0.42f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.18f, 0.52f);
this.MoistureExtremes = new Range(0.39f, 0.51f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 20;
}
}
}
}

View file

@ -1,108 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsOrchid : PlantLayerSettings
{
public PlantLayerSettingsOrchid() : base()
{
this.Name = "Orchid";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Orchid"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Orchid";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Orchid : PlantEntity
{
public Orchid(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Orchid() { }
static PlantSpecies species;
public partial class OrchidSpecies : PlantSpecies
{
public OrchidSpecies() : base()
{
species = this;
this.InstanceType = typeof(Orchid);
// Info
this.Decorative = false;
this.Name = "Orchid";
this.DisplayName = Localizer.DoStr("Orchid");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 1;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1),
new SpeciesResource(typeof(OrchidSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(OrchidBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
public partial class OrchidBlock :
InteractablePlantBlock { }
}

View file

@ -1,102 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsPalm : PlantLayerSettings
{
public PlantLayerSettingsPalm() : base()
{
this.Name = "Palm";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Palm"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.05f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Palm";
this.VoxelsPerEntry = 20;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Palm : TreeEntity
{
public Palm(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Palm() { }
static TreeSpecies species;
public partial class PalmSpecies : TreeSpecies
{
public PalmSpecies() : base()
{
species = this;
this.InstanceType = typeof(Palm);
// Info
this.Decorative = false;
this.Name = "Palm";
this.DisplayName = Localizer.DoStr("Palm");
// Lifetime
this.MaturityAgeDays = 4.5f;
// Generation
// Food
this.CalorieValue = 12;
// Resources
this.PostHarvestingGrowth = 0;
this.ScythingKills = false;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(LogItem), new Range(0, 30), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
// Climate
this.ReleasesCO2ppmPerDay = -0.001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "CanopySpace", ConsumedCapacityPerPop = 1 });
this.BlanketSpawnPercent = 0.3f;
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 20;
}
}
}
}

View file

@ -1,113 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsPapaya : PlantLayerSettings
{
public PlantLayerSettingsPapaya() : base()
{
this.Name = "Papaya";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Papaya"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Papaya";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Papaya : PlantEntity
{
public Papaya(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Papaya() { }
static PlantSpecies species;
public partial class PapayaSpecies : PlantSpecies
{
public PapayaSpecies() : base()
{
species = this;
this.InstanceType = typeof(Papaya);
// Info
this.Decorative = false;
this.Name = "Papaya";
this.DisplayName = Localizer.DoStr("Papaya");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 5;
// Resources
this.PostHarvestingGrowth = 0.5f;
this.PickableAtPercent = 0.8f;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PapayaItem), new Range(1, 6), 1),
new SpeciesResource(typeof(PapayaSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(PapayaBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.04f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2.5f });
this.GenerationSpawnCountPerPoint = new Range(4, 5);
this.GenerationSpawnPointMultiplier = 0.1f;
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable, Chopable]
public partial class PapayaBlock :
InteractablePlantBlock { }
}

View file

@ -1,108 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsPeatMoss : PlantLayerSettings
{
public PlantLayerSettingsPeatMoss() : base()
{
this.Name = "PeatMoss";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Peat Moss"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Peat Moss";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class PeatMoss : PlantEntity
{
public PeatMoss(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public PeatMoss() { }
static PlantSpecies species;
public partial class PeatMossSpecies : PlantSpecies
{
public PeatMossSpecies() : base()
{
species = this;
this.InstanceType = typeof(PeatMoss);
// Info
this.Decorative = false;
this.Name = "PeatMoss";
this.DisplayName = Localizer.DoStr("Peat Moss");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(PeatMossBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.BlanketSpawnPercent = 0.6f;
this.IdealTemperatureRange = new Range(0.17f, 0.28f);
this.IdealMoistureRange = new Range(0.44f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.12f, 0.3f);
this.MoistureExtremes = new Range(0.2f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
public partial class PeatMossBlock :
PlantBlock { }
}

View file

@ -1,112 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsPineapple : PlantLayerSettings
{
public PlantLayerSettingsPineapple() : base()
{
this.Name = "Pineapple";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Pineapple"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Pineapple";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Pineapple : PlantEntity
{
public Pineapple(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Pineapple() { }
static PlantSpecies species;
public partial class PineappleSpecies : PlantSpecies
{
public PineappleSpecies() : base()
{
species = this;
this.InstanceType = typeof(Pineapple);
// Info
this.Decorative = false;
this.Name = "Pineapple";
this.DisplayName = Localizer.DoStr("Pineapple");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 5;
// Resources
this.PostHarvestingGrowth = 0.5f;
this.PickableAtPercent = 0.8f;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PineappleItem), new Range(1, 3), 1),
new SpeciesResource(typeof(PineappleSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(PineappleBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.04f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2.5f });
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.8f)]
public partial class PineappleBlock :
InteractablePlantBlock { }
}

View file

@ -1,113 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsPricklyPear : PlantLayerSettings
{
public PlantLayerSettingsPricklyPear() : base()
{
this.Name = "PricklyPear";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Prickly Pear"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Prickly Pear";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class PricklyPear : PlantEntity
{
public PricklyPear(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public PricklyPear() { }
static PlantSpecies species;
public partial class PricklyPearSpecies : PlantSpecies
{
public PricklyPearSpecies() : base()
{
species = this;
this.InstanceType = typeof(PricklyPear);
// Info
this.Decorative = false;
this.Name = "PricklyPear";
this.DisplayName = Localizer.DoStr("Prickly Pear");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 4;
// Resources
this.PostHarvestingGrowth = 0.5f;
this.PickableAtPercent = 0.8f;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PricklyPearFruitItem), new Range(1, 4), 1),
new SpeciesResource(typeof(PricklyPearSeedItem), new Range(1, 2), 0.2f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(PricklyPearBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.5f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.3f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 4.5f });
this.GenerationSpawnCountPerPoint = new Range(2, 5);
this.GenerationSpawnPointMultiplier = 0.1f;
this.IdealTemperatureRange = new Range(0.72f, 0.85f);
this.IdealMoistureRange = new Range(0.25f, 0.35f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.7f, 1);
this.MoistureExtremes = new Range(0, 0.35f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[MoveEfficiency(0.625f)]
public partial class PricklyPearBlock :
InteractablePlantBlock { }
}

View file

@ -1,109 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsPumpkin : PlantLayerSettings
{
public PlantLayerSettingsPumpkin() : base()
{
this.Name = "Pumpkin";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Pumpkin"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Pumpkin";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Pumpkin : PlantEntity
{
public Pumpkin(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Pumpkin() { }
static PlantSpecies species;
public partial class PumpkinSpecies : PlantSpecies
{
public PumpkinSpecies() : base()
{
species = this;
this.InstanceType = typeof(Pumpkin);
// Info
this.Decorative = false;
this.Name = "Pumpkin";
this.DisplayName = Localizer.DoStr("Pumpkin");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 8;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PumpkinItem), new Range(1, 4), 1),
new SpeciesResource(typeof(PumpkinSeedItem), new Range(1, 2), 0.2f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(PumpkinBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.52f, 0.55f);
this.IdealMoistureRange = new Range(0.32f, 0.35f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.3f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[MoveEfficiency(0.8f)]
public partial class PumpkinBlock :
InteractablePlantBlock { }
}

View file

@ -63,7 +63,7 @@ namespace Eco.Mods.Organisms
this.Name = "Redwood";
this.DisplayName = Localizer.DoStr("Redwood");
// Lifetime
this.MaturityAgeDays = 6;
this.MaturityAgeDays = 2;
// Generation
// Food
this.CalorieValue = 12;

View file

@ -1,108 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsRice : PlantLayerSettings
{
public PlantLayerSettingsRice() : base()
{
this.Name = "Rice";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Rice"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Rice";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Rice : PlantEntity
{
public Rice(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Rice() { }
static PlantSpecies species;
public partial class RiceSpecies : PlantSpecies
{
public RiceSpecies() : base()
{
species = this;
this.InstanceType = typeof(Rice);
// Info
this.Decorative = false;
this.Name = "Rice";
this.DisplayName = Localizer.DoStr("Rice");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(RiceItem), new Range(1, 9), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(RiceBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3.6f });
this.IdealTemperatureRange = new Range(0.47f, 0.49f);
this.IdealMoistureRange = new Range(0.32f, 0.35f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.3f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
public partial class RiceBlock :
InteractablePlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsSagebrush : PlantLayerSettings
{
public PlantLayerSettingsSagebrush() : base()
{
this.Name = "Sagebrush";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Sagebrush"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Sagebrush";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Sagebrush : PlantEntity
{
public Sagebrush(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Sagebrush() { }
static PlantSpecies species;
public partial class SagebrushSpecies : PlantSpecies
{
public SagebrushSpecies() : base()
{
species = this;
this.InstanceType = typeof(Sagebrush);
// Info
this.Decorative = false;
this.Name = "Sagebrush";
this.DisplayName = Localizer.DoStr("Sagebrush");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2.5f;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 4), 1),
new SpeciesResource(typeof(SagebrushSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(SagebrushBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.15f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.4f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3.5f });
this.IdealTemperatureRange = new Range(0.85f, 0.95f);
this.IdealMoistureRange = new Range(0.1f, 0.2f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.7f, 1);
this.MoistureExtremes = new Range(0, 0.38f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.5f)]
public partial class SagebrushBlock :
PlantBlock { }
}

View file

@ -63,7 +63,7 @@ namespace Eco.Mods.Organisms
this.Name = "SaguaroCactus";
this.DisplayName = Localizer.DoStr("Saguaro Cactus");
// Lifetime
this.MaturityAgeDays = 4;
this.MaturityAgeDays = 1.5f;
// Generation
// Food
this.CalorieValue = 12;

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsSalal : PlantLayerSettings
{
public PlantLayerSettingsSalal() : base()
{
this.Name = "Salal";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Salal"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Salal";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Salal : PlantEntity
{
public Salal(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Salal() { }
static PlantSpecies species;
public partial class SalalSpecies : PlantSpecies
{
public SalalSpecies() : base()
{
species = this;
this.InstanceType = typeof(Salal);
// Info
this.Decorative = false;
this.Name = "Salal";
this.DisplayName = Localizer.DoStr("Salal");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 0.5f;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.RequireHarvestable = false;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 4), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(SalalBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.08f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.05f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.05f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.05f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.BlanketSpawnPercent = 0.4f;
this.IdealTemperatureRange = new Range(0.22f, 0.78f);
this.IdealMoistureRange = new Range(0.52f, 0.58f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.19f, 0.81f);
this.MoistureExtremes = new Range(0.48f, 0.62f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.5f)]
public partial class SalalBlock :
PlantBlock { }
}

View file

@ -1,110 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsSaxifrage : PlantLayerSettings
{
public PlantLayerSettingsSaxifrage() : base()
{
this.Name = "Saxifrage";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Saxifrage"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Saxifrage";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Saxifrage : PlantEntity
{
public Saxifrage(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Saxifrage() { }
static PlantSpecies species;
public partial class SaxifrageSpecies : PlantSpecies
{
public SaxifrageSpecies() : base()
{
species = this;
this.InstanceType = typeof(Saxifrage);
// Info
this.Decorative = false;
this.Name = "Saxifrage";
this.DisplayName = Localizer.DoStr("Saxifrage");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 4), 1),
new SpeciesResource(typeof(SaxifrageSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(SaxifrageBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2 });
this.BlanketSpawnPercent = 0.3f;
this.IdealTemperatureRange = new Range(0.18f, 0.28f);
this.IdealMoistureRange = new Range(0.44f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.15f, 0.3f);
this.MoistureExtremes = new Range(0.2f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.8f)]
public partial class SaxifrageBlock :
PlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsSeagrass : PlantLayerSettings
{
public PlantLayerSettingsSeagrass() : base()
{
this.Name = "Seagrass";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Seagrass"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Seagrass";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Seagrass : PlantEntity
{
public Seagrass(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Seagrass() { }
static PlantSpecies species;
public partial class SeagrassSpecies : PlantSpecies
{
public SeagrassSpecies() : base()
{
species = this;
this.InstanceType = typeof(Seagrass);
// Info
this.Decorative = false;
this.Name = "Seagrass";
this.DisplayName = Localizer.DoStr("Seagrass");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
this.Water = true;
// Food
this.CalorieValue = 3;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 4), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(SeagrassBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "UnderwaterFertileGround", ConsumedCapacityPerPop = 4 });
this.BlanketSpawnPercent = 0.5f;
this.IdealTemperatureRange = new Range(0.5f, 0.9f);
this.IdealMoistureRange = new Range(0.1f, 0.9f);
this.IdealWaterRange = new Range(0.5f, 1);
this.WaterExtremes = new Range(0.4f, 1.1f);
this.TemperatureExtremes = new Range(0.38f, 1);
this.MoistureExtremes = new Range(0, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[UnderWater, Reapable]
[MoveEfficiency(0.5f)]
public partial class SeagrassBlock :
PlantBlock { }
}

View file

@ -1,102 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsSpruce : PlantLayerSettings
{
public PlantLayerSettingsSpruce() : base()
{
this.Name = "Spruce";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Spruce"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.05f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Spruce";
this.VoxelsPerEntry = 20;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Spruce : TreeEntity
{
public Spruce(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Spruce() { }
static TreeSpecies species;
public partial class SpruceSpecies : TreeSpecies
{
public SpruceSpecies() : base()
{
species = this;
this.InstanceType = typeof(Spruce);
// Info
this.Decorative = false;
this.Name = "Spruce";
this.DisplayName = Localizer.DoStr("Spruce");
// Lifetime
this.MaturityAgeDays = 5.5f;
// Generation
// Food
this.CalorieValue = 12;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(LogItem), new Range(0, 50), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
// Climate
this.ReleasesCO2ppmPerDay = -0.002f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "CanopySpace", ConsumedCapacityPerPop = 26 });
this.BlanketSpawnPercent = 0.5f;
this.IdealTemperatureRange = new Range(0.23f, 0.35f);
this.IdealMoistureRange = new Range(0.45f, 0.55f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.19f, 0.4f);
this.MoistureExtremes = new Range(0.23f, 0.61f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 20;
}
}
}
}

View file

@ -1,112 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsSunflower : PlantLayerSettings
{
public PlantLayerSettingsSunflower() : base()
{
this.Name = "Sunflower";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Sunflower"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Sunflower";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Sunflower : PlantEntity
{
public Sunflower(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Sunflower() { }
static PlantSpecies species;
public partial class SunflowerSpecies : PlantSpecies
{
public SunflowerSpecies() : base()
{
species = this;
this.InstanceType = typeof(Sunflower);
// Info
this.Decorative = false;
this.Name = "Sunflower";
this.DisplayName = Localizer.DoStr("Sunflower");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 3;
// Resources
this.PostHarvestingGrowth = 0;
this.ScythingKills = false;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 5), 1),
new SpeciesResource(typeof(SunflowerSeedItem), new Range(2, 4), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(SunflowerBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.4f, MaxResourceContent = 0.4f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.4f, MaxResourceContent = 0.4f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.45f, 0.48f);
this.IdealMoistureRange = new Range(0.32f, 0.35f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.3f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.3333f)]
public partial class SunflowerBlock :
PlantBlock { }
}

View file

@ -1,112 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsSwitchgrass : PlantLayerSettings
{
public PlantLayerSettingsSwitchgrass() : base()
{
this.Name = "Switchgrass";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Switchgrass"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Switchgrass";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Switchgrass : PlantEntity
{
public Switchgrass(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Switchgrass() { }
static PlantSpecies species;
public partial class SwitchgrassSpecies : PlantSpecies
{
public SwitchgrassSpecies() : base()
{
species = this;
this.InstanceType = typeof(Switchgrass);
// Info
this.Decorative = false;
this.Name = "Switchgrass";
this.DisplayName = Localizer.DoStr("Switchgrass");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 0.5f;
// Resources
this.PostHarvestingGrowth = 0.2f;
this.ScythingKills = false;
this.PickableAtPercent = 0;
this.RequireHarvestable = false;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 3), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(SwitchgrassBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.02f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.BlanketSpawnPercent = 0.35f;
this.IdealTemperatureRange = new Range(0.42f, 0.62f);
this.IdealMoistureRange = new Range(0.32f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.38f, 0.62f);
this.MoistureExtremes = new Range(0.28f, 0.52f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.8f)]
public partial class SwitchgrassBlock :
PlantBlock { }
}

View file

@ -1,112 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsTaro : PlantLayerSettings
{
public PlantLayerSettingsTaro() : base()
{
this.Name = "Taro";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Taro"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Taro";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Taro : PlantEntity
{
public Taro(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Taro() { }
static PlantSpecies species;
public partial class TaroSpecies : PlantSpecies
{
public TaroSpecies() : base()
{
species = this;
this.InstanceType = typeof(Taro);
// Info
this.Decorative = false;
this.Name = "Taro";
this.DisplayName = Localizer.DoStr("Taro");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 4;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(TaroRootItem), new Range(1, 4), 1),
new SpeciesResource(typeof(TaroSeedItem), new Range(1, 2), 0.2f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(TaroBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.02f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.04f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2.5f });
this.BlanketSpawnPercent = 0.2f;
this.IdealTemperatureRange = new Range(0.65f, 0.75f);
this.IdealMoistureRange = new Range(0.75f, 0.95f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.6f, 0.8f);
this.MoistureExtremes = new Range(0.7f, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Diggable]
[MoveEfficiency(0.3333f)]
public partial class TaroBlock :
PlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsTomatoes : PlantLayerSettings
{
public PlantLayerSettingsTomatoes() : base()
{
this.Name = "Tomatoes";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Tomatoes"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Tomatoes";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Tomatoes : PlantEntity
{
public Tomatoes(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Tomatoes() { }
static PlantSpecies species;
public partial class TomatoesSpecies : PlantSpecies
{
public TomatoesSpecies() : base()
{
species = this;
this.InstanceType = typeof(Tomatoes);
// Info
this.Decorative = false;
this.Name = "Tomatoes";
this.DisplayName = Localizer.DoStr("Tomatoes");
this.IsConsideredNearbyFoodDuringSpawnCheck = true;
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 5;
// Resources
this.PostHarvestingGrowth = 0.5f;
this.PickableAtPercent = 0.8f;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(TomatoItem), new Range(1, 5), 1),
new SpeciesResource(typeof(TomatoSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(TomatoesBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3.5f });
this.IdealTemperatureRange = new Range(0.7f, 0.75f);
this.IdealMoistureRange = new Range(0.42f, 0.45f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.3f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[MoveEfficiency(0.6666f)]
public partial class TomatoesBlock :
InteractablePlantBlock { }
}

View file

@ -1,108 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsTrillium : PlantLayerSettings
{
public PlantLayerSettingsTrillium() : base()
{
this.Name = "Trillium";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Trillium"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Trillium";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Trillium : PlantEntity
{
public Trillium(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Trillium() { }
static PlantSpecies species;
public partial class TrilliumSpecies : PlantSpecies
{
public TrilliumSpecies() : base()
{
species = this;
this.InstanceType = typeof(Trillium);
// Info
this.Decorative = false;
this.Name = "Trillium";
this.DisplayName = Localizer.DoStr("Trillium");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 3), 1),
new SpeciesResource(typeof(TrilliumSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(TrilliumBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.42f, 0.55f);
this.IdealMoistureRange = new Range(0.48f, 0.53f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.45f, 0.65f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
public partial class TrilliumBlock :
PlantBlock { }
}

View file

@ -1,107 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsUrchin : PlantLayerSettings
{
public PlantLayerSettingsUrchin() : base()
{
this.Name = "Urchin";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Urchin"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Urchin";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Urchin : PlantEntity
{
public Urchin(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Urchin() { }
static PlantSpecies species;
public partial class UrchinSpecies : PlantSpecies
{
public UrchinSpecies() : base()
{
species = this;
this.InstanceType = typeof(Urchin);
// Info
this.Decorative = false;
this.Name = "Urchin";
this.DisplayName = Localizer.DoStr("Urchin");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
this.Water = true;
// Food
this.CalorieValue = 5;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(UrchinItem), new Range(1, 3), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(UrchinBlock);
// Climate
this.ReleasesCO2ppmPerDay = 0;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "UnderwaterFertileGround", ConsumedCapacityPerPop = 6 });
this.BlanketSpawnPercent = 0.2f;
this.IdealTemperatureRange = new Range(0.5f, 0.9f);
this.IdealMoistureRange = new Range(0.1f, 0.9f);
this.IdealWaterRange = new Range(0.5f, 1);
this.WaterExtremes = new Range(0.4f, 1.1f);
this.TemperatureExtremes = new Range(0.38f, 1);
this.MoistureExtremes = new Range(0, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[UnderWater]
public partial class UrchinBlock :
InteractablePlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsWaterweed : PlantLayerSettings
{
public PlantLayerSettingsWaterweed() : base()
{
this.Name = "Waterweed";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Waterweed"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Waterweed";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Waterweed : PlantEntity
{
public Waterweed(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Waterweed() { }
static PlantSpecies species;
public partial class WaterweedSpecies : PlantSpecies
{
public WaterweedSpecies() : base()
{
species = this;
this.InstanceType = typeof(Waterweed);
// Info
this.Decorative = false;
this.Name = "Waterweed";
this.DisplayName = Localizer.DoStr("Waterweed");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
this.Water = true;
// Food
this.CalorieValue = 5;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 4), 1)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(WaterweedBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.01f, MaxResourceContent = 0.01f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "UnderwaterFertileGround", ConsumedCapacityPerPop = 6 });
this.BlanketSpawnPercent = 0.7f;
this.IdealTemperatureRange = new Range(0.5f, 0.9f);
this.IdealMoistureRange = new Range(0.1f, 0.9f);
this.IdealWaterRange = new Range(0, 0.03f);
this.WaterExtremes = new Range(0, 0.05f);
this.TemperatureExtremes = new Range(0.38f, 1);
this.MoistureExtremes = new Range(0, 1);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[UnderWater, Reapable]
[MoveEfficiency(0.5f)]
public partial class WaterweedBlock :
PlantBlock { }
}

View file

@ -1,111 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsWheat : PlantLayerSettings
{
public PlantLayerSettingsWheat() : base()
{
this.Name = "Wheat";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Wheat"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Wheat";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Wheat : PlantEntity
{
public Wheat(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Wheat() { }
static PlantSpecies species;
public partial class WheatSpecies : PlantSpecies
{
public WheatSpecies() : base()
{
species = this;
this.InstanceType = typeof(Wheat);
// Info
this.Decorative = false;
this.Name = "Wheat";
this.DisplayName = Localizer.DoStr("Wheat");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 5;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(WheatItem), new Range(1, 6), 1),
new SpeciesResource(typeof(WheatSeedItem), new Range(1, 2), 0.2f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(WheatBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.3f, MaxResourceContent = 0.3f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Potassium", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.15f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.IdealTemperatureRange = new Range(0.55f, 0.58f);
this.IdealMoistureRange = new Range(0.32f, 0.35f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.4f, 0.8f);
this.MoistureExtremes = new Range(0.3f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.5f)]
public partial class WheatBlock :
PlantBlock { }
}

View file

@ -1,110 +0,0 @@
namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsWhiteBursage : PlantLayerSettings
{
public PlantLayerSettingsWhiteBursage() : base()
{
this.Name = "WhiteBursage";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("White Bursage"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "White Bursage";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class WhiteBursage : PlantEntity
{
public WhiteBursage(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public WhiteBursage() { }
static PlantSpecies species;
public partial class WhiteBursageSpecies : PlantSpecies
{
public WhiteBursageSpecies() : base()
{
species = this;
this.InstanceType = typeof(WhiteBursage);
// Info
this.Decorative = false;
this.Name = "WhiteBursage";
this.DisplayName = Localizer.DoStr("White Bursage");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 3), 1),
new SpeciesResource(typeof(WhiteBursageSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(WhiteBursageBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.00001f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Phosphorus", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.2f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.05f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 3 });
this.BlanketSpawnPercent = 0.6f;
this.IdealTemperatureRange = new Range(0.75f, 0.85f);
this.IdealMoistureRange = new Range(0.2f, 0.32f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.65f, 0.9f);
this.MoistureExtremes = new Range(0.12f, 0.38f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.7f)]
public partial class WhiteBursageBlock :
PlantBlock { }
}