hiscore panel: fix not displaying total level correctly

This commit is contained in:
Lotto
2018-04-16 23:03:49 +02:00
parent 17413db715
commit d7efba6295

View File

@@ -38,7 +38,10 @@ import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@@ -100,8 +103,10 @@ public class HiscorePanel extends PluginPanel
private static final String SKILL_NAME = "SKILL_NAME"; private static final String SKILL_NAME = "SKILL_NAME";
private static final String SKILL = "SKILL"; private static final String SKILL = "SKILL";
private static final HiscoreSkill[] SKILL_PANEL_ORDER = new HiscoreSkill[] /**
{ * Real skills, ordered in the way they should be displayed in the panel.
*/
private static final Set<HiscoreSkill> SKILLS = new LinkedHashSet<>(Arrays.asList(
ATTACK, HITPOINTS, MINING, ATTACK, HITPOINTS, MINING,
STRENGTH, AGILITY, SMITHING, STRENGTH, AGILITY, SMITHING,
DEFENCE, HERBLORE, FISHING, DEFENCE, HERBLORE, FISHING,
@@ -110,7 +115,7 @@ public class HiscorePanel extends PluginPanel
MAGIC, FLETCHING, WOODCUTTING, MAGIC, FLETCHING, WOODCUTTING,
RUNECRAFT, SLAYER, FARMING, RUNECRAFT, SLAYER, FARMING,
CONSTRUCTION, HUNTER CONSTRUCTION, HUNTER
}; ));
@Inject @Inject
ScheduledExecutorService executor; ScheduledExecutorService executor;
@@ -214,7 +219,7 @@ public class HiscorePanel extends PluginPanel
statsPanel.setBorder(subPanelBorder); statsPanel.setBorder(subPanelBorder);
// For each skill on the ingame skill panel, create a Label and add it to the UI // For each skill on the ingame skill panel, create a Label and add it to the UI
for (HiscoreSkill skill : SKILL_PANEL_ORDER) for (HiscoreSkill skill : SKILLS)
{ {
JPanel panel = makeSkillPanel(skill.getName(), skill); JPanel panel = makeSkillPanel(skill.getName(), skill);
statsPanel.add(panel); statsPanel.add(panel);
@@ -550,7 +555,7 @@ public class HiscorePanel extends PluginPanel
Skill s = result.getSkill(skill); Skill s = result.getSkill(skill);
int level; int level;
if (config.virtualLevels() && s.getExperience() >= 0) if (config.virtualLevels() && SKILLS.contains(skill))
{ {
level = Experience.getLevelForXp((int) s.getExperience()); level = Experience.getLevelForXp((int) s.getExperience());
} }