diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/config/serializer/ItemSerializer.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/config/serializer/ItemSerializer.java index ee542de5..7af0c241 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/config/serializer/ItemSerializer.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/config/serializer/ItemSerializer.java @@ -77,6 +77,7 @@ public class ItemSerializer implements TypeSerializer { item.setAmount(amountNode.getInt(1)); ItemMeta itemMeta = item.getItemMeta(); + if (itemMeta == null) return item; if (!nameNode.virtual()) itemMeta.setDisplayName(StringUtils.parseStringToString(Utils.replaceIfNull(nameNode.getString(), ""))); if (!unbreakableNode.virtual()) itemMeta.setUnbreakable(unbreakableNode.getBoolean()); if (!glowingNode.virtual()) { diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemAdderHook.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemAdderHook.java index e53e112c..21461af4 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemAdderHook.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemAdderHook.java @@ -1,9 +1,18 @@ package com.hibiscusmc.hmccosmetics.hooks.items; +import com.hibiscusmc.hmccosmetics.HMCCosmeticsPlugin; import dev.lone.itemsadder.api.CustomStack; +import dev.lone.itemsadder.api.Events.ItemsAdderLoadDataEvent; +import org.bukkit.Material; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; import org.bukkit.inventory.ItemStack; -public class ItemAdderHook extends ItemHook { +public class ItemAdderHook extends ItemHook implements Listener { + + // I hate IA, this overcomplicate stuff is so unneeded if it just did its stuff when its needed. + + private boolean enabled = false; public ItemAdderHook() { super("itemsadder"); @@ -11,7 +20,16 @@ public class ItemAdderHook extends ItemHook { @Override public ItemStack get(String itemid) { - return CustomStack.getInstance(itemid).getItemStack(); + if (enabled) { + return CustomStack.getInstance(itemid).getItemStack(); + } else { + return new ItemStack(Material.AIR); + } } + @EventHandler + public void onItemAdderDataLoad(ItemsAdderLoadDataEvent event) { + this.enabled = true; + HMCCosmeticsPlugin.setup(); + } } diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemHook.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemHook.java index fec73820..fac151c5 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemHook.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemHook.java @@ -1,8 +1,9 @@ package com.hibiscusmc.hmccosmetics.hooks.items; +import org.bukkit.event.Listener; import org.bukkit.inventory.ItemStack; -public class ItemHook { +public class ItemHook implements Listener { private String id; private boolean active; diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemHooks.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemHooks.java index 420e3a73..7e6cdbe5 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemHooks.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/ItemHooks.java @@ -28,6 +28,7 @@ public class ItemHooks { public static void setup() { for (ItemHook itemHook : itemHooks.values()) { if (Bukkit.getPluginManager().getPlugin(itemHook.getId()) != null) { + HMCCosmeticsPlugin.getInstance().getServer().getPluginManager().registerEvents(itemHook, HMCCosmeticsPlugin.getInstance()); itemHook.setActive(true); HMCCosmeticsPlugin.getInstance().getLogger().info("Successfully hooked into " + itemHook.getId()); } diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/OraxenHook.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/OraxenHook.java index 7471f202..66af757c 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/OraxenHook.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/items/OraxenHook.java @@ -1,9 +1,10 @@ package com.hibiscusmc.hmccosmetics.hooks.items; import io.th0rgal.oraxen.api.OraxenItems; +import org.bukkit.event.Listener; import org.bukkit.inventory.ItemStack; -public class OraxenHook extends ItemHook{ +public class OraxenHook extends ItemHook implements Listener { public OraxenHook() { super("oraxen");