diff --git a/common/src/main/java/me/lojosho/hibiscuscommons/config/serializer/ItemSerializer.java b/common/src/main/java/me/lojosho/hibiscuscommons/config/serializer/ItemSerializer.java index ba65492..ae66675 100644 --- a/common/src/main/java/me/lojosho/hibiscuscommons/config/serializer/ItemSerializer.java +++ b/common/src/main/java/me/lojosho/hibiscuscommons/config/serializer/ItemSerializer.java @@ -1,7 +1,5 @@ package me.lojosho.hibiscuscommons.config.serializer; -import io.papermc.paper.registry.RegistryAccess; -import io.papermc.paper.registry.RegistryKey; import me.lojosho.hibiscuscommons.HibiscusCommonsPlugin; import me.lojosho.hibiscuscommons.hooks.Hooks; import me.lojosho.hibiscuscommons.nms.MinecraftVersion; @@ -9,7 +7,6 @@ import me.lojosho.hibiscuscommons.nms.NMSHandlers; import me.lojosho.hibiscuscommons.util.*; import org.apache.commons.lang3.EnumUtils; import org.bukkit.*; -import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; @@ -37,6 +34,7 @@ public class ItemSerializer implements TypeSerializer { private static final String UNBREAKABLE = "unbreakable"; private static final String GLOWING = "glowing"; private static final String LORE = "lore"; + private static final String TOOLTIP_STYLE = "tooltip-style"; private static final String MODEL_DATA = "model-data"; private static final String MODEL_ID = "model-id"; private static final String NBT_TAGS = "nbt-tag"; @@ -61,6 +59,7 @@ public class ItemSerializer implements TypeSerializer { final ConfigurationNode unbreakableNode = source.node(UNBREAKABLE); final ConfigurationNode glowingNode = source.node(GLOWING); final ConfigurationNode loreNode = source.node(LORE); + final ConfigurationNode toolTipStyleNode = source.node(TOOLTIP_STYLE); final ConfigurationNode modelDataNode = source.node(MODEL_DATA); final ConfigurationNode modelIdNode = source.node(MODEL_ID); final ConfigurationNode nbtNode = source.node(NBT_TAGS); @@ -105,6 +104,9 @@ public class ItemSerializer implements TypeSerializer { if (!modelIdNode.virtual()) { itemBuilder.setModelItemId(modelIdNode.getString("")); } + if (!toolTipStyleNode.virtual()) { + itemBuilder.setToolTip(NamespacedKey.fromString(toolTipStyleNode.getString(""))); + } if (!nbtNode.virtual()) { for (ConfigurationNode nbtNodes : nbtNode.childrenMap().values()) { diff --git a/common/src/main/java/me/lojosho/hibiscuscommons/util/ItemBuilder.java b/common/src/main/java/me/lojosho/hibiscuscommons/util/ItemBuilder.java index 4690cef..9f557f5 100644 --- a/common/src/main/java/me/lojosho/hibiscuscommons/util/ItemBuilder.java +++ b/common/src/main/java/me/lojosho/hibiscuscommons/util/ItemBuilder.java @@ -16,6 +16,7 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.components.CustomModelDataComponent; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.stream.Collectors; @@ -145,6 +146,11 @@ public class ItemBuilder { return this; } + public ItemBuilder setToolTip(@Nullable NamespacedKey key) { + itemMeta.setTooltipStyle(key); + return this; + } + public ItemStack build() { itemStack.setItemMeta(itemMeta); return itemStack;