public override void OnLoaded(ICoreAPI api) { base.OnLoaded(api); growthLightLevel = Attributes?["growthLightLevel"] != null ? Attributes["growthLightLevel"].AsInt(7) : 7; growthBlockLayer = Attributes?["growthBlockLayer"]?.AsString("l1soilwithgrass"); tallGrassGrowthChance = Attributes?["tallGrassGrowthChance"] != null ? Attributes["tallGrassGrowthChance"].AsFloat(0.3f) : 0.3f; growthChanceOnTick = Attributes?["growthChanceOnTick"] != null ? Attributes["growthChanceOnTick"].AsFloat(0.33f) : 0.33f; growOnlyWhereRainfallExposed = Attributes?["growOnlyWhereRainfallExposed"] != null ? Attributes["growOnlyWhereRainfallExposed"].AsBool(false) : false; tallGrassCodes.Add(new AssetLocation("tallgrass-veryshort-free")); tallGrassCodes.Add(new AssetLocation("tallgrass-short-free")); tallGrassCodes.Add(new AssetLocation("tallgrass-mediumshort-free")); tallGrassCodes.Add(new AssetLocation("tallgrass-medium-free")); tallGrassCodes.Add(new AssetLocation("tallgrass-tall-free")); tallGrassCodes.Add(new AssetLocation("tallgrass-verytall-free")); if (api.Side == EnumAppSide.Server) { (api as ICoreServerAPI).Event.ServerRunPhase(EnumServerRunPhase.RunGame, () => { blocklayerconfig = api.ModLoader.GetModSystem <GenBlockLayers>().blockLayerConfig; }); } chunksize = api.World.BlockAccessor.ChunkSize; }
public void InitWorldGen() { // dominionsmod saltWater = api.World.GetBlock(new AssetLocation("saltwater-still-7")).Id; LoadGlobalConfig(api); IAsset asset = api.Assets.Get("worldgen/rockstrata.json"); RockStrataConfig rockstrata = asset.ToObject <RockStrataConfig>(); asset = api.Assets.Get("worldgen/blocklayers.json"); blockLayerConfig = asset.ToObject <BlockLayerConfig>(); blockLayerConfig.ResolveBlockIds(api, rockstrata); rnd = new LCGRandom(api.WorldManager.Seed); grassDensity = new ClampedSimplexNoise(new double[] { 4 }, new double[] { 0.5 }, rnd.NextInt()); grassHeight = new ClampedSimplexNoise(new double[] { 1.5 }, new double[] { 0.5 }, rnd.NextInt()); mapheight = api.WorldManager.MapSizeY; }
public BlockLayers(IWorldAccessor world, string blockLayerId) { blockLayerConfig = BlockLayerConfig.GetInstance((ICoreServerAPI)world.Api); blockLayer = blockLayerConfig.GetBlockLayerById(world, blockLayerId); InitBlockLayers(world, blockLayer); }