Fixed weird null pdc bugf

This commit is contained in:
Auxilor
2021-10-20 20:35:56 +01:00
parent 6c294fbed5
commit a2e3be13cc

View File

@@ -19,6 +19,7 @@ import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -79,8 +80,8 @@ public class EnchantDisplay extends DisplayModule {
@Override
public void display(@NotNull final ItemStack itemStack,
@Nullable final Player player,
@NotNull final Object... args) {
@Nullable final Player player,
@NotNull final Object... args) {
if (options.isRequireTarget()) {
if (!EnchantmentTarget.ALL.getMaterials().contains(itemStack.getType())) {
return;
@@ -206,14 +207,22 @@ public class EnchantDisplay extends DisplayModule {
assert meta != null;
meta.getPersistentDataContainer().remove(legacyV);
PersistentDataContainer pdc = meta.getPersistentDataContainer();
if (!meta.getPersistentDataContainer().has(keySkip, PersistentDataType.INTEGER)) {
// Fixes weird bug. Apparently nullable.
//noinspection ConstantConditions
if (pdc == null) {
return;
}
pdc.remove(legacyV);
if (!pdc.has(keySkip, PersistentDataType.INTEGER)) {
meta.removeItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
meta.removeItemFlags(ItemFlag.HIDE_ENCHANTS);
}
meta.getPersistentDataContainer().remove(keySkip);
pdc.remove(keySkip);
itemStack.setItemMeta(meta);
}