Combat Stat Display

IntermediateDisplay

Displays all combat stats (Attack, Strength, Defence, etc.) in a compact overlay. Shows skill iteration and formatting.

12 min read

What It Does

Displays all combat stats (Attack, Strength, Defence, etc.) in a compact overlay. Shows skill iteration and formatting.

Source Code

java
1package com.example;
2
3import net.runelite.api.Client;
4import net.runelite.api.Skill;
5import net.runelite.client.ui.overlay.Overlay;
6import net.runelite.client.ui.overlay.OverlayManager;
7import net.runelite.client.plugins.Plugin;
8import net.runelite.client.plugins.PluginDescriptor;
9import javax.inject.Inject;
10import java.awt.*;
11
12@PluginDescriptor(
13    name = "Combat Stats",
14    description = "Shows combat skills"
15)
16public class CombatStatsPlugin extends Plugin {
17    @Inject
18    private Client client;
19
20    @Inject
21    private OverlayManager overlayManager;
22
23    private final Skill[] combatSkills = {
24        Skill.ATTACK, Skill.STRENGTH, Skill.DEFENCE,
25        Skill.RANGED, Skill.MAGIC, Skill.PRAYER, Skill.HITPOINTS
26    };
27
28    private final Overlay overlay = new Overlay() {
29        @Override
30        public Dimension render(Graphics2D graphics) {
31            graphics.setColor(Color.WHITE);
32            int y = 20;
33            for (Skill skill : combatSkills) {
34                int level = client.getRealSkillLevel(skill);
35                graphics.drawString(skill.getName() + ": " + level, 10, y);
36                y += 15;
37            }
38            return new Dimension(150, y);
39        }
40    };
41
42    @Override
43    protected void startUp() {
44        overlayManager.add(overlay);
45    }
46
47    @Override
48    protected void shutDown() {
49        overlayManager.remove(overlay);
50    }
51}

Code Annotations

Line 20

Array of combat-related skills

Line 30

Iterate through combat skills

Line 32

Display skill name and level

API Classes Used

Key Concepts

  • Array of combat-related skills
  • Iterate through combat skills
  • Display skill name and level

Next Steps

  • Learn about Skill enum values
  • Add boosted level display
  • Add skill icons