9
0
mirror of https://github.com/HibiscusMC/HibiscusCommons.git synced 2025-12-19 15:09:26 +00:00

feat: add tooltip-style to ItemSerializer

This commit is contained in:
LoJoSho
2025-07-17 17:32:41 -05:00
parent f0899910d2
commit 5055520b69
2 changed files with 11 additions and 3 deletions

View File

@@ -1,7 +1,5 @@
package me.lojosho.hibiscuscommons.config.serializer; 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.HibiscusCommonsPlugin;
import me.lojosho.hibiscuscommons.hooks.Hooks; import me.lojosho.hibiscuscommons.hooks.Hooks;
import me.lojosho.hibiscuscommons.nms.MinecraftVersion; import me.lojosho.hibiscuscommons.nms.MinecraftVersion;
@@ -9,7 +7,6 @@ import me.lojosho.hibiscuscommons.nms.NMSHandlers;
import me.lojosho.hibiscuscommons.util.*; import me.lojosho.hibiscuscommons.util.*;
import org.apache.commons.lang3.EnumUtils; import org.apache.commons.lang3.EnumUtils;
import org.bukkit.*; import org.bukkit.*;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
@@ -37,6 +34,7 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
private static final String UNBREAKABLE = "unbreakable"; private static final String UNBREAKABLE = "unbreakable";
private static final String GLOWING = "glowing"; private static final String GLOWING = "glowing";
private static final String LORE = "lore"; 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_DATA = "model-data";
private static final String MODEL_ID = "model-id"; private static final String MODEL_ID = "model-id";
private static final String NBT_TAGS = "nbt-tag"; private static final String NBT_TAGS = "nbt-tag";
@@ -61,6 +59,7 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
final ConfigurationNode unbreakableNode = source.node(UNBREAKABLE); final ConfigurationNode unbreakableNode = source.node(UNBREAKABLE);
final ConfigurationNode glowingNode = source.node(GLOWING); final ConfigurationNode glowingNode = source.node(GLOWING);
final ConfigurationNode loreNode = source.node(LORE); final ConfigurationNode loreNode = source.node(LORE);
final ConfigurationNode toolTipStyleNode = source.node(TOOLTIP_STYLE);
final ConfigurationNode modelDataNode = source.node(MODEL_DATA); final ConfigurationNode modelDataNode = source.node(MODEL_DATA);
final ConfigurationNode modelIdNode = source.node(MODEL_ID); final ConfigurationNode modelIdNode = source.node(MODEL_ID);
final ConfigurationNode nbtNode = source.node(NBT_TAGS); final ConfigurationNode nbtNode = source.node(NBT_TAGS);
@@ -105,6 +104,9 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
if (!modelIdNode.virtual()) { if (!modelIdNode.virtual()) {
itemBuilder.setModelItemId(modelIdNode.getString("")); itemBuilder.setModelItemId(modelIdNode.getString(""));
} }
if (!toolTipStyleNode.virtual()) {
itemBuilder.setToolTip(NamespacedKey.fromString(toolTipStyleNode.getString("")));
}
if (!nbtNode.virtual()) { if (!nbtNode.virtual()) {
for (ConfigurationNode nbtNodes : nbtNode.childrenMap().values()) { for (ConfigurationNode nbtNodes : nbtNode.childrenMap().values()) {

View File

@@ -16,6 +16,7 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.components.CustomModelDataComponent; import org.bukkit.inventory.meta.components.CustomModelDataComponent;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -145,6 +146,11 @@ public class ItemBuilder {
return this; return this;
} }
public ItemBuilder setToolTip(@Nullable NamespacedKey key) {
itemMeta.setTooltipStyle(key);
return this;
}
public ItemStack build() { public ItemStack build() {
itemStack.setItemMeta(itemMeta); itemStack.setItemMeta(itemMeta);
return itemStack; return itemStack;