Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mystic.pack.attributes;
- import java.math.RoundingMode;
- import java.text.DecimalFormat;
- import org.bukkit.ChatColor;
- import mystic.core.attributes.Attributes;
- import mystic.core.user.User;
- public class Agility extends Attributes {
- private double MOVEMENT_SPEED = 0.005;
- private double ATTACK_SPEED = 0.05;
- private double DODGE_CHANCE = 0.05;
- public Agility() {
- init();
- }
- @Override
- public void applyEffect(User u, boolean f) {
- u.addMovementSpeed((float) (f ? MOVEMENT_SPEED * LEVEL : MOVEMENT_SPEED));
- u.addAttackSpeed(f ? ATTACK_SPEED * LEVEL : ATTACK_SPEED);
- u.addDodgeChance(f ? DODGE_CHANCE * LEVEL : DODGE_CHANCE);
- }
- @Override
- public void save() {
- getConfig().set("Agility.Movement_Speed_Per_Level", MOVEMENT_SPEED);
- getConfig().set("Agility.Attack_Speed_Per_Level", ATTACK_SPEED);
- getConfig().set("Agility.Dodge_Chance_Per_level", DODGE_CHANCE);
- saveConfig();
- }
- @Override
- public void init() {
- if (getConfig().get("Agility") == null)
- save();
- this.MOVEMENT_SPEED = getConfig().getDouble("Agility.Movement_Speed_Per_Level", 0.005);
- this.ATTACK_SPEED = getConfig().getDouble("Agility.Attack_Speed_Per_Level", 0.05);
- this.DODGE_CHANCE = getConfig().getDouble("Agility.Dodge_Chance_Per_level", 0.05);
- for (int i = 1; i <= 50; i++) {
- LEVEL_EXP.put(i, 100);
- }
- }
- @Override
- public StringBuilder getInfo() {
- StringBuilder ss = new StringBuilder();
- DecimalFormat numberFormat = new DecimalFormat("#.##");
- numberFormat.setRoundingMode(RoundingMode.CEILING);
- ss.append(ChatColor.GREEN + "➡ Movement Speed: +" + numberFormat.format(MOVEMENT_SPEED * LEVEL) + "\n")
- .append(ChatColor.GREEN + "➡ Attack Speed: -" + ATTACK_SPEED * LEVEL + "\n")
- .append(ChatColor.GREEN + "➡ Dodge Chance: +" + numberFormat.format(DODGE_CHANCE * LEVEL) + "%\n\n")
- .append(proggres());
- return ss;
- }
- @Override
- public int getMaxLevel() {
- return 50;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement