From d30dcfe77e9cd1b7f9e6b9e40c39d67758fae081 Mon Sep 17 00:00:00 2001 From: Indyuce Date: Mon, 25 Jul 2022 17:53:10 +0200 Subject: [PATCH 1/2] Fixed attribute-based stats displayed in /p --- src/main/java/net/Indyuce/mmocore/gui/PlayerStats.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/Indyuce/mmocore/gui/PlayerStats.java b/src/main/java/net/Indyuce/mmocore/gui/PlayerStats.java index 16bbd451..5cdfa0a3 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/PlayerStats.java +++ b/src/main/java/net/Indyuce/mmocore/gui/PlayerStats.java @@ -2,6 +2,7 @@ package net.Indyuce.mmocore.gui; import io.lumine.mythic.lib.MythicLib; import io.lumine.mythic.lib.UtilityMethods; +import io.lumine.mythic.lib.api.stat.handler.StatHandler; import io.lumine.mythic.lib.api.stat.modifier.StatModifier; import io.lumine.mythic.lib.version.VersionMaterial; import net.Indyuce.mmocore.MMOCore; @@ -131,13 +132,13 @@ public class PlayerStats extends EditableInventory { replaced = info.format(stats.getBase(info.name)); } else if (holder.endsWith("_extra")) { StatInfo info = StatInfo.valueOf(UtilityMethods.enumName(holder.substring(0, holder.length() - 5))); - replaced = info.format(stats.getStat(info.name) - stats.getBase(info.name)); + replaced = info.format(MythicLib.plugin.getStats().getTotalValue(info.name, stats.getMap()) - stats.getBase(info.name)); } else if (holder.startsWith("attribute_")) { PlayerAttribute attr = MMOCore.plugin.attributeManager.get(holder.substring(10).replace("_", "-").toLowerCase()); replaced = String.valueOf(inv.target.getAttributes().getAttribute(attr)); } else { StatInfo info = StatInfo.valueOf(UtilityMethods.enumName(holder)); - replaced = info.format(stats.getStat(info.name)); + replaced = info.format(MythicLib.plugin.getStats().getTotalValue(info.name, stats.getMap())); } str = str.replace("{" + holder + "}", replaced); From 33b9841182c0c0548343d5d01d7c9fe736e8a1e4 Mon Sep 17 00:00:00 2001 From: Indyuce Date: Mon, 25 Jul 2022 17:57:46 +0200 Subject: [PATCH 2/2] Fixed an issue with PAPI math expansion in GUIs --- .../java/net/Indyuce/mmocore/gui/api/item/Placeholders.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/Indyuce/mmocore/gui/api/item/Placeholders.java b/src/main/java/net/Indyuce/mmocore/gui/api/item/Placeholders.java index e6572908..48bc03ba 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/api/item/Placeholders.java +++ b/src/main/java/net/Indyuce/mmocore/gui/api/item/Placeholders.java @@ -2,6 +2,7 @@ package net.Indyuce.mmocore.gui.api.item; import net.Indyuce.mmocore.MMOCore; import org.bukkit.entity.Player; +import org.jetbrains.annotations.Nullable; import java.util.HashMap; import java.util.Map; @@ -21,7 +22,9 @@ public class Placeholders { // Internal placeholders while (str.contains("{") && str.substring(str.indexOf("{")).contains("}")) { String holder = str.substring(str.indexOf("{") + 1, str.indexOf("}")); - str = str.replace("{" + holder + "}", placeholders.getOrDefault(holder, "Error")); + @Nullable String found = placeholders.get(holder); + if (found != null) + str = str.replace("{" + holder + "}", found); } // External placeholders