Files
purpur-tyrant/src/main/java/games/dmg/spigottyrant/BukkitTyrantArmorItemFactory.java
T
dmg 0c4a95801a
Release / release (push) Successful in 2m56s
CI / build (push) Successful in 1m12s
feat(gear): add Tyrant legacy tools and weapons
2026-09-09 22:02:59 -04:00

31 lines
1.3 KiB
Java

package games.dmg.spigottyrant;
import java.util.Objects;
import org.bukkit.ChatColor;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
public final class BukkitTyrantArmorItemFactory implements TyrantArmorItemFactory {
@Override
public ItemStack create(TyrantArmorPiece piece, String tyrantName) {
TyrantArmorSpec spec = TyrantArmorSpec.forPiece(piece, tyrantName);
ItemStack item = new ItemStack(spec.material());
ItemMeta meta = Objects.requireNonNull(item.getItemMeta(), "Legacy reward metadata is unavailable");
meta.setDisplayName(ChatColor.GOLD + spec.displayName());
meta.setLore(spec.lore().stream().map(line -> ChatColor.GRAY + line).toList());
if (spec.protectionLevel() > 0) {
meta.addEnchant(Enchantment.PROTECTION, spec.protectionLevel(), true);
}
if (spec.sharpnessLevel() > 0) {
meta.addEnchant(Enchantment.SHARPNESS, spec.sharpnessLevel(), true);
}
if (spec.efficiencyLevel() > 0) {
meta.addEnchant(Enchantment.EFFICIENCY, spec.efficiencyLevel(), true);
}
meta.addEnchant(Enchantment.MENDING, spec.mendingLevel(), true);
item.setItemMeta(meta);
return item;
}
}