Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mystic.core.classes;
- import java.util.List;
- import java.util.Map;
- import org.bukkit.ChatColor;
- import org.bukkit.configuration.serialization.ConfigurationSerializable;
- import mystic.core.Handler;
- import mystic.core.Requirement;
- import mystic.core.user.User;
- import mystic.core.utility.ChatComponent;
- public abstract class Classes implements ConfigurationSerializable {
- protected int LEVEL = 0;
- public abstract String getName();
- public abstract String getPassive();
- public abstract List<String> getSpells();
- public abstract List<Requirement> getRequirements();
- public abstract void init(Map<String, Object> map);
- public abstract int getMaxLevel();
- public int getLevel() {
- return LEVEL;
- }
- public void setLevel(int lvl) {
- LEVEL = lvl;
- if (LEVEL > getMaxLevel())
- LEVEL = getMaxLevel();
- }
- public void addLevel(int lvl) {
- LEVEL += lvl;
- if (LEVEL > getMaxLevel())
- LEVEL = getMaxLevel();
- }
- public abstract void applyBenefit(User u);
- public Classes() {
- }
- public boolean canTakeClasses(User u) {
- int total = 0;
- for (Requirement req : getRequirements()) {
- if (req.meetRquirement(u)) {
- total++;
- }
- }
- return total >= getRequirements().size();
- }
- public ChatComponent getPage() {
- ChatComponent pages = new ChatComponent(ChatColor.DARK_RED + getName());
- pages.appendChatComponent(new ChatComponent("\n").clean());
- pages.appendChatComponent(new ChatComponent("\n").clean());
- pages.appendChatComponent(new ChatComponent(
- ChatColor.GOLD + "" + ChatColor.BOLD + "Passive: " + ChatColor.GREEN + "" + getPassive())
- .addHoverText(Handler.getSpellInstance(getPassive()).descToPages()));
- pages.appendChatComponent(new ChatComponent("\n").clean());
- pages.appendChatComponent(new ChatComponent("\n").clean());
- pages.appendChatComponent(new ChatComponent(ChatColor.GOLD + "" + ChatColor.BOLD + "Active: \n"));
- for (String s : getSpells()) {
- pages.appendChatComponent(new ChatComponent(ChatColor.GREEN + s + "\n")
- .addHoverText(Handler.getSpellInstance(s).descToPages()));
- }
- pages.appendChatComponent(new ChatComponent("\n").clean());
- pages.appendChatComponent(new ChatComponent("\n").clean());
- ChatComponent click = new ChatComponent(ChatColor.AQUA + "" + ChatColor.BOLD + "SELECT")
- .addHoverText(ChatColor.GOLD + "Input here to pick this class")
- .addClickInsert("mc classes zet " + getName());
- pages.appendChatComponent(click);
- return pages;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement