--- a/net/minecraft/world/biome/Biome.java
+++ b/net/minecraft/world/biome/Biome.java
@@ -53,7 +53,7 @@
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
-public final class Biome {
+public final class Biome extends net.minecraftforge.registries.ForgeRegistryEntry<Biome> {
    public static final Logger field_150586_aC = LogManager.getLogger();
    public static final Codec<Biome> field_242418_b = RecordCodecBuilder.create((p_235064_0_) -> {
       return p_235064_0_.group(Biome.Climate.field_242459_a.forGetter((p_242446_0_) -> {
@@ -70,7 +70,9 @@
          return p_242443_0_.field_242424_k;
       }), MobSpawnInfo.field_242552_c.forGetter((p_242442_0_) -> {
          return p_242442_0_.field_242425_l;
-      })).apply(p_235064_0_, Biome::new);
+      }), ResourceLocation.field_240908_a_.fieldOf("forge:registry_name").forGetter(Biome::getRegistryName))
+      .apply(p_235064_0_, (climate, category, depth, scale, effects, gen, spawns, name) ->
+          net.minecraftforge.common.ForgeHooks.enhanceBiome(name, climate, category, depth, scale, effects, gen, spawns, p_235064_0_, Biome::new));
    });
    public static final Codec<Biome> field_242419_c = RecordCodecBuilder.create((p_242432_0_) -> {
       return p_242432_0_.group(Biome.Climate.field_242459_a.forGetter((p_242441_0_) -> {
@@ -200,7 +202,7 @@
       } else {
          if (p_201850_2_.func_177956_o() >= 0 && p_201850_2_.func_177956_o() < 256 && p_201850_1_.func_226658_a_(LightType.BLOCK, p_201850_2_) < 10) {
             BlockState blockstate = p_201850_1_.func_180495_p(p_201850_2_);
-            if (blockstate.func_196958_f() && Blocks.field_150433_aE.func_176223_P().func_196955_c(p_201850_1_, p_201850_2_)) {
+            if (blockstate.isAir(p_201850_1_, p_201850_2_) && Blocks.field_150433_aE.func_176223_P().func_196955_c(p_201850_1_, p_201850_2_)) {
                return true;
             }
          }
