Use colors in egg names
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user