diff --git a/game/client/src/main/java/net/minecraft/client/render/worldtype/WorldTypeFXNether.java b/game/client/src/main/java/net/minecraft/client/render/worldtype/WorldTypeFXNether.java
index d9e3c6d3a..094521c3e 100644
--- a/game/client/src/main/java/net/minecraft/client/render/worldtype/WorldTypeFXNether.java
+++ b/game/client/src/main/java/net/minecraft/client/render/worldtype/WorldTypeFXNether.java
@@ -53,20 +53,31 @@ public class WorldTypeFXNether extends WorldTypeFX {
 
     @Override
     public void playerAnimationTick(@NotNull World world, @NotNull Player player) {
-        final int radius = 12;
-
         TilePos tilePos = new TilePos(player);
         Biome localBiome = world.getBlockBiome(tilePos);
         if (localBiome == Biomes.NETHER_OLD_WORLD) {
+            final int radius = 12;
             for (int i = 0; i < 3; i++) {
                 double rx = (player.x - radius) + (world.rand.nextDouble() * radius * 2);
                 double ry = (player.y - radius) + (world.rand.nextDouble() * radius * 2);
                 double rz = (player.z - radius) + (world.rand.nextDouble() * radius * 2);
 
-                if (world.getBlockType(new TilePos(rx, ry, rz)) == Blocks.AIR) {
+                if (world.getBlockType(tilePos.set(MathHelper.floor(rx), MathHelper.floor(ry), MathHelper.floor(rz))) == Blocks.AIR) {
                     world.spawnParticle("ashmote", rx, ry, rz, 0, 0, 0, 0);
                 }
             }
         }
+        if (localBiome == Biomes.NETHER_VOLCANIC_ISLANDS) {
+            final int radius = 24;
+            for (int i = 0; i < 2; i++) {
+                double rx = (player.x - radius) + (world.rand.nextDouble() * radius * 2);
+                double ry = (player.y - radius) + (world.rand.nextDouble() * radius * 2);
+                double rz = (player.z - radius) + (world.rand.nextDouble() * radius * 2);
+
+                if (world.getBlockType(tilePos.set(MathHelper.floor(rx), MathHelper.floor(ry), MathHelper.floor(rz))) == Blocks.AIR) {
+                    world.spawnParticle("flame", rx, ry, rz, 0, 0, 0, 0);
+                }
+            }
+        }
     }
 }
diff --git a/game/client/src/main/resources/assets/minecraft/textures/block/ore/nethercoal/netherrack.png b/game/client/src/main/resources/assets/minecraft/textures/block/ore/nethercoal/netherrack.png
index 6fda4bae7..bacb43b19 100644
Binary files a/game/client/src/main/resources/assets/minecraft/textures/block/ore/nethercoal/netherrack.png and b/game/client/src/main/resources/assets/minecraft/textures/block/ore/nethercoal/netherrack.png differ
diff --git a/game/core/src/main/java/net/minecraft/core/world/generate/chunk/perlin/nether/ChunkDecoratorNether.java b/game/core/src/main/java/net/minecraft/core/world/generate/chunk/perlin/nether/ChunkDecoratorNether.java
index 2d09346c8..a55416817 100644
--- a/game/core/src/main/java/net/minecraft/core/world/generate/chunk/perlin/nether/ChunkDecoratorNether.java
+++ b/game/core/src/main/java/net/minecraft/core/world/generate/chunk/perlin/nether/ChunkDecoratorNether.java
@@ -29,7 +29,7 @@ public class ChunkDecoratorNether
         );
         this.register("minecraft:decoration/nether/default/rubyglass_crystal_ceiling",
                 new ChunkDecorationBuilder(new WorldFeatureRubyglassCrystal(true))
-                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST })
+                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST, Biomes.NETHER_CRYSTAL_FIELD })
                         .withPositionSelector(PositionSelectors.UpperHeightRangeUniform)
                         .withPlacementMethod(((feature, world, chunk, random) -> {
                             int x = chunk.pos.x * 16;
@@ -44,7 +44,7 @@ public class ChunkDecoratorNether
 
         this.register("minecraft:decoration/nether/default/rubyglass_crystal_floor",
                 new ChunkDecorationBuilder(new WorldFeatureRubyglassCrystal(false, 25, 50))
-                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST })
+                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST, Biomes.NETHER_CRYSTAL_FIELD })
                         .withPositionSelector(PositionSelectors.UpperHeightRangeUniform)
                         .withPlacementMethod(((feature, world, chunk, random) -> {
                             int x = chunk.pos.x * 16;
@@ -59,34 +59,34 @@ public class ChunkDecoratorNether
 
         this.register("minecraft:decoration/nether/default/rubyglass_crystal_floor_2",
                 new ChunkDecorationBuilder(new WorldFeatureRubyglassCrystal(false,  20, 30))
-                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST })
+                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST, Biomes.NETHER_CRYSTAL_FIELD })
                         .withPositionSelector(PositionSelectors.UpperHeightRangeUniform)
                         .withPlacementMethod(new PlacementMethod.TriesPerChunk(4))
         );
 
         this.register("minecraft:decoration/nether/default/rubyglass_sprout_patch",
                 new ChunkDecorationBuilder(new WorldFeatureRubyglassSproutPatch())
-                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST })
+                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST, Biomes.NETHER_CRYSTAL_FIELD })
                         .withPositionSelector(PositionSelectors.HeightRangeUniformFromOcean)
                         .withPlacementMethod(new PlacementMethod.TriesPerChunk(20))
         );
 
         this.register("minecraft:decoration/nether/default/nether_water_spring",
                 new ChunkDecorationBuilder(new WorldFeatureNetherSpring(Blocks.FLUID_WATER_FLOWING.id()))
-                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST, Biomes.NETHER_OLD_WORLD })
+                        .withBiomeMask(new Biome[]{ Biomes.NETHER_CRYSTAL_FOREST, Biomes.NETHER_CRYSTAL_FIELD, Biomes.NETHER_OLD_WORLD })
                         .withPositionSelector(PositionSelectors.HeightRangeBiasedTop)
                         .withPlacementMethod(new PlacementMethod.TriesPerChunk(30))
         );
 
         this.register("minecraft:decoration/nether/default/nether_lava_spring",
-                new ChunkDecorationBuilder(new WorldFeatureNetherSpring(Blocks.FLUID_WATER_FLOWING.id()))
+                new ChunkDecorationBuilder(new WorldFeatureNetherSpring(Blocks.FLUID_LAVA_FLOWING.id()))
                         .withBiomeMask(new Biome[]{ Biomes.NETHER_VOLCANIC_ISLANDS, Biomes.NETHER_SULFUR_POOLS, Biomes.NETHER_CRAG, Biomes.NETHER_SHELF })
                         .withPositionSelector(PositionSelectors.HeightRangeBiasedTop)
                         .withPlacementMethod(new PlacementMethod.TriesPerChunk(30))
         );
 
         this.register("minecraft:decoration/nether/default/nether_lava_spring_2",
-                new ChunkDecorationBuilder(new WorldFeatureNetherSpring(Blocks.FLUID_WATER_FLOWING.id()))
+                new ChunkDecorationBuilder(new WorldFeatureNetherSpring(Blocks.FLUID_LAVA_FLOWING.id()))
                         .withBiomeMask(new Biome[]{ Biomes.NETHER_VOLCANIC_ISLANDS })
                         .withPositionSelector(PositionSelectors.HeightRangeBiasedTop)
                         .withPlacementMethod(new PlacementMethod.TriesPerChunk(20))
@@ -101,14 +101,14 @@ public class ChunkDecoratorNether
 
         this.register("minecraft:decoration/nether/default/pillar_cobble_basalt",
                 new ChunkDecorationBuilder(new WorldFeaturePillar(Blocks.COBBLE_BASALT.id(), true))
-                        .withBiomeMask(new Biome[]{ Biomes.NETHER_SULFUR_POOLS })
+                        .withBiomeMask(new Biome[]{ Biomes.NETHER_SULFUR_POOLS, Biomes.NETHER_VOLCANIC_ISLANDS })
                         .withPositionSelector(PositionSelectors.UpperHeightRangeUniform)
                         .withPlacementMethod(new PlacementMethod.TriesPerChunk(4))
         );
 
         this.register("minecraft:decoration/nether/default/boulder",
                 new ChunkDecorationBuilder(new WorldFeatureMagmaBoulder())
-                        .withBiomeMask(new Biome[]{ Biomes.NETHER_SULFUR_POOLS })
+                        .withBiomeMask(new Biome[]{ Biomes.NETHER_SULFUR_POOLS, Biomes.NETHER_VOLCANIC_ISLANDS })
                         .withPositionSelector(PositionSelectors.HeightRangeUniformFromOcean)
                         .withPlacementMethod(new PlacementMethod.TriesPerChunk(2))
         );
diff --git a/game/core/src/main/java/net/minecraft/core/world/type/WorldTypes.java b/game/core/src/main/java/net/minecraft/core/world/type/WorldTypes.java
index d2960163b..7f41111a6 100644
--- a/game/core/src/main/java/net/minecraft/core/world/type/WorldTypes.java
+++ b/game/core/src/main/java/net/minecraft/core/world/type/WorldTypes.java
@@ -30,7 +30,7 @@ public abstract class WorldTypes {
             "minecraft:nether.default",
             new WorldTypeNether(
                     WorldTypeNether.defaultProperties("worldType.nether.default")
-                        .portalBounds(127, 255)
+                        .portalBounds(63, 255)
             )
     );
     public static final @NotNull WorldType NETHER_SKYBLOCK = register(
