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:
@@ -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<ItemStack> {
|
||||
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<ItemStack> {
|
||||
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<ItemStack> {
|
||||
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()) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user