public void GenerateOre(MinableGenerator generator, IWorld world, IGrainFactory grainFactory, ChunkColumnCompactStorage chunk, Random random, BlockWorldPos position, int count, int minHeight, int maxHeight) { if (minHeight > maxHeight) { int tmp = minHeight; minHeight = maxHeight; maxHeight = tmp; } else if (maxHeight == minHeight) { if (minHeight < 255) { ++maxHeight; } else { --minHeight; } } for (int j = 0; j < count; ++j) { BlockWorldPos blockpos = BlockWorldPos.Add( position, random.Next(16), random.Next(maxHeight - minHeight) + minHeight, random.Next(16)); generator.Generate(world, grainFactory, chunk, random, blockpos); } }
public Biome(BiomeProperties properties, GeneratorSettings genSettings) { _genSettings = genSettings; _name = properties.BiomeName; _biomeId = properties.BiomeId; _baseHeight = properties.BaseHeight; _heightVariation = properties.HeightVariation; _temperature = properties.Temperature; _rainfall = properties.Rainfall; _waterColor = properties.WaterColor; _enableSnow = properties.EnableSnow; _enableRain = properties.EnableRain; _dirtGen = new MinableGenerator( BlockStates.Dirt(), genSettings.DirtSize); _gravelOreGen = new MinableGenerator( BlockStates.Gravel(), genSettings.GravelSize); _graniteGen = new MinableGenerator( BlockStates.Stone(StoneType.Granite), genSettings.GraniteSize); _dioriteGen = new MinableGenerator( BlockStates.Stone(StoneType.Diorite), genSettings.DioriteSize); _andesiteGen = new MinableGenerator( BlockStates.Stone(StoneType.Andesite), genSettings.AndesiteSize); _coalGen = new MinableGenerator( BlockStates.CoalOre(), genSettings.CoalSize); _ironGen = new MinableGenerator( BlockStates.IronOre(), genSettings.IronSize); _goldGen = new MinableGenerator( BlockStates.GoldOre(), genSettings.GoldSize); _redstoneGen = new MinableGenerator( BlockStates.RedstoneOre(), genSettings.RedstoneSize); _diamondGen = new MinableGenerator( BlockStates.DiamondOre(), genSettings.DiamondSize); _lapisGen = new MinableGenerator( BlockStates.LapisLazuliOre(), genSettings.LapisSize); _treesPerChunk = 0; // mc 0 _extraTreeChance = 0.05F; // mc 0.05F _grassPerChunk = 10; _flowersPerChunk = 4; _mushroomsPerChunk = 0; _deadBushPerChunk = 2; _reedsPerChunk = 50; _cactiPerChunk = 10; }