From bc9f5ac6f88cdfccc68a061512dcfc51e7c95f5b Mon Sep 17 00:00:00 2001 From: Jules Date: Sun, 8 Oct 2023 01:48:36 +0200 Subject: [PATCH] Tree node will get latest level lore available --- .../mmocore/skilltree/SkillTreeNode.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/skilltree/SkillTreeNode.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/skilltree/SkillTreeNode.java index 42dce8eb..250e7a7d 100644 --- a/MMOCore-API/src/main/java/net/Indyuce/mmocore/skilltree/SkillTreeNode.java +++ b/MMOCore-API/src/main/java/net/Indyuce/mmocore/skilltree/SkillTreeNode.java @@ -256,16 +256,19 @@ public class SkillTreeNode implements ExperienceObject { } public List getLore(PlayerData playerData) { - Placeholders holders = getPlaceholders(playerData); - List parsedLore = new ArrayList<>(); - if (!lores.containsKey(playerData.getNodeLevel(this))) - return parsedLore; + final int nodeLevel = playerData.getNodeLevel(this); + final List parsedLore = new ArrayList<>(); + + for (int i = nodeLevel; i >= 0; i--) { + final List found = lores.get(i); + if (found == null) continue; + + final Placeholders holders = getPlaceholders(playerData); + found.forEach(string -> parsedLore.add(MythicLib.plugin.parseColors(holders.apply(playerData.getPlayer(), string)))); + break; + } - List lore = lores.get(playerData.getNodeLevel(this)); - lore.forEach(string -> parsedLore.add( - MythicLib.plugin.parseColors(holders.apply(playerData.getPlayer(), string)))); return parsedLore; - } @Override