From 3a44eabe5dc31463e219ff49b5de713db1df39a4 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sat, 10 Oct 2020 13:50:21 +0100 Subject: [PATCH] Fixed (hopefully) items from before 4.1.0-pre11 having hidden enchantments --- .../java/com/willfp/ecoenchants/display/EnchantDisplay.java | 2 +- .../com/willfp/ecoenchants/display/packets/PacketSetSlot.java | 3 +++ .../willfp/ecoenchants/display/packets/PacketWindowItems.java | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java index 8715eb51..2ce7cb62 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java @@ -30,7 +30,7 @@ public final class EnchantDisplay { * @deprecated This is no longer used due to a change in the lore storage mechanism */ @Deprecated - private static final NamespacedKey KEY = new NamespacedKey(EcoEnchantsPlugin.getInstance(), "ecoenchantlore-len"); + public static final NamespacedKey KEY = new NamespacedKey(EcoEnchantsPlugin.getInstance(), "ecoenchantlore-len"); /** * The meta key to hide enchantments in lore diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetSlot.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetSlot.java index 45dc5e2a..ad6fe50a 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetSlot.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetSlot.java @@ -5,6 +5,7 @@ import com.comphenix.protocol.events.PacketContainer; import com.willfp.ecoenchants.display.AbstractPacketAdapter; import com.willfp.ecoenchants.display.EnchantDisplay; import org.bukkit.inventory.ItemFlag; +import org.bukkit.persistence.PersistentDataType; public final class PacketSetSlot extends AbstractPacketAdapter { public PacketSetSlot() { @@ -18,6 +19,8 @@ public final class PacketSetSlot extends AbstractPacketAdapter { if(item != null && item.getItemMeta() != null) { hideEnchants = item.getItemMeta().getItemFlags().contains(ItemFlag.HIDE_ENCHANTS); + if(hideEnchants && item.getItemMeta().getPersistentDataContainer().has(EnchantDisplay.KEY, PersistentDataType.INTEGER)) + hideEnchants = false; } item = EnchantDisplay.displayEnchantments(item, hideEnchants); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketWindowItems.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketWindowItems.java index 6ea9f1bf..f64b7bc1 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketWindowItems.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketWindowItems.java @@ -5,6 +5,7 @@ import com.comphenix.protocol.events.PacketContainer; import com.willfp.ecoenchants.display.AbstractPacketAdapter; import com.willfp.ecoenchants.display.EnchantDisplay; import org.bukkit.inventory.ItemFlag; +import org.bukkit.persistence.PersistentDataType; public final class PacketWindowItems extends AbstractPacketAdapter { public PacketWindowItems() { @@ -20,6 +21,8 @@ public final class PacketWindowItems extends AbstractPacketAdapter { if(item != null && item.getItemMeta() != null) { hideEnchants = item.getItemMeta().getItemFlags().contains(ItemFlag.HIDE_ENCHANTS); + if(hideEnchants && item.getItemMeta().getPersistentDataContainer().has(EnchantDisplay.KEY, PersistentDataType.INTEGER)) + hideEnchants = false; } EnchantDisplay.displayEnchantments(item, hideEnchants);