diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java index 76548081bf..b7d6415c85 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java @@ -125,7 +125,23 @@ enum TeleportLocationData RELLEKKKA_LYRE(TeleportType.OTHER, "Enchanted Lyre", "Rellekka", new WorldPoint(2664, 3643, 0), "enchanted_lyre_teleport_icon.png"), WATERBIRTH_ISLAND_LYRE(TeleportType.OTHER, "Enchanted Lyre", "Waterbirth Island", new WorldPoint(2550, 3756, 0), "enchanted_lyre_teleport_icon.png"), NEITIZNOT_LYRE(TeleportType.OTHER, "Enchanted Lyre", "Neitiznot", new WorldPoint(2336, 3801, 0), "enchanted_lyre_teleport_icon.png"), - JATIZSO_LYRE(TeleportType.OTHER, "Enchanted Lyre", "Jatizso", new WorldPoint(2409, 3809, 0), "enchanted_lyre_teleport_icon.png"); + JATIZSO_LYRE(TeleportType.OTHER, "Enchanted Lyre", "Jatizso", new WorldPoint(2409, 3809, 0), "enchanted_lyre_teleport_icon.png"), + + // Scrolls + DIGSITE_SCROLL(TeleportType.SCROLL, "Digsite Teleport", new WorldPoint(3324, 3412, 0), "scroll_teleport_icon.png"), + ELF_CAMP_SCROLL(TeleportType.SCROLL, "Elf Camp Teleport", new WorldPoint(2193, 3257, 0), "scroll_teleport_icon.png"), + FELDIP_HILLS_SCROLL(TeleportType.SCROLL, "Feldip Hills Teleport", new WorldPoint(2542, 2925, 0), "scroll_teleport_icon.png"), + LUMBERYARD_SCROLL(TeleportType.SCROLL, "Lumberyard Teleport", new WorldPoint(3303, 3487, 0), "scroll_teleport_icon.png"), + LUNAR_ISLE_SCROLL(TeleportType.SCROLL, "Lunar Aisle Teleport", new WorldPoint(2093, 3912, 0), "scroll_teleport_icon.png"), + MORTTON_SCROLL(TeleportType.SCROLL, "Mort'ton", new WorldPoint(3489, 3288, 0), "scroll_teleport_icon.png"), + MOS_LEHARMLESS_SCROLL(TeleportType.SCROLL, "Mos Le'Harmless Teleport", new WorldPoint(3701, 2996, 0), "scroll_teleport_icon.png"), + NARDAH_SCROLL(TeleportType.SCROLL, "Nardah Teleport", new WorldPoint(3421, 2917, 0), "scroll_teleport_icon.png"), + PEST_CONTROL_SCROLL(TeleportType.SCROLL, "Pest Control Teleport", new WorldPoint(2657, 2660, 0), "scroll_teleport_icon.png"), + PISCATORIS_SCROLL(TeleportType.SCROLL, "Piscatoris Teleport", new WorldPoint(2339, 3648, 0), "scroll_teleport_icon.png"), + TAI_BWO_WANNAI_SCROLL(TeleportType.SCROLL, "Tai Bwo Wannai Teleport", new WorldPoint(2788, 3066, 0), "scroll_teleport_icon.png"), + ZULANDRA_SCROLL(TeleportType.SCROLL, "Zul-Andra Teleport", new WorldPoint(2197, 3056, 0), "scroll_teleport_icon.png"), + KEY_MASTER_SCROLL(TeleportType.SCROLL, "Key Master Teleport", new WorldPoint(2686, 9882, 0), "scroll_teleport_icon.png"), + REVENANT_CAVE_SCROLL(TeleportType.SCROLL, "Revenant Cave Teleport", new WorldPoint(3127, 3833, 0), "scroll_teleport_icon.png"); private final TeleportType type; private final String tooltip; @@ -147,4 +163,12 @@ enum TeleportLocationData this.location = location; this.iconPath = iconPath; } + + TeleportLocationData(TeleportType type, String item, WorldPoint location, String iconPath) + { + this.type = type; + this.tooltip = item; + this.location = location; + this.iconPath = iconPath; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportType.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportType.java index fcccbe894c..a51e8f9c6e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportType.java @@ -35,6 +35,7 @@ public enum TeleportType LUNAR_MAGIC("Lunar - "), ARCEUUS_MAGIC("Arceuus - "), JEWELLERY("Jewellery - "), + SCROLL(""), OTHER(""); private String prefix; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapConfig.java index 57ce2a9406..c7d60c6a50 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapConfig.java @@ -135,11 +135,22 @@ public interface WorldMapConfig extends Config return true; } + @ConfigItem( + keyName = WorldMapPlugin.CONFIG_KEY_SCROLL_TELEPORT_ICON, + name = "Show teleport scroll locations", + description = "Show icons at the destinations for teleports from scrolls", + position = 10 + ) + default boolean scrollTeleportIcon() + { + return true; + } + @ConfigItem( keyName = WorldMapPlugin.CONFIG_KEY_MISC_TELEPORT_ICON, name = "Show misc teleport locations", description = "Show icons at the destinations for miscellaneous teleport items", - position = 10 + position = 11 ) default boolean miscellaneousTeleportIcon() { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java index c6199c50cd..20a96131fd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java @@ -61,6 +61,7 @@ public class WorldMapPlugin extends Plugin static final String CONFIG_KEY_LUNAR_TELEPORT_ICON = "lunarSpellbookIcon"; static final String CONFIG_KEY_ARCEUUS_TELEPORT_ICON = "arceuusSpellbookIcon"; static final String CONFIG_KEY_JEWELLERY_TELEPORT_ICON = "jewelleryIcon"; + static final String CONFIG_KEY_SCROLL_TELEPORT_ICON = "scrollIcon"; static final String CONFIG_KEY_MISC_TELEPORT_ICON = "miscellaneousTeleportIcon"; static @@ -145,6 +146,7 @@ public class WorldMapPlugin extends Plugin case CONFIG_KEY_ARCEUUS_TELEPORT_ICON: case CONFIG_KEY_JEWELLERY_TELEPORT_ICON: case CONFIG_KEY_MISC_TELEPORT_ICON: + case CONFIG_KEY_SCROLL_TELEPORT_ICON: worldMapPointManager.removeIf(TeleportPoint.class::isInstance); createMagicTeleportPoints(); break; @@ -175,7 +177,8 @@ public class WorldMapPlugin extends Plugin || config.lunarTeleportIcon() || config.arceuusTeleportIcon() || config.jewelleryTeleportIcon() - || config.miscellaneousTeleportIcon()) + || config.miscellaneousTeleportIcon() + || config.scrollTeleportIcon()) { createMagicTeleportPoints(); } @@ -224,6 +227,8 @@ public class WorldMapPlugin extends Plugin return config.arceuusTeleportIcon(); case JEWELLERY: return config.jewelleryTeleportIcon(); + case SCROLL: + return config.scrollTeleportIcon(); case OTHER: return config.miscellaneousTeleportIcon(); default: diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/scroll_teleport_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/scroll_teleport_icon.png new file mode 100644 index 0000000000..d297f0df8c Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/scroll_teleport_icon.png differ