--- ../src-base/minecraft/net/minecraft/world/biome/WorldChunkManager.java
+++ ../src-work/minecraft/net/minecraft/world/biome/WorldChunkManager.java
@@ -14,8 +14,13 @@
 import net.minecraftforge.fml.relauncher.Side;
 import net.minecraftforge.fml.relauncher.SideOnly;
 
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.event.terraingen.WorldTypeEvent;
+import static net.minecraft.world.biome.BiomeGenBase.*;
+
 public class WorldChunkManager
 {
+    public static List<BiomeGenBase> allowedBiomes = Lists.newArrayList(field_76767_f, field_76772_c, field_76768_g, field_76784_u, field_76785_t, field_76782_w, field_76792_x);
     private GenLayer field_76944_d;
     private GenLayer field_76945_e;
     private BiomeCache field_76942_f;
@@ -28,13 +33,7 @@
         this.field_76942_f = new BiomeCache(this);
         this.field_180301_f = "";
         this.field_76943_g = Lists.newArrayList();
-        this.field_76943_g.add(BiomeGenBase.field_76767_f);
-        this.field_76943_g.add(BiomeGenBase.field_76772_c);
-        this.field_76943_g.add(BiomeGenBase.field_76768_g);
-        this.field_76943_g.add(BiomeGenBase.field_76784_u);
-        this.field_76943_g.add(BiomeGenBase.field_76785_t);
-        this.field_76943_g.add(BiomeGenBase.field_76782_w);
-        this.field_76943_g.add(BiomeGenBase.field_76792_x);
+        this.field_76943_g.addAll(allowedBiomes);
     }
 
     public WorldChunkManager(long p_i45744_1_, WorldType p_i45744_3_, String p_i45744_4_)
@@ -42,6 +41,7 @@
         this();
         this.field_180301_f = p_i45744_4_;
         GenLayer[] agenlayer = GenLayer.func_180781_a(p_i45744_1_, p_i45744_3_, p_i45744_4_);
+        agenlayer = getModdedBiomeGenerators(p_i45744_3_, p_i45744_1_, agenlayer);
         this.field_76944_d = agenlayer[0];
         this.field_76945_e = agenlayer[1];
     }
@@ -250,4 +250,11 @@
     {
         this.field_76942_f.func_76838_a();
     }
+
+    public GenLayer[] getModdedBiomeGenerators(WorldType worldType, long seed, GenLayer[] original)
+    {
+        WorldTypeEvent.InitBiomeGens event = new WorldTypeEvent.InitBiomeGens(worldType, seed, original);
+        MinecraftForge.TERRAIN_GEN_BUS.post(event);
+        return event.newBiomeGens;
+    }
 }
