mirror of
https://gitlab.com/phoenix-dvpmt/mmocore.git
synced 2024-11-27 00:45:40 +01:00
Added possibility to specify decimal format for each skill parameter regarding issue #866.
This commit is contained in:
parent
892b04cd3a
commit
49b699b54b
@ -149,7 +149,10 @@ public class ClassSkill implements CooldownObject, Unlockable {
|
|||||||
|
|
||||||
// Calculate placeholders
|
// Calculate placeholders
|
||||||
Placeholders placeholders = new Placeholders();
|
Placeholders placeholders = new Placeholders();
|
||||||
parameters.keySet().forEach(modifier -> placeholders.register(modifier, MythicLib.plugin.getMMOConfig().decimal.format(data.getMMOPlayerData().getSkillModifierMap().getInstance(skill.getHandler(), modifier).getTotal(parameters.get(modifier).calculate(x)))));
|
parameters.keySet()
|
||||||
|
.forEach(param -> {
|
||||||
|
placeholders.register(param, skill.getDecimalFormat(param).format(data.getMMOPlayerData().getSkillModifierMap().getInstance(skill.getHandler(), param).getTotal(parameters.get(param).calculate(x))));
|
||||||
|
});
|
||||||
placeholders.register("mana_name", data.getProfess().getManaDisplay().getName());
|
placeholders.register("mana_name", data.getProfess().getManaDisplay().getName());
|
||||||
placeholders.register("mana_color", data.getProfess().getManaDisplay().getFull().toString());
|
placeholders.register("mana_color", data.getProfess().getManaDisplay().getFull().toString());
|
||||||
|
|
||||||
|
@ -13,12 +13,16 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class RegisteredSkill {
|
public class RegisteredSkill {
|
||||||
private final SkillHandler<?> handler;
|
private final SkillHandler<?> handler;
|
||||||
private final String name;
|
private final String name;
|
||||||
private final Map<String, LinearValue> defaultParameters = new HashMap<>();
|
private final Map<String, LinearValue> defaultParameters = new HashMap<>();
|
||||||
|
|
||||||
|
private final Map<String, DecimalFormat> parameterDecimalFormats = new HashMap<>();
|
||||||
|
|
||||||
private final ItemStack icon;
|
private final ItemStack icon;
|
||||||
private final List<String> lore;
|
private final List<String> lore;
|
||||||
private final List<String> categories;
|
private final List<String> categories;
|
||||||
@ -42,10 +46,15 @@ public class RegisteredSkill {
|
|||||||
else
|
else
|
||||||
categories.add("ACTIVE");
|
categories.add("ACTIVE");
|
||||||
|
|
||||||
|
|
||||||
// Load default modifier formulas
|
// Load default modifier formulas
|
||||||
for (String param : handler.getParameters())
|
for (String param : handler.getParameters()) {
|
||||||
|
if (config.contains(param + ".decimal-format"))
|
||||||
|
parameterDecimalFormats.put(param, new DecimalFormat(config.getString(param + ".decimal-format")));
|
||||||
defaultParameters.put(param, config.contains(param) ? new LinearValue(config.getConfigurationSection(param)) : LinearValue.ZERO);
|
defaultParameters.put(param, config.contains(param) ? new LinearValue(config.getConfigurationSection(param)) : LinearValue.ZERO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is so that SkillAPI skill level matches the MMOCore skill level
|
* This is so that SkillAPI skill level matches the MMOCore skill level
|
||||||
* https://gitlab.com/phoenix-dvpmt/mmocore/-/issues/531
|
* https://gitlab.com/phoenix-dvpmt/mmocore/-/issues/531
|
||||||
@ -111,6 +120,10 @@ public class RegisteredSkill {
|
|||||||
defaultParameters.put(parameter, linear);
|
defaultParameters.put(parameter, linear);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DecimalFormat getDecimalFormat(String parameter) {
|
||||||
|
return parameterDecimalFormats.getOrDefault(parameter, MythicLib.plugin.getMMOConfig().decimal);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void addModifierIfNone(String mod, LinearValue defaultValue) {
|
public void addModifierIfNone(String mod, LinearValue defaultValue) {
|
||||||
|
Loading…
Reference in New Issue
Block a user