From 6e755020abbd73dabf2593060b7641fda9b80e71 Mon Sep 17 00:00:00 2001 From: DerFrZocker Date: Tue, 1 Mar 2022 21:02:14 +0100 Subject: [PATCH] SPIGOT-6952: Tag#isTagged throws NullPointerException in 1.18.2 --- .../java/org/bukkit/craftbukkit/tag/CraftBlockTag.java | 9 ++++++++- .../java/org/bukkit/craftbukkit/tag/CraftItemTag.java | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/bukkit/craftbukkit/tag/CraftBlockTag.java b/src/main/java/org/bukkit/craftbukkit/tag/CraftBlockTag.java index df180227e..e3f746589 100644 --- a/src/main/java/org/bukkit/craftbukkit/tag/CraftBlockTag.java +++ b/src/main/java/org/bukkit/craftbukkit/tag/CraftBlockTag.java @@ -17,7 +17,14 @@ public class CraftBlockTag extends CraftTag { @Override public boolean isTagged(Material item) { - return CraftMagicNumbers.getBlock(item).builtInRegistryHolder().is(tag); + Block block = CraftMagicNumbers.getBlock(item); + + // SPIGOT-6952: A Material is not necessary a block, in this case return false + if (block == null) { + return false; + } + + return block.builtInRegistryHolder().is(tag); } @Override diff --git a/src/main/java/org/bukkit/craftbukkit/tag/CraftItemTag.java b/src/main/java/org/bukkit/craftbukkit/tag/CraftItemTag.java index 3a5bcbc81..24e6130f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/tag/CraftItemTag.java +++ b/src/main/java/org/bukkit/craftbukkit/tag/CraftItemTag.java @@ -17,7 +17,14 @@ public class CraftItemTag extends CraftTag { @Override public boolean isTagged(Material item) { - return CraftMagicNumbers.getItem(item).builtInRegistryHolder().is(tag); + Item minecraft = CraftMagicNumbers.getItem(item); + + // SPIGOT-6952: A Material is not necessary an item, in this case return false + if (minecraft == null) { + return false; + } + + return minecraft.builtInRegistryHolder().is(tag); } @Override