From bf41513d82324bd36245fd0fbffb1b79c0799990 Mon Sep 17 00:00:00 2001 From: LeoDog896 Date: Tue, 4 May 2021 11:52:36 -0400 Subject: [PATCH] Avoid NPE when getting NBT --- src/main/java/net/minestom/server/item/ItemTag.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minestom/server/item/ItemTag.java b/src/main/java/net/minestom/server/item/ItemTag.java index 8cd2a4b1a..6f0c02a65 100644 --- a/src/main/java/net/minestom/server/item/ItemTag.java +++ b/src/main/java/net/minestom/server/item/ItemTag.java @@ -84,7 +84,16 @@ public class ItemTag { public static @NotNull ItemTag NBT(@NotNull String key) { return new ItemTag<>(key, - nbt -> nbt.get(key).deepClone(), + nbt -> { + var currentNBT = nbt.get(key); + + // Avoid a NPE when cloning a null variable. + if (currentNBT == null) { + return null; + } + + return currentNBT.deepClone(); + }, ((nbt, value) -> nbt.set(key, value.deepClone()))); }