From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Date: Sat, 16 Oct 2021 17:38:35 -0700
Subject: [PATCH] Use correct LevelStem registry when loading default
 end/nether


diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index c8876b000a03f18e7a140167ed4505a9843a8d14..7636b0ae9031e06fd8b4a0c359a45a17e6e075de 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -641,7 +641,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
             long i = generatorsettings.seed();
             long j = BiomeManager.obfuscateSeed(i);
             List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(iworlddataserver));
-            LevelStem worlddimension = (LevelStem) registrymaterials.get(dimensionKey);
+            // Paper start - Use correct LevelStem registry
+            LevelStem worlddimension = generatorsettings.dimensions().get(dimensionKey);
+            if (worlddimension == null) {
+                worlddimension = registrymaterials.get(dimensionKey);
+            }
+            // Paper end
             DimensionType dimensionmanager;
             ChunkGenerator chunkgenerator;