diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/api/player/stats/PlayerStats.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/api/player/stats/PlayerStats.java index 257c6f1b..96bccd90 100644 --- a/MMOCore-API/src/main/java/net/Indyuce/mmocore/api/player/stats/PlayerStats.java +++ b/MMOCore-API/src/main/java/net/Indyuce/mmocore/api/player/stats/PlayerStats.java @@ -46,7 +46,7 @@ public class PlayerStats { } public double getStat(String stat) { - return getMap().getInstance(stat).getTotal(); + return getMap().getStat(stat); } /** diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/command/rpg/debug/StatModifiersCommandTreeNode.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/command/rpg/debug/StatModifiersCommandTreeNode.java index 1bc2a8ae..411661fe 100644 --- a/MMOCore-API/src/main/java/net/Indyuce/mmocore/command/rpg/debug/StatModifiersCommandTreeNode.java +++ b/MMOCore-API/src/main/java/net/Indyuce/mmocore/command/rpg/debug/StatModifiersCommandTreeNode.java @@ -12,30 +12,30 @@ import org.bukkit.entity.Player; public class StatModifiersCommandTreeNode extends CommandTreeNode { - public StatModifiersCommandTreeNode(CommandTreeNode parent) { - super(parent, "statmods"); + public StatModifiersCommandTreeNode(CommandTreeNode parent) { + super(parent, "statmods"); addParameter(new Parameter("", (explorer, list) -> list.add("STAT_ID"))); - } + } - @Override - public CommandResult execute(CommandSender sender, String[] args) { - if (args.length < 3) - return CommandResult.THROW_USAGE; + @Override + public CommandResult execute(CommandSender sender, String[] args) { + if (args.length < 3) + return CommandResult.THROW_USAGE; - if (!(sender instanceof Player)) { - sender.sendMessage(ChatColor.RED + "This command can only be used by a player."); - return CommandResult.FAILURE; - } - PlayerData data = PlayerData.get((Player) sender); + if (!(sender instanceof Player)) { + sender.sendMessage(ChatColor.RED + "This command can only be used by a player."); + return CommandResult.FAILURE; + } + PlayerData data = PlayerData.get((Player) sender); - StatInstance instance = data.getMMOPlayerData().getStatMap().getInstance(UtilityMethods.enumName(args[2])); - sender.sendMessage("Stat Modifiers (" + instance.getKeys().size() + "):"); - for (String key : instance.getKeys()) { - StatModifier mod = instance.getModifier(key); - sender.sendMessage("- " + key + ": " + mod.getValue() + " " + mod.getType().name()); - } + StatInstance instance = data.getMMOPlayerData().getStatMap().getInstance(UtilityMethods.enumName(args[2])); + sender.sendMessage("Stat Modifiers (" + instance.getKeys().size() + "):"); + for (String key : instance.getKeys()) { + StatModifier mod = instance.getModifier(key); + sender.sendMessage("-> '" + key + "' " + mod.getValue() + " " + mod.getType().name() + " " + mod.getSlot() + " " + mod.getSource()); + } - return CommandResult.SUCCESS; - } + return CommandResult.SUCCESS; + } } diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/gui/PlayerStats.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/gui/PlayerStats.java index b383ff4e..d55ce3de 100644 --- a/MMOCore-API/src/main/java/net/Indyuce/mmocore/gui/PlayerStats.java +++ b/MMOCore-API/src/main/java/net/Indyuce/mmocore/gui/PlayerStats.java @@ -133,7 +133,7 @@ public class PlayerStats extends EditableInventory { if (holder.endsWith("_extra")) { final String stat = UtilityMethods.enumName(holder.substring(0, holder.length() - 6)); - return StatManager.format(stat, MythicLib.plugin.getStats().getTotalValue(stat, stats.getMap()) - stats.getBase(stat)); + return StatManager.format(stat, stats.getStat(stat) - stats.getBase(stat)); } if (holder.startsWith("attribute_")) { @@ -142,7 +142,7 @@ public class PlayerStats extends EditableInventory { } final String stat = UtilityMethods.enumName(holder); - return StatManager.format(stat, MythicLib.plugin.getStats().getTotalValue(stat, stats.getMap())); + return StatManager.format(stat, stats.getStat(stat)); } }; } diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/AttributeManager.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/AttributeManager.java index 604a6231..fae69bec 100644 --- a/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/AttributeManager.java +++ b/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/AttributeManager.java @@ -50,8 +50,7 @@ public class AttributeManager implements MMOCoreManager { final ConfigurationSection statsConfig = new ConfigFile(MythicLib.plugin, "", "stats").getConfig(); for (PlayerAttribute attr : getAll()) { final MMOCoreAttributeStatHandler handler = new MMOCoreAttributeStatHandler(statsConfig, attr); - MythicLib.plugin.getStats().registerStat(handler.getStat(), handler); - MythicLib.plugin.getStats().registerStat(handler.getStat() + "_PERCENT", handler); + MythicLib.plugin.getStats().registerStat(handler, handler.getStat() + "_PERCENT"); } } }