Skill.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package me.km.skills;
  2. import me.km.api.Utils;
  3. import me.km.effects.Effect;
  4. import me.km.utils.ItemStackBuilder;
  5. import me.km.utils.ItemStackUtils;
  6. import me.km.utils.ItemStackUtils.ItemFlag;
  7. import net.minecraft.item.ItemStack;
  8. public class Skill
  9. {
  10. private final ItemStack stack;
  11. private final Effect effect;
  12. private final String name;
  13. public Skill(ItemStack stack, Effect eff, String name, String explanation)
  14. {
  15. ItemStackUtils.addItemFlag(stack, ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS, ItemFlag.HIDE_POTION_EFFECTS, ItemFlag.HIDE_UNBREAKABLE);
  16. ItemStackUtils.setUnbreakable(stack);
  17. stack.setStackDisplayName("§6" + name);
  18. ItemStackUtils.setLore(stack, Utils.buildLimitedLore(explanation, "§7"));
  19. this.stack = stack;
  20. this.effect = eff;
  21. this.name = name;
  22. }
  23. public ItemStack getItemStack(int amount)
  24. {
  25. int mana = effect.getManaCost(amount);
  26. stack.setCount(amount);
  27. if(mana == 0)
  28. {
  29. return stack.copy();
  30. }
  31. return new ItemStackBuilder(stack, amount).addToName(" §3(" + mana +")").build();
  32. }
  33. public boolean isActive()
  34. {
  35. return effect.isActive();
  36. }
  37. public Effect getEffect()
  38. {
  39. return effect;
  40. }
  41. public String getName()
  42. {
  43. return name;
  44. }
  45. }