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