public void replaceBiomeBlocks(int x, int z, ChunkPrimer primer, IChunkGenerator generator, Biome[] biomes) { if (!net.minecraftforge.event.ForgeEventFactory.onReplaceBiomeBlocks(generator, x, z, primer, this.world)) return; this.depthBuffer = this.surfaceNoise.getRegion(this.depthBuffer, (x * 16), (z * 16), 16, 16, 0.0625D, 0.0625D, 1.0D); for (int i = 0; i < 16; ++i) { for (int j = 0; j < 16; ++j) { Biome biome = biomes[j + i * 16]; biome.genTerrainBlocks(this.world, this.random, primer, x * 16 + i, z * 16 + j, this.depthBuffer[j + i * 16]); } } }
/** * Replace biome blocks. */ public void replaceBiomeBlocks() { if (!ForgeEventFactory.onReplaceBiomeBlocks(this, chunkX, chunkZ, chunkPrimer, world)) { return; } depthBuffer = surfaceNoise.getRegion(depthBuffer, chunkX * 16, chunkZ * 16, 16, 16, 0.0625D, 0.0625D, 1.0D); for (int xInChunk = 0; xInChunk < 16; ++xInChunk) { for (int zInChunk = 0; zInChunk < 16; ++zInChunk) { biome.genTerrainBlocks(world, rand, chunkPrimer, chunkX * 16 + xInChunk, chunkZ * 16 + zInChunk, depthBuffer[zInChunk + xInChunk * 16]); } } }
@Override public void generate(ChunkProviderOverworld overworld, ChunkPrimer primer, int chunkX, int chunkZ) { overworld.depthBuffer = overworld.surfaceNoise.getRegion(overworld.depthBuffer, (double) (chunkX * 16), (double) (chunkZ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); for (int i = 0; i < 16; ++i) { for (int j = 0; j < 16; ++j) { Biome biome = overworld.biomesForGeneration[j + i * 16]; if (biome == Biomes.OCEAN || biome == Biomes.DEEP_OCEAN || biome == Biomes.FROZEN_OCEAN || biome == Biomes.BEACH) { genSandyOceans(overworld.worldObj, overworld.rand, primer, chunkX * 16 + i, chunkZ * 16 + j, overworld.depthBuffer[j + i * 16]); } else { biome.genTerrainBlocks(overworld.worldObj, overworld.rand, primer, chunkX * 16 + i, chunkZ * 16 + j, overworld.depthBuffer[j + i * 16]); } } } if (DEEP_SEA_TRENCHES) trenches.generate(overworld.worldObj, chunkX, chunkZ, primer); }
public void replaceBlocksForBiome(int chunkX, int chunkZ, ChunkPrimer primer, Biome[] Biomes) { ChunkGeneratorEvent.ReplaceBiomeBlocks event = new ChunkGeneratorEvent.ReplaceBiomeBlocks(provider, chunkX, chunkZ, primer, world); MinecraftForge.EVENT_BUS.post(event); if (event.getResult() == Event.Result.DENY) { return; } double d0 = 0.03125D; this.depthBuffer = this.surfaceNoise.getRegion(this.depthBuffer, (chunkX * 16), (chunkZ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); for (int k = 0; k < 16; ++k) { for (int l = 0; l < 16; ++l) { Biome Biome = Biomes[l + k * 16]; Biome.genTerrainBlocks(world, provider.rand, primer, chunkX * 16 + k, chunkZ * 16 + l, this.depthBuffer[l + k * 16]); } } }