001 package net.minecraftforge.event.terraingen; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 import net.minecraft.src.*; 006 import net.minecraftforge.event.*; 007 008 public class BiomeEvent extends Event 009 { 010 public final BiomeGenBase biome; 011 012 public BiomeEvent(BiomeGenBase biome) 013 { 014 this.biome = biome; 015 } 016 017 public static class CreateDecorator extends BiomeEvent 018 { 019 public final BiomeDecorator originalBiomeDecorator; 020 public BiomeDecorator newBiomeDecorator; 021 022 public CreateDecorator(BiomeGenBase biome, BiomeDecorator original) 023 { 024 super(biome); 025 originalBiomeDecorator = original; 026 newBiomeDecorator = original; 027 } 028 } 029 030 public static class BlockReplacement extends BiomeEvent 031 { 032 public final int original; 033 public int replacement; 034 035 public BlockReplacement(BiomeGenBase biome, int original, int replacement) 036 { 037 super(biome); 038 this.original = original; 039 this.replacement = replacement; 040 } 041 } 042 043 044 @SideOnly(Side.CLIENT) 045 public static class BiomeColor extends BiomeEvent 046 { 047 public final int originalColor; 048 public int newColor; 049 050 public BiomeColor(BiomeGenBase biome, int original) 051 { 052 super(biome); 053 originalColor = original; 054 newColor = original; 055 } 056 } 057 058 /** 059 * This event is fired when the village generator attempts to choose a block ID 060 * based on the village's biome. 061 * 062 * You can set the result to DENY to prevent the default block ID selection. 063 */ 064 @HasResult 065 public static class GetVillageBlockID extends BlockReplacement 066 { 067 public GetVillageBlockID(BiomeGenBase biome, int original, int replacement) 068 { 069 super(biome, original, replacement); 070 } 071 } 072 073 /** 074 * This event is fired when the village generator attempts to choose a block 075 * metadata based on the village's biome. 076 * 077 * You can set the result to DENY to prevent the default block metadata selection. 078 */ 079 @HasResult 080 public static class GetVillageBlockMeta extends BlockReplacement 081 { 082 public GetVillageBlockMeta(BiomeGenBase biome, int original, int replacement) 083 { 084 super(biome, original, replacement); 085 } 086 } 087 088 /** 089 * This event is fired when a biome is queried for its grass color. 090 */ 091 092 @SideOnly(Side.CLIENT) 093 public static class GetGrassColor extends BiomeColor 094 { 095 public GetGrassColor(BiomeGenBase biome, int original) 096 { 097 super(biome, original); 098 } 099 } 100 101 /** 102 * This event is fired when a biome is queried for its grass color. 103 */ 104 @SideOnly(Side.CLIENT) 105 public static class GetFoliageColor extends BiomeColor 106 { 107 public GetFoliageColor(BiomeGenBase biome, int original) 108 { 109 super(biome, original); 110 } 111 } 112 113 /** 114 * This event is fired when a biome is queried for its water color. 115 */ 116 @SideOnly(Side.CLIENT) 117 public static class GetWaterColor extends BiomeColor 118 { 119 public GetWaterColor(BiomeGenBase biome, int original) 120 { 121 super(biome, original); 122 } 123 } 124 }