From 6d8c81f183850eb5e9b75c8028291146e87aad0e Mon Sep 17 00:00:00 2001 From: David Date: Tue, 1 Oct 2019 01:00:40 +0100 Subject: [PATCH] worldmap: add rc-altar icons to worldmap --- .../worldmap/RunecraftingAltarLocation.java | 62 ++++++++++++++++++ .../worldmap/RunecraftingAltarPoint.java | 39 +++++++++++ .../plugins/worldmap/WorldMapConfig.java | 11 ++++ .../plugins/worldmap/WorldMapPlugin.java | 10 +++ .../plugins/worldmap/air_altar_icon.png | Bin 0 -> 480 bytes .../plugins/worldmap/astral_altar_icon.png | Bin 0 -> 487 bytes .../plugins/worldmap/blood_altar_icon.png | Bin 0 -> 468 bytes .../plugins/worldmap/body_altar_icon.png | Bin 0 -> 504 bytes .../plugins/worldmap/chaos_altar_icon.png | Bin 0 -> 488 bytes .../plugins/worldmap/cosmic_altar_icon.png | Bin 0 -> 487 bytes .../plugins/worldmap/death_altar_icon.png | Bin 0 -> 489 bytes .../plugins/worldmap/earth_altar_icon.png | Bin 0 -> 466 bytes .../plugins/worldmap/fire_altar_icon.png | Bin 0 -> 457 bytes .../plugins/worldmap/law_altar_icon.png | Bin 0 -> 487 bytes .../plugins/worldmap/mind_altar_icon.png | Bin 0 -> 506 bytes .../plugins/worldmap/nature_altar_icon.png | Bin 0 -> 502 bytes .../plugins/worldmap/soul_altar_icon.png | Bin 0 -> 469 bytes .../plugins/worldmap/water_altar_icon.png | Bin 0 -> 470 bytes .../plugins/worldmap/wrath_altar_icon.png | Bin 0 -> 467 bytes 19 files changed, 122 insertions(+) create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarLocation.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarPoint.java create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/air_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/astral_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/blood_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/body_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/chaos_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/cosmic_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/death_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/earth_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/fire_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/law_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/mind_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/nature_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/soul_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/water_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/wrath_altar_icon.png diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarLocation.java new file mode 100644 index 0000000000..c2f8319635 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarLocation.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2019, Dava96 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.worldmap; + +import lombok.Getter; +import net.runelite.api.coords.WorldPoint; + +@Getter +enum RunecraftingAltarLocation +{ + AIR_ALTAR("Air Altar", 1, new WorldPoint(2985, 3293, 0), "air_altar_icon.png"), + MIND_ALTAR("Mind Altar", 2, new WorldPoint(2982, 3514, 0), "mind_altar_icon.png"), + WATER_ALTAR("Water Altar", 5, new WorldPoint(3185, 3165, 0), "water_altar_icon.png"), + EARTH_ALTAR("Earth Altar", 9, new WorldPoint(3306, 3474, 0), "earth_altar_icon.png"), + FIRE_ALTAR("Fire Altar", 14, new WorldPoint(3313, 3255, 0), "fire_altar_icon.png"), + BODY_ALTAR("Body Altar", 20, new WorldPoint(3053, 3445, 0), "body_altar_icon.png"), + COSMIC_ALTAR("Cosmic Altar", 27, new WorldPoint(2408, 4377, 0), "cosmic_altar_icon.png"), + CHAOS_ALTAR("Chaos Altar", 35, new WorldPoint(3060, 3591, 0), "chaos_altar_icon.png"), + ASTRAL_ALTAR("Astral Altar", 40, new WorldPoint(2158, 3864, 0), "astral_altar_icon.png"), + NATURE_ALTAR("Nature Altar", 44, new WorldPoint(2869, 3019, 0), "nature_altar_icon.png"), + LAW_ALTAR("Law Altar", 54, new WorldPoint(2858, 3381, 0), "law_altar_icon.png"), + DEATH_ALTAR("Death Altar", 65, new WorldPoint(1860, 4639, 0), "death_altar_icon.png"), + BLOOD_ALTAR("Blood Altar", 77, new WorldPoint(1716, 3827, 0), "blood_altar_icon.png"), + SOUL_ALTAR("Soul Altar", 90, new WorldPoint(1814, 3856, 0), "soul_altar_icon.png"), + WRATH_ALTAR("Wrath Altar", 95, new WorldPoint(2446, 2825, 0), "wrath_altar_icon.png"); + + private final String tooltip; + private final WorldPoint location; + private final int levelReq; + private final String iconPath; + + RunecraftingAltarLocation(String description, int level, WorldPoint location, String iconPath) + { + this.tooltip = description + " - Level " + level; + this.location = location; + this.levelReq = level; + this.iconPath = iconPath; + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarPoint.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarPoint.java new file mode 100644 index 0000000000..11cdad457f --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarPoint.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2019, Dava96 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.worldmap; + +import net.runelite.client.ui.overlay.worldmap.WorldMapPoint; +import net.runelite.client.util.ImageUtil; + +class RunecraftingAltarPoint extends WorldMapPoint +{ + RunecraftingAltarPoint(RunecraftingAltarLocation point) + { + super(point.getLocation(), WorldMapPlugin.BLANK_ICON); + setImage(ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, point.getIconPath())); + setTooltip(point.getTooltip()); + } +} 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 7ebe417ef2..4070a77b1a 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 @@ -218,4 +218,15 @@ public interface WorldMapConfig extends Config { return true; } + + @ConfigItem( + keyName = WorldMapPlugin.CONFIG_KEY_RUNECRAFTING_ALTAR_ICON, + name = "Show runecrafting altar locations", + description = "Show the icons of runecrafting altars", + position = 18 + ) + default boolean runecraftingAltarIcon() + { + return true; + } } \ No newline at end of file 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 32e34d013b..37ff9a5192 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 @@ -79,6 +79,7 @@ public class WorldMapPlugin extends Plugin static final String CONFIG_KEY_RARE_TREE_TOOLTIPS = "rareTreeTooltips"; static final String CONFIG_KEY_RARE_TREE_LEVEL_ICON = "rareTreeIcon"; static final String CONFIG_KEY_TRANSPORATION_TELEPORT_TOOLTIPS = "transportationTooltips"; + static final String CONFIG_KEY_RUNECRAFTING_ALTAR_ICON = "runecraftingAltarIcon"; static { @@ -151,6 +152,7 @@ public class WorldMapPlugin extends Plugin worldMapPointManager.removeIf(MinigamePoint.class::isInstance); worldMapPointManager.removeIf(FarmingPatchPoint.class::isInstance); worldMapPointManager.removeIf(RareTreePoint.class::isInstance); + worldMapPointManager.removeIf(RunecraftingAltarPoint.class::isInstance); agilityLevel = 0; woodcuttingLevel = 0; } @@ -304,6 +306,14 @@ public class WorldMapPlugin extends Plugin } }).map(TeleportPoint::new) .forEach(worldMapPointManager::add); + + worldMapPointManager.removeIf(RunecraftingAltarPoint.class::isInstance); + if (config.runecraftingAltarIcon()) + { + Arrays.stream(RunecraftingAltarLocation.values()) + .map(RunecraftingAltarPoint::new) + .forEach(worldMapPointManager::add); + } } private void updateQuestStartPointIcons() diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/air_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/air_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ae281d896cb466738dfc2f4f83cc62e932e65f13 GIT binary patch literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LC`AU(YxBfTgqt0+6WI4i3-8;G*Y^76{^^2_q`s)~xLi;C*X z%IeC>>w&1etiHUwxw^W!x~8SNx~00NqoJV_h#DJuTig0tTl;`yTkGVmF0gf7KpSUF zm;kqQ-n6OnrcGNsYu4h~Ks0;B`~@o(%wMr!!O8^-)-GMTZt0SBOP6k1xpLFWRhw6> z+`MYl_ODl^)$cU9ZXwNPKeTI%>W_62*|-8o{d z7j^BL^Szs!#6>gTe~DWM4f D2oBO< literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/astral_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/astral_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..10b4aecccedb98d561ab2a8fb572db3751f5127d GIT binary patch literal 487 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 IM6N<$f_Kc>TL1t6 literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/fire_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/fire_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f556a54ce9ab3f68b14927ae1cff31f48ec6a612 GIT binary patch literal 457 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LC`AU(YxBfTgqt0+6WI4i3-8;G*Y^76{^^2_q`s)~xLi;C*X z%InL^>dVWUtE*c;sHU@_p|i1}x3#UWwY9IcZE{x^*!(V_6*DGGfZH-}+SJ9fW-Xo# zM6;L7p0!+2WX1diD;6wRxnRNCB}>;XUAk`Rl66a$Zd$o=)5=wwR;}8+YUSottG2IQ zw|(8ZU7I%T-n4P|rcL{{ZQH+X>;7%q4(-@+Xy?wZy+t2^Ug9hX@(Tvi5Kx>ldm)gu zz|+MsghQ6~prPMk2Z6SW@8?HKM>jD=Etz2VeLvHkMzPM0HYP`*_3335{tRmv!Wk}} zvGl$6r}vRsjoqtrw^Dr9mljWZ9&}Qm>L*9DUEA|(^+wD!wIPPz-FCkEkec$uw)ufk zRziyH!LEb({!*L_4Xct<<}o(hVV8UM$ChEb#=Z4y)&2en{ayl5CNpPOZ!Ui0q_ZW` itafuGM}ug>hJ*I=9o;)EPThSCaa;_L4jtLOn}LB*O7VU{dU`=ddQnzZQFeB5R#tH~5M`I;<(1{-m*wYG6%|z% z71foM)s>akmzUL-mp4~eH&@rRR9ClD*K{;AbOKRhLvL$aZ(CbmYinO?TVGr2~yTRdyl;@Lnnd&T?(D;6wRxnRNCB}>;XUAk`Rl66a$Zd$o= z)5=wwSFPN$b03w`<|{LpWqv4_f;(1qw7=%zwtmo$b_f-bu=Xr?s>5|NbjsQpsyC zE)WyBu<^}Y>&KQ%4*Ufy0zTaS%fjM3*cO&#&s{Ndmd*2k8Eb_uoGnvat#2-|Z2p18 zrc7S-Yby&Yx9+d}z4P?b`HvpwZ&6S%3b46ZXYN+9mUrn@%k5JmK2H!`tXS-S>HTJ@ zqgN-~D7H91;rn7IS=)w-mls~(I<>`K_~~J1fixd0&AWY*cQIUGW>NpaUc~3O>iTI( QL6AQ@UHx3vIVCg!0HfF3YybcN literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/mind_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/mind_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b0aaeecf2a19467fa3c0cb9a6e536c8bde8c0976 GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LDR&6T4dJ-r|!y(lZIC_B42E2}sgh_cJ_^2+k^%kuN8ii)a> zit5VB>dMONfvCK!zP!A-y1Kc#rlq>NrMjl0p`jCq8XJ0BTYFpEdfVFiT3h>C+xpsC zCwFy$?d<|uJ!8TIxb5?%O`SJw+TvNW7S9Hv*-K{6S}}jYiUkW+&R?){!Gg6*mabj8 zbluV=>y|Fvv~uO9RjW3yTDg7gy6x-M?b@_y_oj`zH*MOtZQK5BTla6XBJL g;|gnooWjfp@*91F1ROTmB!Il*>FVdQ&MBb@06ahBDgXcg literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/nature_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/nature_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ee53dbd5a3f753be91715cdda0115ac658ceacfb GIT binary patch literal 502 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LB*uuG&MJ-r|!y(lZIC_B42E2}sgh_cJ_^2+k^%kuN8ii)a> zit5VB>dMONfvCK!zP!A-y1Kc#rlq>NrMjl0p`jCq8XJ0BTYFpEdfVFiT3h>C+xpsC zCwFy$?d<|uJ!8TIxb5?%O`SJw+TvNW7SEc!c=oKtvu7`vJ!{4M1uGWJU$J1p%J~ac zE?BU3$pfi@LpWqv58C=2b`WT|m|rJT zt*xS>($&$X#;ePIVrwIFfMauu%cX###;tp;H}6qr5NY62*dcX(U0yy<*g-yZ-B;`M z)+dXeT72URYr(bYuQr?upLgZ2t%Jq99N8q?=BZ7`5M^32}s fEt3PIhuIJI57q%qlO89gTe~DWM4fSIXjf literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/soul_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/soul_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..08615a949efc5396ff59522395bf232b9c8b297c GIT binary patch literal 469 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LC`AU(YxBfTgqt0+6WI4i3-8;G*Y^76{^^2_q`s)~xLi;C*X z%IkrsysWvpx&?%4IvN@}fvB;ex3#smwXLtUwGT+PwNCEp0$bDtv}@|LTQeq1fZI54 z+SGZ|rY)W|Yw>I#n!RN9tQ8C9uUN2P<@^OJ7c5x2Wa-+aOV=%3vTo_pO)FP!TDfY| zs#Tj;t=ztL-S&0sc5T|Ud(+0Ov+wr&5mt^2oaJG5iRp`AO$Q~xUiy~kM+ynO31{{Gutm~Mc zb1-lp;8NHj_1yE$z09_R&#UFG#KzvMk~qG6Ss+X0&Xz;dLbu-ip3QdSlSXksSKt2j z=d**=b!-G*9O67+Rn#gwbaahHT&f8ET32-mj!F<4|zB* rbo?!(%HdukHh14m6P5a;_L4jtLOn}LB*L~40KdU`=ddQnzZQFeB5R#tH~5M`I;<(1{-m*wYG6%|z% z71foM)s>akmzUL-mp4~ew}4PhXG240V?%FiTVHEyACPQoo!r$0wx|ne*Nh1h;MUEX zHg(>#X^UsgT09$wW-pmNYsLHpD;6wRIe)>*1q;?LS-N)V(sfIhtXsNt)5?{bR<7E# zYSrddD>tuNwSDcn?d#U<+O%o+rj5HdZQ8eO+x~4^_ix*FXvdC2J9o;j+x8RaJdJT^CG z+I^YFuz_h0L(8hx;>%I%RPq;onXDHzJM8DF?U(G&wAV&g#IweVLDYcLFI8} zfQtQp5p(|ipOcM^0(6q43O-xT>011jF<~Q*$oDx6XCxdA*PbwXFhga;_L4jtLOn}LDR)WD!1J-r|!y(lZIC_B42E2}sgh_cJ_^2+k^%kuN8ii)a> zit5VB>dMONfvCK!xw^W!x~8SNx~00NqoJX*p`o|6wYRmcueG(WwQX`&7uc>Ypmj4Q zOn}=sZ`#y()21z+HEZ!~Aey~o_N=9%;VTv_SUG>e$^{G7E?v5A>5_Fzmu_0Qa?{FH zn^vvbylUn4wd=O8Teo}D#@(AX?c26(|F*6Bw{1JLW5=PLJJ;~7bOU;fvn0qb7)V1v zamwt4K-LmZ7sn6|S=NJw-pqy)3>UtuW>&ZJ@jY6>*CfK8{(nE0UQ_dwyhmD(l)k)r zDs-RQ;1Hve=gq%bMRk{a71!rqQuFE*>aRW3wtAhr(4$|Q)&50gzkOR;7pY}9ub%nC zhdDY8y0cQ+-d=mxw=AMyqjPGQj`Pp8G0Xnu<`wz6>Z)I!a6W2}{HD