From a139f6647d7983ba043bf8478656810c14e3db88 Mon Sep 17 00:00:00 2001 From: Daniel Saukel Date: Sun, 4 Jul 2021 17:14:32 +0200 Subject: [PATCH] Fix dungeon item version scope --- .../java/de/erethon/dungeonsxl/DungeonsXL.java | 16 +++++++++++++--- .../dungeonsxl/command/DCommandCache.java | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java b/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java index f4c93a0c..b7d411ee 100644 --- a/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java +++ b/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java @@ -106,7 +106,6 @@ import org.bukkit.event.HandlerList; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; import org.bukkit.scheduler.BukkitRunnable; @@ -789,7 +788,7 @@ public class DungeonsXL extends DREPlugin implements DungeonsAPI { @Override public boolean isDungeonItem(ItemStack itemStack) { - if (!de.erethon.commons.compatibility.Version.isAtLeast(de.erethon.commons.compatibility.Version.MC1_13)) { + if (!Version.isAtLeast(Version.MC1_16_5)) { return false; } if (itemStack == null || !itemStack.hasItemMeta()) { @@ -800,9 +799,20 @@ public class DungeonsXL extends DREPlugin implements DungeonsAPI { @Override public ItemStack setDungeonItem(ItemStack itemStack, boolean dungeonItem) { + if (!Version.isAtLeast(Version.MC1_16_5)) { + return null; + } + if (itemStack == null || !itemStack.hasItemMeta()) { + return null; + } ItemStack dIStack = itemStack.clone(); ItemMeta meta = dIStack.getItemMeta(); - meta.getPersistentDataContainer().set(NamespacedKey.fromString("dungeon_item", this), PersistentDataType.BYTE, (byte) 1); + NamespacedKey key = NamespacedKey.fromString("dungeon_item", this); + if (dungeonItem) { + meta.getPersistentDataContainer().set(key, PersistentDataType.BYTE, (byte) 1); + } else { + meta.getPersistentDataContainer().remove(key); + } dIStack.setItemMeta(meta); return dIStack; } diff --git a/core/src/main/java/de/erethon/dungeonsxl/command/DCommandCache.java b/core/src/main/java/de/erethon/dungeonsxl/command/DCommandCache.java index 2203ce35..69d0a0e7 100644 --- a/core/src/main/java/de/erethon/dungeonsxl/command/DCommandCache.java +++ b/core/src/main/java/de/erethon/dungeonsxl/command/DCommandCache.java @@ -101,7 +101,7 @@ public class DCommandCache extends DRECommandCache { addCommand(breakCmd); addCommand(create); addCommand(delete); - if (Version.isAtLeast(Version.MC1_13)) { + if (Version.isAtLeast(Version.MC1_16_5)) { addCommand(dungeonItem); } addCommand(edit);