moved decimalFormat classes to configManager

This commit is contained in:
Indyuce 2019-09-01 18:56:34 +02:00
parent 19dc1161c2
commit 389d386d25
8 changed files with 19 additions and 74 deletions

View File

@ -1,15 +0,0 @@
package net.Indyuce.mmocore.api.math.format;
import java.text.DecimalFormat;
import net.Indyuce.mmocore.MMOCore;
public class MMOCoreDecimalFormat extends DecimalFormat {
private static final long serialVersionUID = -2794789471349113852L;
public MMOCoreDecimalFormat(String str) {
super(str);
setDecimalFormatSymbols(MMOCore.plugin.configManager.formatSymbols);
}
}

View File

@ -1,6 +1,5 @@
package net.Indyuce.mmocore.api.player; package net.Indyuce.mmocore.api.player;
import java.text.DecimalFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -15,7 +14,6 @@ import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.ConfigMessage; import net.Indyuce.mmocore.api.ConfigMessage;
import net.Indyuce.mmocore.api.event.PlayerLevelUpEvent; import net.Indyuce.mmocore.api.event.PlayerLevelUpEvent;
import net.Indyuce.mmocore.api.experience.Profession; import net.Indyuce.mmocore.api.experience.Profession;
import net.Indyuce.mmocore.api.math.format.MMOCoreDecimalFormat;
import net.Indyuce.mmocore.api.math.particle.SmallParticleEffect; import net.Indyuce.mmocore.api.math.particle.SmallParticleEffect;
public class Professions { public class Professions {
@ -23,8 +21,6 @@ public class Professions {
private final Map<String, Integer> level = new HashMap<>(); private final Map<String, Integer> level = new HashMap<>();
private final PlayerData playerData; private final PlayerData playerData;
private static final DecimalFormat decimal = new MMOCoreDecimalFormat("0.#");
public Professions(PlayerData playerData) { public Professions(PlayerData playerData) {
this.playerData = playerData; this.playerData = playerData;
} }
@ -112,6 +108,6 @@ public class Professions {
int chars = (int) ((double) exp / needed * 20); int chars = (int) ((double) exp / needed * 20);
for (int j = 0; j < 20; j++) for (int j = 0; j < 20; j++)
bar += (j == chars ? "" + ChatColor.WHITE + ChatColor.BOLD : "") + "|"; bar += (j == chars ? "" + ChatColor.WHITE + ChatColor.BOLD : "") + "|";
playerData.displayActionBar(MMOCore.plugin.configManager.getSimpleMessage("exp-notification", "profession", profession.getName(), "progress", bar, "ratio", decimal.format((double) exp / needed * 100))); playerData.displayActionBar(MMOCore.plugin.configManager.getSimpleMessage("exp-notification", "profession", profession.getName(), "progress", bar, "ratio", MMOCore.plugin.configManager.decimal.format((double) exp / needed * 100)));
} }
} }

View File

@ -1,15 +1,9 @@
package net.Indyuce.mmocore.api.player.stats; package net.Indyuce.mmocore.api.player.stats;
import java.text.DecimalFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.bukkit.ChatColor;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeInstance;
import net.Indyuce.mmocore.api.math.format.MMOCoreDecimalFormat;
import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.player.PlayerData;
import net.Indyuce.mmocore.api.player.stats.stat.modifier.StatModifier; import net.Indyuce.mmocore.api.player.stats.stat.modifier.StatModifier;
@ -22,8 +16,6 @@ public class PlayerStats {
*/ */
private final Map<String, StatInstance> extra = new HashMap<>(); private final Map<String, StatInstance> extra = new HashMap<>();
private static final DecimalFormat decimal = new MMOCoreDecimalFormat("0.#");
public PlayerStats(PlayerData data) { public PlayerStats(PlayerData data) {
this.data = data; this.data = data;
} }
@ -41,23 +33,6 @@ public class PlayerStats {
return ins; return ins;
} }
public String format(ChatColor color, Attribute attribute) {
AttributeInstance instance = data.getPlayer().getAttribute(attribute);
return format(color, instance.getBaseValue(), instance.getValue() - instance.getBaseValue(), decimal);
}
public String format(ChatColor color, StatType stat) {
return format(color, data.getProfess().calculateStat(stat, data.getLevel()), getExtraStat(stat), decimal);
}
public String format(ChatColor color, StatType stat, DecimalFormat format) {
return format(color, data.getProfess().calculateStat(stat, data.getLevel()), getExtraStat(stat), format);
}
public String format(ChatColor color, double base, double extra, DecimalFormat format) {
return "" + color + format.format(base + extra) + ChatColor.GRAY + " (" + color + decimal.format(base) + ChatColor.GRAY + "+" + color + decimal.format(extra) + ChatColor.GRAY + ")";
}
/* /*
* applies relative attributes on the base stat too * applies relative attributes on the base stat too
*/ */

