From 7070de8c8aada010a91e535064826064d81c0631 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 24 Aug 2024 08:02:44 +1000 Subject: [PATCH] SPIGOT-7878: Server#getLootTable does not return null on invalid loot table --- src/main/java/org/bukkit/craftbukkit/CraftServer.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 117b47715..e16de43eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2492,7 +2492,10 @@ public final class CraftServer implements Server { Preconditions.checkArgument(key != null, "NamespacedKey key cannot be null"); ReloadableServerRegistries.b registry = getServer().reloadableRegistries(); - return new CraftLootTable(key, registry.getLootTable(CraftLootTable.bukkitKeyToMinecraft(key))); + return registry.lookup().lookup(Registries.LOOT_TABLE) + .flatMap((lookup) -> lookup.get(CraftLootTable.bukkitKeyToMinecraft(key))) + .map((holder) -> new CraftLootTable(key, holder.value())) + .orElse(null); } @Override