Minimap Overlay

AdvancedOverlay

Draws custom markers on the minimap. Demonstrates minimap coordinate conversion and drawing.

20 min read

What It Does

Draws custom markers on the minimap. Demonstrates minimap coordinate conversion and drawing.

Source Code

java
1package com.example;
2
3import net.runelite.api.Client;
4import net.runelite.api.coords.WorldPoint;
5import net.runelite.api.coords.LocalPoint;
6import net.runelite.client.ui.overlay.Overlay;
7import net.runelite.client.ui.overlay.OverlayManager;
8import net.runelite.client.plugins.Plugin;
9import net.runelite.client.plugins.PluginDescriptor;
10import javax.inject.Inject;
11import java.awt.*;
12
13@PluginDescriptor(
14    name = "Minimap Overlay",
15    description = "Draws on minimap"
16)
17public class MinimapOverlayPlugin extends Plugin {
18    @Inject
19    private Client client;
20
21    @Inject
22    private OverlayManager overlayManager;
23
24    private final Overlay overlay = new Overlay() {
25        @Override
26        public Dimension render(Graphics2D graphics) {
27            // Convert world point to minimap coordinates
28            WorldPoint target = new WorldPoint(3200, 3200, 0);
29            LocalPoint localPoint = LocalPoint.fromWorld(client, target);
30            
31            if (localPoint != null) {
32                // Draw marker on minimap
33                Point minimapPoint = Perspective.localToMinimap(client, localPoint);
34                if (minimapPoint != null) {
35                    graphics.setColor(Color.RED);
36                    graphics.fillOval(minimapPoint.x - 3, minimapPoint.y - 3, 6, 6);
37                }
38            }
39
40            return null;
41        }
42    };
43
44    @Override
45    protected void startUp() {
46        overlayManager.add(overlay);
47    }
48
49    @Override
50    protected void shutDown() {
51        overlayManager.remove(overlay);
52    }
53}

Code Annotations

Line 28

Target world point to mark

Line 29

Convert to local coordinates

Line 33

Convert to minimap coordinates

Line 36

Draw marker on minimap

API Classes Used

Key Concepts

  • Target world point to mark
  • Convert to local coordinates
  • Convert to minimap coordinates
  • Draw marker on minimap

Next Steps

  • Learn about Perspective API
  • Add multiple markers
  • Add configurable marker colors