package me.km.skills; import me.km.api.Utils; import me.km.effects.Effect; import me.km.utils.ItemStackBuilder; import me.km.utils.ItemStackUtils; import me.km.utils.ItemStackUtils.ItemFlag; import net.minecraft.item.ItemStack; public class Skill { private final ItemStack stack; private final Effect effect; private final String name; public Skill(ItemStack stack, Effect eff, String name, String explanation) { ItemStackUtils.addItemFlag(stack, ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS, ItemFlag.HIDE_POTION_EFFECTS, ItemFlag.HIDE_UNBREAKABLE); ItemStackUtils.setUnbreakable(stack); stack.setStackDisplayName("§6" + name); ItemStackUtils.setLore(stack, Utils.buildLimitedLore(explanation, "§7")); this.stack = stack; this.effect = eff; this.name = name; } public ItemStack getItemStack(int amount) { int mana = effect.getManaCost(amount); stack.setCount(amount); if(mana == 0) { return stack.copy(); } return new ItemStackBuilder(stack, amount).addToName(" §3(" + mana +")").build(); } public boolean isActive() { return effect.isActive(); } public Effect getEffect() { return effect; } public String getName() { return name; } }