protected override void OnProcessBlock(MCUtils.World world, int x, int y, int z, int pass, float mask) { foreach (Ore o in ores) { if (random.NextDouble() * rarityMul < o.spawnsPerBlock) { SpawnOre(world, o, x, y, z); } } }
private void SpawnOre(MCUtils.World world, Ore ore, int x, int y, int z) { for (int i = 0; i < ore.veinSizeMax; i++) { int x1 = x + RandomRange(-1, 1); int y1 = y + RandomRange(-1, 1); int z1 = z + RandomRange(-1, 1); if (world.IsDefaultBlock(x1, y1, z1)) { world.SetBlock(x1, y1, z1, ore.block); } } }