View File

@ -1,16 +1,13 @@
package net.Indyuce.mmocore.api.player.stats.stat.modifier; package net.Indyuce.mmocore.api.player.stats.stat.modifier;
import java.text.DecimalFormat;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import net.Indyuce.mmocore.api.math.format.MMOCoreDecimalFormat; import net.Indyuce.mmocore.MMOCore;
public class StatModifier { public class StatModifier {
private final double d; private final double d;
private final boolean relative; private final boolean relative;
private static final DecimalFormat digit = new MMOCoreDecimalFormat("0.#");
public StatModifier(double d) { public StatModifier(double d) {
this(d, false); this(d, false);
@ -46,6 +43,6 @@ public class StatModifier {
@Override @Override
public String toString() { public String toString() {
return digit.format(d) + (relative ? "%" : ""); return MMOCore.plugin.configManager.decimal.format(d) + (relative ? "%" : "");
} }
} }

View File

@ -1,7 +1,5 @@
package net.Indyuce.mmocore.command.rpg.booster; package net.Indyuce.mmocore.command.rpg.booster;
import java.text.DecimalFormat;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -9,13 +7,10 @@ import org.bukkit.entity.Player;
import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.experience.Booster; import net.Indyuce.mmocore.api.experience.Booster;
import net.Indyuce.mmocore.api.math.format.DelayFormat; import net.Indyuce.mmocore.api.math.format.DelayFormat;
import net.Indyuce.mmocore.api.math.format.MMOCoreDecimalFormat;
import net.Indyuce.mmocore.command.api.CommandEnd; import net.Indyuce.mmocore.command.api.CommandEnd;
import net.Indyuce.mmocore.command.api.CommandMap; import net.Indyuce.mmocore.command.api.CommandMap;
public class ListCommandMap extends CommandEnd { public class ListCommandMap extends CommandEnd {
private static final DecimalFormat decimal = new MMOCoreDecimalFormat("0.##");
public ListCommandMap(CommandMap parent) { public ListCommandMap(CommandMap parent) {
super(parent, "list"); super(parent, "list");
} }
@ -28,7 +23,7 @@ public class ListCommandMap extends CommandEnd {
sender.sendMessage(ChatColor.YELLOW + "----------------------------------------------------"); sender.sendMessage(ChatColor.YELLOW + "----------------------------------------------------");
for (Booster booster : MMOCore.plugin.boosterManager.getBoosters()) for (Booster booster : MMOCore.plugin.boosterManager.getBoosters())
if (!booster.isTimedOut()) if (!booster.isTimedOut())
MMOCore.plugin.nms.sendJson((Player) sender, "{\"text\":\"" + ChatColor.YELLOW + "- " + ChatColor.GOLD + decimal.format((1 + booster.getExtra())) + "x" + ChatColor.YELLOW + " Booster - " + ChatColor.GOLD + (!booster.hasProfession() ? "Main" : booster.getProfession().getName()) + ChatColor.YELLOW + " - " + ChatColor.GOLD + new DelayFormat().format(booster.getCreationDate() + booster.getLength() - System.currentTimeMillis()) + "\",\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"/mmocore booster remove " + booster.getUniqueId().toString() + "\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"Click to remove.\"}}}"); MMOCore.plugin.nms.sendJson((Player) sender, "{\"text\":\"" + ChatColor.YELLOW + "- " + ChatColor.GOLD + MMOCore.plugin.configManager.decimal.format((1 + booster.getExtra())) + "x" + ChatColor.YELLOW + " Booster - " + ChatColor.GOLD + (!booster.hasProfession() ? "Main" : booster.getProfession().getName()) + ChatColor.YELLOW + " - " + ChatColor.GOLD + new DelayFormat().format(booster.getCreationDate() + booster.getLength() - System.currentTimeMillis()) + "\",\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"/mmocore booster remove " + booster.getUniqueId().toString() + "\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"Click to remove.\"}}}");
sender.sendMessage(ChatColor.YELLOW + "----------------------------------------------------"); sender.sendMessage(ChatColor.YELLOW + "----------------------------------------------------");
return CommandResult.SUCCESS; return CommandResult.SUCCESS;

View File

@ -1,7 +1,5 @@
package net.Indyuce.mmocore.comp.placeholder; package net.Indyuce.mmocore.comp.placeholder;
import java.text.DecimalFormat;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.attribute.Attribute; import org.bukkit.attribute.Attribute;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -9,14 +7,12 @@ import org.bukkit.entity.Player;
import me.clip.placeholderapi.expansion.PlaceholderExpansion; import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.AltChar; import net.Indyuce.mmocore.api.AltChar;
import net.Indyuce.mmocore.api.math.format.MMOCoreDecimalFormat;
import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.player.PlayerData;
import net.Indyuce.mmocore.api.player.PlayerQuests; import net.Indyuce.mmocore.api.player.PlayerQuests;
import net.Indyuce.mmocore.api.player.Professions; import net.Indyuce.mmocore.api.player.Professions;
import net.Indyuce.mmocore.api.player.stats.StatType; import net.Indyuce.mmocore.api.player.stats.StatType;
public class RPGPlaceholders extends PlaceholderExpansion { public class RPGPlaceholders extends PlaceholderExpansion {
private static final DecimalFormat decimal = new MMOCoreDecimalFormat("0.#"), decimal2 = new MMOCoreDecimalFormat("0.##");
@Override @Override
public String getAuthor() { public String getAuthor() {
@ -42,14 +38,14 @@ public class RPGPlaceholders extends PlaceholderExpansion {
else if (identifier.equals("level_percent")) { else if (identifier.equals("level_percent")) {
PlayerData playerData = PlayerData.get(player); PlayerData playerData = PlayerData.get(player);
double current = playerData.getExperience(), next = MMOCore.plugin.configManager.getNeededExperience(playerData.getLevel() + 1); double current = playerData.getExperience(), next = MMOCore.plugin.configManager.getNeededExperience(playerData.getLevel() + 1);
return decimal.format(current / next * 100); return MMOCore.plugin.configManager.decimal.format(current / next * 100);
} }
else if (identifier.equals("combat")) else if (identifier.equals("combat"))
return String.valueOf(PlayerData.get(player).isInCombat()); return String.valueOf(PlayerData.get(player).isInCombat());
else if (identifier.equals("health")) else if (identifier.equals("health"))
return decimal2.format(player.getHealth()); return MMOCore.plugin.configManager.decimals.format(player.getHealth());
else if (identifier.startsWith("attribute_")) else if (identifier.startsWith("attribute_"))
return String.valueOf(PlayerData.get(player).getAttributes().getAttribute(MMOCore.plugin.attributeManager.get(identifier.substring(10).toLowerCase().replace("_", "-")))); return String.valueOf(PlayerData.get(player).getAttributes().getAttribute(MMOCore.plugin.attributeManager.get(identifier.substring(10).toLowerCase().replace("_", "-"))));
@ -61,14 +57,14 @@ public class RPGPlaceholders extends PlaceholderExpansion {
Professions professions = PlayerData.get(player).getCollectionSkills(); Professions professions = PlayerData.get(player).getCollectionSkills();
String profession = identifier.substring(19).replace(" ", "-").replace("_", "-").toLowerCase(); String profession = identifier.substring(19).replace(" ", "-").replace("_", "-").toLowerCase();
double current = professions.getExperience(profession), next = MMOCore.plugin.configManager.getNeededExperience(professions.getLevel(profession) + 1); double current = professions.getExperience(profession), next = MMOCore.plugin.configManager.getNeededExperience(professions.getLevel(profession) + 1);
return decimal.format(current / next * 100); return MMOCore.plugin.configManager.decimal.format(current / next * 100);
} }
else if (identifier.startsWith("profession_")) else if (identifier.startsWith("profession_"))
return "" + PlayerData.get(player).getCollectionSkills().getLevel(identifier.substring(11).replace(" ", "-").replace("_", "-").toLowerCase()); return "" + PlayerData.get(player).getCollectionSkills().getLevel(identifier.substring(11).replace(" ", "-").replace("_", "-").toLowerCase());
else if (identifier.equals("max_health")) else if (identifier.equals("max_health"))
return decimal2.format(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()); return MMOCore.plugin.configManager.decimals.format(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
else if (identifier.equals("experience")) else if (identifier.equals("experience"))
return "" + PlayerData.get(player).getExperience(); return "" + PlayerData.get(player).getExperience();
@ -89,10 +85,10 @@ public class RPGPlaceholders extends PlaceholderExpansion {
return "" + PlayerData.get(player).getAttributeReallocationPoints(); return "" + PlayerData.get(player).getAttributeReallocationPoints();
else if (identifier.equals("mana")) else if (identifier.equals("mana"))
return "" + decimal.format(PlayerData.get(player).getMana()); return MMOCore.plugin.configManager.decimal.format(PlayerData.get(player).getMana());
else if (identifier.equals("max_mana")) else if (identifier.equals("max_mana"))
return "" + decimal.format(PlayerData.get(player).getStats().getStat(StatType.MAX_MANA)); return MMOCore.plugin.configManager.decimal.format(PlayerData.get(player).getStats().getStat(StatType.MAX_MANA));
else if (identifier.equals("mana_bar")) { else if (identifier.equals("mana_bar")) {
String format = ""; String format = "";
@ -104,10 +100,10 @@ public class RPGPlaceholders extends PlaceholderExpansion {
} }
else if (identifier.equals("stamina")) else if (identifier.equals("stamina"))
return "" + decimal.format(PlayerData.get(player).getStamina()); return MMOCore.plugin.configManager.decimal.format(PlayerData.get(player).getStamina());
else if (identifier.equals("max_stamina")) else if (identifier.equals("max_stamina"))
return "" + decimal.format(PlayerData.get(player).getStats().getStat(StatType.MAX_STAMINA)); return MMOCore.plugin.configManager.decimal.format(PlayerData.get(player).getStats().getStat(StatType.MAX_STAMINA));
else if (identifier.equals("stamina_bar")) { else if (identifier.equals("stamina_bar")) {
String format = ""; String format = "";
@ -119,10 +115,10 @@ public class RPGPlaceholders extends PlaceholderExpansion {
} }
else if (identifier.equals("stellium")) else if (identifier.equals("stellium"))
return "" + decimal.format(PlayerData.get(player).getStellium()); return MMOCore.plugin.configManager.decimal.format(PlayerData.get(player).getStellium());
else if (identifier.equals("max_stellium")) else if (identifier.equals("max_stellium"))
return "" + decimal.format(PlayerData.get(player).getStats().getStat(StatType.MAX_STELLIUM)); return MMOCore.plugin.configManager.decimal.format(PlayerData.get(player).getStats().getStat(StatType.MAX_STELLIUM));
else if (identifier.equals("stellium_bar")) { else if (identifier.equals("stellium_bar")) {
String format = ""; String format = "";
@ -140,7 +136,7 @@ public class RPGPlaceholders extends PlaceholderExpansion {
else if (identifier.equals("quest_progress")) { else if (identifier.equals("quest_progress")) {
PlayerQuests data = PlayerData.get(player).getQuestData(); PlayerQuests data = PlayerData.get(player).getQuestData();
return data.hasCurrent() ? decimal.format((int) (double) data.getCurrent().getObjectiveNumber() / data.getCurrent().getQuest().getObjectives().size() * 100) : "0"; return data.hasCurrent() ? MMOCore.plugin.configManager.decimal.format((int) (double) data.getCurrent().getObjectiveNumber() / data.getCurrent().getQuest().getObjectives().size() * 100) : "0";
} }
else if (identifier.equals("quest_objective")) { else if (identifier.equals("quest_objective")) {

View File

@ -10,7 +10,6 @@ import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.math.format.MMOCoreDecimalFormat;
import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.InventoryItem;
import net.Indyuce.mmocore.gui.api.item.TriggerItem; import net.Indyuce.mmocore.gui.api.item.TriggerItem;
@ -26,7 +25,7 @@ public abstract class EditableInventory {
*/ */
private final Set<InventoryItem> items = new LinkedHashSet<>(); private final Set<InventoryItem> items = new LinkedHashSet<>();
protected static final DecimalFormat decimal = new MMOCoreDecimalFormat("0.#"); protected static final DecimalFormat decimal = MMOCore.plugin.configManager.decimal;
public EditableInventory(String id) { public EditableInventory(String id) {
this.id = id; this.id = id;

View File

@ -5,6 +5,7 @@ import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols; import java.text.DecimalFormatSymbols;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -29,7 +30,8 @@ public class ConfigManager {
public double expPartyBuff, regenPartyBuff; public double expPartyBuff, regenPartyBuff;
public String partyChatPrefix; public String partyChatPrefix;
public final DecimalFormatSymbols formatSymbols = new DecimalFormatSymbols(); private final DecimalFormatSymbols formatSymbols = new DecimalFormatSymbols();
public final DecimalFormat decimal = new DecimalFormat("0.#", formatSymbols), decimals = new DecimalFormat("0.##", formatSymbols);
private List<Integer> neededExp = new ArrayList<>(); private List<Integer> neededExp = new ArrayList<>();
private FileConfiguration messages; private FileConfiguration messages;