Prayer Points Display
BeginnerDisplayDisplays current prayer points as an overlay. Shows how to access skill data and render it.
8 min read
What It Does
Displays current prayer points as an overlay. Shows how to access skill data and render it.
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 = "Prayer Points",
14 description = "Shows prayer points"
15)
16public class PrayerPointsPlugin extends Plugin {
17 @Inject
18 private Client client;
19
20 @Inject
21 private OverlayManager overlayManager;
22
23 // Named Overlay class with PanelComponent for text rendering
24 private class PrayerPointsOverlay extends Overlay {
25 private PrayerPointsOverlay() {
26 setLayer(OverlayLayer.ABOVE_SCENE);
27 setPosition(OverlayPosition.TOP_LEFT);
28 }
29
30 @Override
31 public Dimension render(Graphics2D graphics) {
32 int prayerLevel = client.getBoostedSkillLevel(Skill.PRAYER);
33
34 // Use PanelComponent for cleaner text rendering
35 net.runelite.client.ui.overlay.components.PanelComponent panel =
36 new net.runelite.client.ui.overlay.components.PanelComponent();
37 panel.setPreferredSize(new Dimension(120, 20));
38
39 net.runelite.client.ui.overlay.components.LineComponent line =
40 net.runelite.client.ui.overlay.components.LineComponent.builder()
41 .left("Prayer: " + prayerLevel)
42 .leftColor(Color.WHITE)
43 .build();
44 panel.getChildren().add(line);
45
46 return panel.render(graphics);
47 }
48 }
49
50 private final PrayerPointsOverlay overlay = new PrayerPointsOverlay();
51
52 @Override
53 protected void startUp() {
54 overlayManager.add(overlay);
55 }
56
57 @Override
58 protected void shutDown() {
59 overlayManager.remove(overlay);
60 }
61}Code Annotations
Line 25
Get current prayer level
Line 27
Display prayer points