From d1810f241cb8e7b24e7eb1d018f97d5af15ea9ea Mon Sep 17 00:00:00 2001 From: David Date: Mon, 28 Apr 2025 17:36:46 +0200 Subject: [PATCH] Allow Server#getDefaultGameMode before worlds are initialized (#12490) --- .../src/main/java/org/bukkit/craftbukkit/CraftServer.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 71f7a8386..93d0bab5d 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -40,6 +40,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; import javax.imageio.ImageIO; +import net.minecraft.Optionull; import net.minecraft.advancements.AdvancementHolder; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; @@ -2261,7 +2262,11 @@ public final class CraftServer implements Server { @Override public GameMode getDefaultGameMode() { - return GameMode.getByValue(this.console.getLevel(net.minecraft.world.level.Level.OVERWORLD).serverLevelData.getGameType().getId()); + return GameMode.getByValue(Optionull.mapOrDefault( + this.console.getLevel(net.minecraft.world.level.Level.OVERWORLD), + l -> l.serverLevelData.getGameType(), + this.console.getProperties().gamemode + ).getId()); } @Override