diff --git a/API/src/main/java/fr/maxlego08/items/api/configurations/ItemConfiguration.java b/API/src/main/java/fr/maxlego08/items/api/configurations/ItemConfiguration.java index 01c8d2e..42984d4 100644 --- a/API/src/main/java/fr/maxlego08/items/api/configurations/ItemConfiguration.java +++ b/API/src/main/java/fr/maxlego08/items/api/configurations/ItemConfiguration.java @@ -117,6 +117,7 @@ public class ItemConfiguration { private ItemRuneConfiguration itemRuneConfiguration; private Food food; private ItemRarity itemRarity; + private String tooltipstyle; public ItemConfiguration(ItemPlugin plugin, YamlConfiguration configuration, String fileName, String path) { @@ -262,6 +263,10 @@ public ItemConfiguration(ItemPlugin plugin, YamlConfiguration configuration, Str if (swappableEquipment && this.equippedModel != null && this.equippedSlot != null) { this.swappableEquipment = true; } + String tooltypestyleString = configuration.getString(path + "tooltip-style", null); + if (tooltypestyleString != null) { + this.tooltipstyle = tooltypestyleString; + } this.loadAxolotl(plugin, configuration, fileName, path); this.loadBanner(plugin, configuration, fileName, path); @@ -649,6 +654,10 @@ public List getRunes() { return runes; } + public String getTooltipstyle() { + return tooltipstyle; + } + public int getNbRunesView() { return nbRunesView; } diff --git a/API/src/main/java/fr/maxlego08/items/api/events/ZItemsLoadedEvent.java b/API/src/main/java/fr/maxlego08/items/api/events/ZItemsLoadedEvent.java new file mode 100644 index 0000000..6a52423 --- /dev/null +++ b/API/src/main/java/fr/maxlego08/items/api/events/ZItemsLoadedEvent.java @@ -0,0 +1,18 @@ +package fr.maxlego08.items.api.events; + +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; +import org.jetbrains.annotations.NotNull; + +public class ZItemsLoadedEvent extends Event { + private static final HandlerList HANDLERS = new HandlerList(); + + @Override + public @NotNull HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } +} diff --git a/src/main/java/fr/maxlego08/items/ZItem.java b/src/main/java/fr/maxlego08/items/ZItem.java index d4dab1d..055cabc 100644 --- a/src/main/java/fr/maxlego08/items/ZItem.java +++ b/src/main/java/fr/maxlego08/items/ZItem.java @@ -147,6 +147,12 @@ public ItemStack build(Player player, int amount) { } itemMeta.setEquippable(equippableComponent); } + if (this.configuration.getTooltipstyle() != null && !this.configuration.getTooltipstyle().isEmpty()) { + String[] tooltipStyleSplit = this.configuration.getTooltipstyle().split(":", 2); + if (tooltipStyleSplit.length == 2) { + itemMeta.setTooltipStyle(new NamespacedKey(tooltipStyleSplit[0], tooltipStyleSplit[1])); + } + } this.configuration.applyLeatherArmorMeta(itemMeta); diff --git a/src/main/java/fr/maxlego08/items/ZItemManager.java b/src/main/java/fr/maxlego08/items/ZItemManager.java index 0121029..cb1508e 100644 --- a/src/main/java/fr/maxlego08/items/ZItemManager.java +++ b/src/main/java/fr/maxlego08/items/ZItemManager.java @@ -3,6 +3,7 @@ import fr.maxlego08.items.api.Item; import fr.maxlego08.items.api.ItemManager; import fr.maxlego08.items.api.configurations.ItemConfiguration; +import fr.maxlego08.items.api.events.ZItemsLoadedEvent; import fr.maxlego08.items.api.utils.ItemFile; import fr.maxlego08.items.zcore.enums.Message; import fr.maxlego08.items.zcore.utils.ZUtils; @@ -69,6 +70,8 @@ public void loadItems() { itemFile = ItemFile.fromFolder(folder); + ZItemsLoadedEvent itemsLoadedEvent = new ZItemsLoadedEvent(); + this.plugin.getServer().getPluginManager().callEvent(itemsLoadedEvent); } @Override