12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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;
- }
- }
|