001 package net.minecraftforge.event.terraingen; 002 003 import java.util.Random; 004 005 import net.minecraft.src.*; 006 import net.minecraftforge.common.*; 007 import net.minecraftforge.event.Event.*; 008 import net.minecraftforge.event.terraingen.DecorateBiomeEvent.*; 009 import net.minecraftforge.event.terraingen.OreGenEvent.*; 010 import net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.*; 011 import net.minecraftforge.event.terraingen.PopulateChunkEvent.*; 012 013 public abstract class TerrainGen 014 { 015 public static NoiseGeneratorOctaves[] getModdedNoiseGenerators(World world, Random rand, NoiseGeneratorOctaves[] original) 016 { 017 InitNoiseGensEvent event = new InitNoiseGensEvent(world, rand, original); 018 MinecraftForge.TERRAIN_GEN_BUS.post(event); 019 return event.newNoiseGens; 020 } 021 022 public static MapGenBase getModdedMapGen(MapGenBase original, InitMapGenEvent.EventType type) 023 { 024 InitMapGenEvent event = new InitMapGenEvent(type, original); 025 MinecraftForge.TERRAIN_GEN_BUS.post(event); 026 return event.newGen; 027 } 028 029 public static boolean populate(IChunkProvider chunkProvider, World world, Random rand, int chunkX, int chunkZ, boolean hasVillageGenerated, Populate.EventType type) 030 { 031 PopulateChunkEvent.Populate event = new PopulateChunkEvent.Populate(chunkProvider, world, rand, chunkX, chunkZ, hasVillageGenerated, type); 032 MinecraftForge.TERRAIN_GEN_BUS.post(event); 033 return event.getResult() != Result.DENY; 034 } 035 036 public static boolean decorate(World world, Random rand, int chunkX, int chunkZ, Decorate.EventType type) 037 { 038 Decorate event = new Decorate(world, rand, chunkX, chunkZ, type); 039 MinecraftForge.TERRAIN_GEN_BUS.post(event); 040 return event.getResult() != Result.DENY; 041 } 042 043 public static boolean generateOre(World world, Random rand, WorldGenerator generator, int worldX, int worldZ, GenerateMinable.EventType type) 044 { 045 GenerateMinable event = new GenerateMinable(world, rand, generator, worldX, worldZ, type); 046 MinecraftForge.ORE_GEN_BUS.post(event); 047 return event.getResult() != Result.DENY; 048 } 049 050 public static boolean saplingGrowTree(World world, Random rand, int x, int y, int z) 051 { 052 SaplingGrowTreeEvent event = new SaplingGrowTreeEvent(world, rand, x, y, z); 053 MinecraftForge.TERRAIN_GEN_BUS.post(event); 054 return event.getResult() != Result.DENY; 055 } 056 }