Use colors in egg names

This commit is contained in:
2026-04-05 22:41:28 +02:00
parent f7962b8faa
commit 9f07d983bd
6 changed files with 52 additions and 81 deletions
@@ -3,6 +3,9 @@ package com.alttd.easter.util;
import com.alttd.easter.egg.EggType;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
@@ -13,7 +16,7 @@ import java.util.List;
public final class ItemUtils {
public static String colorName(EggType type) {
private static String colorName(EggType type) {
return switch (type) {
case BROWN_HUSK -> "Brown";
case RED_SPIDER -> "Red";
@@ -34,12 +37,23 @@ public final class ItemUtils {
};
}
public static Component colorNameComponent(EggType type) {
return Component.text(colorName(type), type.getColor());
}
public static Component typeNameComponent(EggType type) {
return Component.text(prettify(type.name()), type.getColor());
}
public static ItemStack createEggItem(EggType type) {
ItemStack item = new ItemStack(type.getMaterial());
ItemMeta meta = item.getItemMeta();
meta.addEnchant(type.getEnchantment(), type.getEnchantLevel(), true);
meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
meta.displayName(Component.text("Easter Egg - " + prettify(type.name()), NamedTextColor.GOLD));
Component name = MiniMessage.miniMessage().deserialize("<gold>Easter Egg - </gold><type>",
Placeholder.component("type", typeNameComponent(type))
);
meta.displayName(name);
meta.getPersistentDataContainer().set(Keys.EGG_ITEM, PersistentDataType.STRING, type.name());
item.setItemMeta(meta);
return item;