aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0884-Fix-NPE-for-BlockDataMeta-getBlockData.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0884-Fix-NPE-for-BlockDataMeta-getBlockData.patch')
-rw-r--r--patches/server/0884-Fix-NPE-for-BlockDataMeta-getBlockData.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/patches/server/0884-Fix-NPE-for-BlockDataMeta-getBlockData.patch b/patches/server/0884-Fix-NPE-for-BlockDataMeta-getBlockData.patch
new file mode 100644
index 0000000000..d33dabf6c9
--- /dev/null
+++ b/patches/server/0884-Fix-NPE-for-BlockDataMeta-getBlockData.patch
@@ -0,0 +1,22 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+Date: Sun, 27 Mar 2022 16:00:28 -0700
+Subject: [PATCH] Fix NPE for BlockDataMeta#getBlockData
+
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+index a8294bf057e03c5d866f6da31e6cdfa9edd3f146..3c4dadd0012c11191c873fe25a7625193563915d 100644
+--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+@@ -1093,7 +1093,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+
+ @Override
+ public BlockData getBlockData(Material material) {
+- return CraftBlockData.fromData(BlockItem.getBlockState(CraftMagicNumbers.getBlock(material).defaultBlockState(), blockData));
++ // Paper start - fix NPE if this.blockData is null
++ final net.minecraft.world.level.block.state.BlockState defaultBlockState = CraftMagicNumbers.getBlock(material).defaultBlockState();
++ return CraftBlockData.fromData(this.blockData == null ? defaultBlockState : BlockItem.getBlockState(defaultBlockState, blockData));
++ // Paper end
+ }
+
+ @Override