client: upstream
This commit is contained in:
@@ -65,6 +65,7 @@ public class HiscoreResult
|
|||||||
private Skill clueScrollElite;
|
private Skill clueScrollElite;
|
||||||
private Skill clueScrollMaster;
|
private Skill clueScrollMaster;
|
||||||
private Skill lastManStanding;
|
private Skill lastManStanding;
|
||||||
|
private Skill soulWarsZeal;
|
||||||
private Skill abyssalSire;
|
private Skill abyssalSire;
|
||||||
private Skill alchemicalHydra;
|
private Skill alchemicalHydra;
|
||||||
private Skill barrowsChests;
|
private Skill barrowsChests;
|
||||||
@@ -184,6 +185,8 @@ public class HiscoreResult
|
|||||||
return getClueScrollMaster();
|
return getClueScrollMaster();
|
||||||
case LAST_MAN_STANDING:
|
case LAST_MAN_STANDING:
|
||||||
return getLastManStanding();
|
return getLastManStanding();
|
||||||
|
case SOUL_WARS_ZEAL:
|
||||||
|
return getSoulWarsZeal();
|
||||||
case ABYSSAL_SIRE:
|
case ABYSSAL_SIRE:
|
||||||
return abyssalSire;
|
return abyssalSire;
|
||||||
case ALCHEMICAL_HYDRA:
|
case ALCHEMICAL_HYDRA:
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ public enum HiscoreSkill
|
|||||||
CLUE_SCROLL_ELITE("Clue Scrolls (elite)", ACTIVITY),
|
CLUE_SCROLL_ELITE("Clue Scrolls (elite)", ACTIVITY),
|
||||||
CLUE_SCROLL_MASTER("Clue Scrolls (master)", ACTIVITY),
|
CLUE_SCROLL_MASTER("Clue Scrolls (master)", ACTIVITY),
|
||||||
LAST_MAN_STANDING("Last Man Standing", ACTIVITY),
|
LAST_MAN_STANDING("Last Man Standing", ACTIVITY),
|
||||||
|
SOUL_WARS_ZEAL("Soul Wars Zeal", ACTIVITY),
|
||||||
ABYSSAL_SIRE("Abyssal Sire", BOSS),
|
ABYSSAL_SIRE("Abyssal Sire", BOSS),
|
||||||
ALCHEMICAL_HYDRA("Alchemical Hydra", BOSS),
|
ALCHEMICAL_HYDRA("Alchemical Hydra", BOSS),
|
||||||
BARROWS_CHESTS("Barrows Chests", BOSS),
|
BARROWS_CHESTS("Barrows Chests", BOSS),
|
||||||
|
|||||||
@@ -624,7 +624,7 @@ public final class ItemID
|
|||||||
public static final int SILK = 950;
|
public static final int SILK = 950;
|
||||||
public static final int SPADE = 952;
|
public static final int SPADE = 952;
|
||||||
public static final int ROPE = 954;
|
public static final int ROPE = 954;
|
||||||
public static final int FLIER = 956;
|
public static final int FLYER = 956;
|
||||||
public static final int GREY_WOLF_FUR = 958;
|
public static final int GREY_WOLF_FUR = 958;
|
||||||
public static final int PLANK = 960;
|
public static final int PLANK = 960;
|
||||||
public static final int CHRISTMAS_CRACKER = 962;
|
public static final int CHRISTMAS_CRACKER = 962;
|
||||||
@@ -3330,7 +3330,6 @@ public final class ItemID
|
|||||||
public static final int TILES = 5569;
|
public static final int TILES = 5569;
|
||||||
public static final int TILES_5570 = 5570;
|
public static final int TILES_5570 = 5570;
|
||||||
public static final int TILES_5571 = 5571;
|
public static final int TILES_5571 = 5571;
|
||||||
public static final int DIAL = 5572;
|
|
||||||
public static final int DESERT_AMULET = 5573;
|
public static final int DESERT_AMULET = 5573;
|
||||||
public static final int INITIATE_SALLET = 5574;
|
public static final int INITIATE_SALLET = 5574;
|
||||||
public static final int INITIATE_HAUBERK = 5575;
|
public static final int INITIATE_HAUBERK = 5575;
|
||||||
@@ -5008,7 +5007,7 @@ public final class ItemID
|
|||||||
public static final int SARADOMIN_ICON = 8058;
|
public static final int SARADOMIN_ICON = 8058;
|
||||||
public static final int ZAMORAK_ICON = 8059;
|
public static final int ZAMORAK_ICON = 8059;
|
||||||
public static final int GUTHIX_ICON = 8060;
|
public static final int GUTHIX_ICON = 8060;
|
||||||
public static final int ICON_OF_BOB = 8061;
|
public static final int BOB_ICON = 8061;
|
||||||
public static final int OAK_ALTAR = 8062;
|
public static final int OAK_ALTAR = 8062;
|
||||||
public static final int TEAK_ALTAR = 8063;
|
public static final int TEAK_ALTAR = 8063;
|
||||||
public static final int CLOTHCOVERED_ALTAR = 8064;
|
public static final int CLOTHCOVERED_ALTAR = 8064;
|
||||||
@@ -10754,7 +10753,7 @@ public final class ItemID
|
|||||||
public static final int CRYSTAL_SAPLING = 23659;
|
public static final int CRYSTAL_SAPLING = 23659;
|
||||||
public static final int CRYSTAL_ACORN = 23661;
|
public static final int CRYSTAL_ACORN = 23661;
|
||||||
public static final int DRAGONSTONE_ARMOUR_SET = 23667;
|
public static final int DRAGONSTONE_ARMOUR_SET = 23667;
|
||||||
public static final int FLIER_23670 = 23670;
|
public static final int FLYER_23670 = 23670;
|
||||||
public static final int CRYSTAL_AXE = 23673;
|
public static final int CRYSTAL_AXE = 23673;
|
||||||
public static final int CRYSTAL_AXE_INACTIVE = 23675;
|
public static final int CRYSTAL_AXE_INACTIVE = 23675;
|
||||||
public static final int DRAGON_PICKAXE_OR = 23677;
|
public static final int DRAGON_PICKAXE_OR = 23677;
|
||||||
@@ -10946,9 +10945,7 @@ public final class ItemID
|
|||||||
public static final int CRYSTAL_SHIELD = 23991;
|
public static final int CRYSTAL_SHIELD = 23991;
|
||||||
public static final int CRYSTAL_SHIELD_INACTIVE = 23993;
|
public static final int CRYSTAL_SHIELD_INACTIVE = 23993;
|
||||||
public static final int BLADE_OF_SAELDOR = 23995;
|
public static final int BLADE_OF_SAELDOR = 23995;
|
||||||
public static final int BLADE_OF_SAELDOR_23996 = 23996;
|
|
||||||
public static final int BLADE_OF_SAELDOR_INACTIVE = 23997;
|
public static final int BLADE_OF_SAELDOR_INACTIVE = 23997;
|
||||||
public static final int BLADE_OF_SAELDOR_INACTIVE_23999 = 23999;
|
|
||||||
public static final int CRYSTAL_GRAIL = 24000;
|
public static final int CRYSTAL_GRAIL = 24000;
|
||||||
public static final int ELVEN_BOOTS = 24003;
|
public static final int ELVEN_BOOTS = 24003;
|
||||||
public static final int ELVEN_GLOVES = 24006;
|
public static final int ELVEN_GLOVES = 24006;
|
||||||
@@ -11494,19 +11491,18 @@ public final class ItemID
|
|||||||
public static final int CABBAGE_24994 = 24994;
|
public static final int CABBAGE_24994 = 24994;
|
||||||
public static final int CABBAGE_24996 = 24996;
|
public static final int CABBAGE_24996 = 24996;
|
||||||
public static final int TRAILBLAZER_HOOD_T3 = 25001;
|
public static final int TRAILBLAZER_HOOD_T3 = 25001;
|
||||||
public static final int TRAILBLAZER_COAT_T3 = 25004;
|
public static final int TRAILBLAZER_TOP_T3 = 25004;
|
||||||
public static final int TRAILBLAZER_TROUSERS_T3 = 25007;
|
public static final int TRAILBLAZER_TROUSERS_T3 = 25007;
|
||||||
public static final int TRAILBLAZER_BOOTS_T3 = 25010;
|
public static final int TRAILBLAZER_BOOTS_T3 = 25010;
|
||||||
public static final int TRAILBLAZER_CANE = 25013;
|
public static final int TRAILBLAZER_CANE = 25013;
|
||||||
public static final int TRAILBLAZER_HOOD_T2 = 25016;
|
public static final int TRAILBLAZER_HOOD_T2 = 25016;
|
||||||
public static final int TRAILBLAZER_COAT_T2 = 25019;
|
public static final int TRAILBLAZER_TOP_T2 = 25019;
|
||||||
public static final int TRAILBLAZER_TROUSERS_T2 = 25022;
|
public static final int TRAILBLAZER_TROUSERS_T2 = 25022;
|
||||||
public static final int TRAILBLAZER_BOOTS_T2 = 25025;
|
public static final int TRAILBLAZER_BOOTS_T2 = 25025;
|
||||||
public static final int TRAILBLAZER_HOOD_T1 = 25028;
|
public static final int TRAILBLAZER_HOOD_T1 = 25028;
|
||||||
public static final int TRAILBLAZER_COAT_T1 = 25031;
|
public static final int TRAILBLAZER_TOP_T1 = 25031;
|
||||||
public static final int TRAILBLAZER_TROUSERS_T1 = 25034;
|
public static final int TRAILBLAZER_TROUSERS_T1 = 25034;
|
||||||
public static final int TRAILBLAZER_BOOTS_T1 = 25037;
|
public static final int TRAILBLAZER_BOOTS_T1 = 25037;
|
||||||
public static final int TRAILBLAZER_TROPHY = 25040;
|
|
||||||
public static final int TRAILBLAZER_DRAGON_TROPHY = 25042;
|
public static final int TRAILBLAZER_DRAGON_TROPHY = 25042;
|
||||||
public static final int TRAILBLAZER_RUNE_TROPHY = 25044;
|
public static final int TRAILBLAZER_RUNE_TROPHY = 25044;
|
||||||
public static final int TRAILBLAZER_ADAMANT_TROPHY = 25046;
|
public static final int TRAILBLAZER_ADAMANT_TROPHY = 25046;
|
||||||
@@ -11515,9 +11511,9 @@ public final class ItemID
|
|||||||
public static final int TRAILBLAZER_IRON_TROPHY = 25052;
|
public static final int TRAILBLAZER_IRON_TROPHY = 25052;
|
||||||
public static final int TRAILBLAZER_BRONZE_TROPHY = 25054;
|
public static final int TRAILBLAZER_BRONZE_TROPHY = 25054;
|
||||||
public static final int TRAILBLAZER_BANNER = 25056;
|
public static final int TRAILBLAZER_BANNER = 25056;
|
||||||
public static final int TRAILBLAZER_HARPOON = 25059;
|
public static final int INFERNAL_HARPOON_OR = 25059;
|
||||||
public static final int TRAILBLAZER_PICKAXE = 25063;
|
public static final int INFERNAL_PICKAXE_OR = 25063;
|
||||||
public static final int TRAILBLAZER_AXE = 25066;
|
public static final int INFERNAL_AXE_OR = 25066;
|
||||||
public static final int GRACEFUL_HOOD_25069 = 25069;
|
public static final int GRACEFUL_HOOD_25069 = 25069;
|
||||||
public static final int GRACEFUL_HOOD_25071 = 25071;
|
public static final int GRACEFUL_HOOD_25071 = 25071;
|
||||||
public static final int GRACEFUL_CAPE_25072 = 25072;
|
public static final int GRACEFUL_CAPE_25072 = 25072;
|
||||||
@@ -11539,9 +11535,9 @@ public final class ItemID
|
|||||||
public static final int CRYSTAL_OF_MEMORIES = 25104;
|
public static final int CRYSTAL_OF_MEMORIES = 25104;
|
||||||
public static final int EXTRADIMENSIONAL_BAG = 25106;
|
public static final int EXTRADIMENSIONAL_BAG = 25106;
|
||||||
public static final int EXTRADIMENSIONAL_BAG_25108 = 25108;
|
public static final int EXTRADIMENSIONAL_BAG_25108 = 25108;
|
||||||
public static final int TRAILBLAZER_AXE_25110 = 25110;
|
public static final int TRAILBLAZER_AXE = 25110;
|
||||||
public static final int TRAILBLAZER_PICKAXE_25112 = 25112;
|
public static final int TRAILBLAZER_PICKAXE = 25112;
|
||||||
public static final int TRAILBLAZER_HARPOON_25114 = 25114;
|
public static final int TRAILBLAZER_HARPOON = 25114;
|
||||||
public static final int LEAGUE_TOMATO = 25117;
|
public static final int LEAGUE_TOMATO = 25117;
|
||||||
public static final int BEEKEEPERS_HAT = 25129;
|
public static final int BEEKEEPERS_HAT = 25129;
|
||||||
public static final int BEEKEEPERS_TOP = 25131;
|
public static final int BEEKEEPERS_TOP = 25131;
|
||||||
@@ -11549,5 +11545,158 @@ public final class ItemID
|
|||||||
public static final int BEEKEEPERS_GLOVES = 25135;
|
public static final int BEEKEEPERS_GLOVES = 25135;
|
||||||
public static final int BEEKEEPERS_BOOTS = 25137;
|
public static final int BEEKEEPERS_BOOTS = 25137;
|
||||||
public static final int BONE_FRAGMENTS = 25139;
|
public static final int BONE_FRAGMENTS = 25139;
|
||||||
|
public static final int CLAY_HEAD = 25145;
|
||||||
|
public static final int FUR_HEAD = 25146;
|
||||||
|
public static final int BLOODY_HEAD = 25147;
|
||||||
|
public static final int NEILANS_JOURNAL = 25152;
|
||||||
|
public static final int ORNATE_UNDEAD_COMBAT_DUMMY = 25154;
|
||||||
|
public static final int DECORATIVE_BOOTS_BROKEN = 25155;
|
||||||
|
public static final int DECORATIVE_FULL_HELM_BROKEN = 25157;
|
||||||
|
public static final int CASTLEWARS_BREW4 = 25159;
|
||||||
|
public static final int CASTLEWARS_BREW3 = 25160;
|
||||||
|
public static final int CASTLEWARS_BREW2 = 25161;
|
||||||
|
public static final int CASTLEWARS_BREW1 = 25162;
|
||||||
|
public static final int DECORATIVE_BOOTS = 25163;
|
||||||
|
public static final int DECORATIVE_FULL_HELM = 25165;
|
||||||
|
public static final int DECORATIVE_BOOTS_25167 = 25167;
|
||||||
|
public static final int DECORATIVE_FULL_HELM_25169 = 25169;
|
||||||
|
public static final int DECORATIVE_BOOTS_25171 = 25171;
|
||||||
|
public static final int DECORATIVE_BOOTS_L = 25173;
|
||||||
|
public static final int DECORATIVE_FULL_HELM_25174 = 25174;
|
||||||
|
public static final int DECORATIVE_FULL_HELM_L = 25176;
|
||||||
|
public static final int SLAYER_HELMET_I_25177 = 25177;
|
||||||
|
public static final int BLACK_SLAYER_HELMET_I_25179 = 25179;
|
||||||
|
public static final int GREEN_SLAYER_HELMET_I_25181 = 25181;
|
||||||
|
public static final int RED_SLAYER_HELMET_I_25183 = 25183;
|
||||||
|
public static final int PURPLE_SLAYER_HELMET_I_25185 = 25185;
|
||||||
|
public static final int TURQUOISE_SLAYER_HELMET_I_25187 = 25187;
|
||||||
|
public static final int HYDRA_SLAYER_HELMET_I_25189 = 25189;
|
||||||
|
public static final int TWISTED_SLAYER_HELMET_I_25191 = 25191;
|
||||||
|
public static final int GRANITE_RING_I_25193 = 25193;
|
||||||
|
public static final int BLUE_CAPE_25195 = 25195;
|
||||||
|
public static final int SOUL_FRAGMENT = 25196;
|
||||||
|
public static final int SOUL_WARS_GUIDE = 25197;
|
||||||
|
public static final int BONES_25199 = 25199;
|
||||||
|
public static final int SOUL_FRAGMENT_25201 = 25201;
|
||||||
|
public static final int BANDAGES_25202 = 25202;
|
||||||
|
public static final int POTION_OF_POWER4 = 25203;
|
||||||
|
public static final int POTION_OF_POWER3 = 25204;
|
||||||
|
public static final int POTION_OF_POWER2 = 25205;
|
||||||
|
public static final int POTION_OF_POWER1 = 25206;
|
||||||
|
public static final int RED_CAPE_25207 = 25207;
|
||||||
|
public static final int BLUE_CAPE_25208 = 25208;
|
||||||
|
public static final int BARRICADE_25209 = 25209;
|
||||||
|
public static final int BARRICADE_25210 = 25210;
|
||||||
|
public static final int EXPLOSIVE_POTION_25211 = 25211;
|
||||||
|
public static final int BLUE_ICON = 25212;
|
||||||
|
public static final int BLUE_ICON_25213 = 25213;
|
||||||
|
public static final int BLUE_ICON_25214 = 25214;
|
||||||
|
public static final int BLUE_ICON_25215 = 25215;
|
||||||
|
public static final int BLUE_ICON_25216 = 25216;
|
||||||
|
public static final int BLUE_ICON_25217 = 25217;
|
||||||
|
public static final int BLUE_ICON_25218 = 25218;
|
||||||
|
public static final int BLUE_ICON_25219 = 25219;
|
||||||
|
public static final int BLUE_ICON_25220 = 25220;
|
||||||
|
public static final int BLUE_ICON_25221 = 25221;
|
||||||
|
public static final int BLUE_ICON_25222 = 25222;
|
||||||
|
public static final int BLUE_ICON_25223 = 25223;
|
||||||
|
public static final int BLUE_ICON_25224 = 25224;
|
||||||
|
public static final int BLUE_ICON_25225 = 25225;
|
||||||
|
public static final int BLUE_ICON_25226 = 25226;
|
||||||
|
public static final int BLUE_ICON_25227 = 25227;
|
||||||
|
public static final int RED_ICON = 25228;
|
||||||
|
public static final int RED_ICON_25229 = 25229;
|
||||||
|
public static final int RED_ICON_25230 = 25230;
|
||||||
|
public static final int RED_ICON_25231 = 25231;
|
||||||
|
public static final int RED_ICON_25232 = 25232;
|
||||||
|
public static final int RED_ICON_25233 = 25233;
|
||||||
|
public static final int RED_ICON_25234 = 25234;
|
||||||
|
public static final int RED_ICON_25235 = 25235;
|
||||||
|
public static final int RED_ICON_25236 = 25236;
|
||||||
|
public static final int RED_ICON_25237 = 25237;
|
||||||
|
public static final int RED_ICON_25238 = 25238;
|
||||||
|
public static final int RED_ICON_25239 = 25239;
|
||||||
|
public static final int RED_ICON_25240 = 25240;
|
||||||
|
public static final int RED_ICON_25241 = 25241;
|
||||||
|
public static final int RED_ICON_25242 = 25242;
|
||||||
|
public static final int RED_ICON_25243 = 25243;
|
||||||
|
public static final int OLD_KEY_25244 = 25244;
|
||||||
|
public static final int RING_OF_SUFFERING_I_25246 = 25246;
|
||||||
|
public static final int RING_OF_SUFFERING_RI_25248 = 25248;
|
||||||
|
public static final int SALVE_AMULETI_25250 = 25250;
|
||||||
|
public static final int RING_OF_THE_GODS_I_25252 = 25252;
|
||||||
|
public static final int TYRANNICAL_RING_I_25254 = 25254;
|
||||||
|
public static final int TREASONOUS_RING_I_25256 = 25256;
|
||||||
|
public static final int SEERS_RING_I_25258 = 25258;
|
||||||
|
public static final int ARCHERS_RING_I_25260 = 25260;
|
||||||
|
public static final int WARRIOR_RING_I_25262 = 25262;
|
||||||
|
public static final int BERSERKER_RING_I_25264 = 25264;
|
||||||
|
public static final int BLACK_MASK_10_I_25266 = 25266;
|
||||||
|
public static final int BLACK_MASK_9_I_25267 = 25267;
|
||||||
|
public static final int BLACK_MASK_8_I_25268 = 25268;
|
||||||
|
public static final int BLACK_MASK_7_I_25269 = 25269;
|
||||||
|
public static final int BLACK_MASK_6_I_25270 = 25270;
|
||||||
|
public static final int BLACK_MASK_5_I_25271 = 25271;
|
||||||
|
public static final int BLACK_MASK_4_I_25272 = 25272;
|
||||||
|
public static final int BLACK_MASK_3_I_25273 = 25273;
|
||||||
|
public static final int BLACK_MASK_2_I_25274 = 25274;
|
||||||
|
public static final int BLACK_MASK_1_I_25275 = 25275;
|
||||||
|
public static final int BLACK_MASK_I_25276 = 25276;
|
||||||
|
public static final int SALVE_AMULETEI_25278 = 25278;
|
||||||
|
public static final int PURE_ESSENCE_PACK = 25280;
|
||||||
|
public static final int SLED_25282 = 25282;
|
||||||
|
public static final int RED_FIREFLIES = 25283;
|
||||||
|
public static final int GREEN_FIREFLIES = 25284;
|
||||||
|
public static final int STICK_25285 = 25285;
|
||||||
|
public static final int MOULDY_SAWDUST = 25286;
|
||||||
|
public static final int ROTTEN_MEAT = 25287;
|
||||||
|
public static final int STALE_BREAD = 25288;
|
||||||
|
public static final int GOBLIN_STEW = 25289;
|
||||||
|
public static final int GOBLIN_GIFTS = 25290;
|
||||||
|
public static final int GIANT_BOULDER = 25314;
|
||||||
|
public static final int GOBLIN_DECORATIONS = 25316;
|
||||||
|
public static final int GNOME_CHILD_ICON = 25319;
|
||||||
|
public static final int GNOME_CHILD = 25320;
|
||||||
|
public static final int GNOME_CHILD_25321 = 25321;
|
||||||
|
public static final int _20TH_ANNIVERSARY_HAT = 25322;
|
||||||
|
public static final int _20TH_ANNIVERSARY_TOP = 25324;
|
||||||
|
public static final int _20TH_ANNIVERSARY_BOTTOM = 25326;
|
||||||
|
public static final int _20TH_ANNIVERSARY_BOOTS = 25328;
|
||||||
|
public static final int _20TH_ANNIVERSARY_GLOVES = 25330;
|
||||||
|
public static final int _20TH_ANNIVERSARY_NECKLACE = 25332;
|
||||||
|
public static final int _20TH_ANNIVERSARY_CAPE = 25334;
|
||||||
|
public static final int GNOME_CHILD_MASK = 25336;
|
||||||
|
public static final int GNOME_CHILD_ICON_25338 = 25338;
|
||||||
|
public static final int ECTOPLASMATOR = 25340;
|
||||||
|
public static final int SPOILS_OF_WAR = 25342;
|
||||||
|
public static final int SOUL_CAPE = 25344;
|
||||||
|
public static final int SOUL_CAPE_25346 = 25346;
|
||||||
|
public static final int LIL_CREATOR = 25348;
|
||||||
|
public static final int LIL_DESTRUCTOR = 25350;
|
||||||
|
public static final int TROPHY_PEDESTAL = 25351;
|
||||||
|
public static final int ORNATE_TROPHY_PEDESTAL = 25352;
|
||||||
|
public static final int OAK_TROPHY_CASE = 25353;
|
||||||
|
public static final int MAHOGANY_TROPHY_CASE = 25354;
|
||||||
|
public static final int BANNER_STAND = 25355;
|
||||||
|
public static final int ORNATE_BANNER_STAND = 25356;
|
||||||
|
public static final int OAK_OUTFIT_STAND = 25357;
|
||||||
|
public static final int MAHOGANY_OUTFIT_STAND = 25358;
|
||||||
|
public static final int LEAGUE_STATUE = 25359;
|
||||||
|
public static final int ORNATE_LEAGUE_STATUE = 25360;
|
||||||
|
public static final int TRAILBLAZER_GLOBE_25361 = 25361;
|
||||||
|
public static final int RUG_25362 = 25362;
|
||||||
|
public static final int OPULENT_RUG_25363 = 25363;
|
||||||
|
public static final int TRAILBLAZER_RUG_25364 = 25364;
|
||||||
|
public static final int LEAGUE_ACCOMPLISHMENTS_SCROLL = 25365;
|
||||||
|
public static final int LEAGUE_HALL = 25366;
|
||||||
|
public static final int INFERNAL_HARPOON_UNCHARGED_25367 = 25367;
|
||||||
|
public static final int INFERNAL_PICKAXE_UNCHARGED_25369 = 25369;
|
||||||
|
public static final int INFERNAL_AXE_UNCHARGED_25371 = 25371;
|
||||||
|
public static final int DRAGON_HARPOON_OR = 25373;
|
||||||
|
public static final int DRAGON_PICKAXE_OR_25376 = 25376;
|
||||||
|
public static final int DRAGON_AXE_OR = 25378;
|
||||||
|
public static final int TRAILBLAZER_RELIC_HUNTER_T1_ARMOUR_SET = 25380;
|
||||||
|
public static final int TRAILBLAZER_RELIC_HUNTER_T2_ARMOUR_SET = 25383;
|
||||||
|
public static final int TRAILBLAZER_RELIC_HUNTER_T3_ARMOUR_SET = 25386;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
@@ -197,104 +197,15 @@ public enum VarPlayer
|
|||||||
SOUND_EFFECT_VOLUME(169),
|
SOUND_EFFECT_VOLUME(169),
|
||||||
AREA_EFFECT_VOLUME(872),
|
AREA_EFFECT_VOLUME(872),
|
||||||
|
|
||||||
/**
|
|
||||||
* f2p Quest varbits, these don't hold the completion value.
|
|
||||||
*/
|
|
||||||
QUEST_BLACK_KNIGHTS_FORTRESS(130),
|
|
||||||
QUEST_COOKS_ASSISTANT(29),
|
|
||||||
QUEST_DORICS_QUEST(31),
|
|
||||||
QUEST_DRAGON_SLAYER(176),
|
|
||||||
QUEST_ERNEST_THE_CHICKEN(32),
|
|
||||||
QUEST_IMP_CATCHER(160),
|
|
||||||
QUEST_THE_KNIGHTS_SWORD(122),
|
|
||||||
QUEST_PIRATES_TREASURE(71),
|
|
||||||
QUEST_PRINCE_ALI_RESCUE(273),
|
|
||||||
QUEST_THE_RESTLESS_GHOST(107),
|
|
||||||
QUEST_ROMEO_AND_JULIET(144),
|
|
||||||
QUEST_RUNE_MYSTERIES(63),
|
|
||||||
QUEST_SHEEP_SHEARER(179),
|
|
||||||
QUEST_SHIELD_OF_ARRAV(145),
|
|
||||||
QUEST_SHIELD_OF_ARRAV_STATE_146(146),
|
|
||||||
QUEST_VAMPIRE_SLAYER(178),
|
|
||||||
QUEST_WITCHS_POTION(67),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* member Quest varbits, these don't hold the completion value.
|
|
||||||
*/
|
|
||||||
QUEST_BIG_CHOMPY_BIRD_HUNTING(293),
|
|
||||||
QUEST_BIOHAZARD(68),
|
|
||||||
QUEST_CABIN_FEVER(655),
|
|
||||||
QUEST_CLOCK_TOWER(10),
|
|
||||||
QUEST_CREATURE_OF_FENKENSTRAIN(399),
|
|
||||||
QUEST_DEATH_PLATEAU(314),
|
|
||||||
QUEST_THE_DIG_SITE(131),
|
|
||||||
QUEST_DRUIDIC_RITUAL(80),
|
|
||||||
QUEST_DWARF_CANNON(0),
|
|
||||||
QUEST_EADGARS_RUSE(335),
|
|
||||||
QUEST_ELEMENTAL_WORKSHOP_I(299),
|
|
||||||
QUEST_FAMILY_CREST(148),
|
|
||||||
QUEST_FIGHT_ARENA(17),
|
|
||||||
QUEST_FISHING_CONTEST(11),
|
|
||||||
QUEST_THE_FREMENNIK_TRIALS(347),
|
|
||||||
QUEST_WATERFALL_QUEST(65),
|
|
||||||
QUEST_GERTRUDES_CAT(180),
|
|
||||||
QUEST_THE_GRAND_TREE(150),
|
|
||||||
QUEST_HAUNTED_MINE(382),
|
|
||||||
QUEST_HAZEEL_CULT(223),
|
|
||||||
QUEST_HEROES_QUEST(188),
|
|
||||||
QUEST_HOLY_GRAIL(5),
|
|
||||||
QUEST_IN_SEARCH_OF_THE_MYREQUE(387),
|
|
||||||
QUEST_JUNGLE_POTION(175),
|
|
||||||
QUEST_LEGENDS_QUEST(139),
|
|
||||||
QUEST_LOST_CITY(147),
|
|
||||||
QUEST_MERLINS_CRYSTAL(14),
|
|
||||||
QUEST_MONKEY_MADNESS_I(365),
|
|
||||||
QUEST_MONKS_FRIEND(30),
|
|
||||||
QUEST_MOURNINGS_END_PART_I(517),
|
|
||||||
QUEST_MURDER_MYSTERY(192),
|
|
||||||
QUEST_NATURE_SPIRIT(307),
|
|
||||||
QUEST_OBSERVATORY_QUEST(112),
|
|
||||||
QUEST_ONE_SMALL_FAVOUR(416),
|
|
||||||
QUEST_PLAGUE_CITY(165),
|
|
||||||
QUEST_PRIEST_IN_PERIL(302),
|
|
||||||
QUEST_RAG_AND_BONE_MAN(714),
|
|
||||||
QUEST_REGICIDE(328),
|
|
||||||
QUEST_ROVING_ELVES(402),
|
|
||||||
QUEST_RUM_DEAL(600),
|
|
||||||
QUEST_SCORPION_CATCHER(76),
|
|
||||||
QUEST_SEA_SLUG(159),
|
|
||||||
QUEST_SHADES_OF_MORTTON(339),
|
|
||||||
QUEST_SHEEP_HERDER(60),
|
|
||||||
QUEST_SHILO_VILLAGE(116),
|
|
||||||
QUEST_TAI_BWO_WANNAI_TRIO(320),
|
|
||||||
QUEST_TEMPLE_OF_IKOV(26),
|
|
||||||
QUEST_THRONE_OF_MISCELLANIA(359),
|
|
||||||
QUEST_THE_TOURIST_TRAP(197),
|
|
||||||
QUEST_WITCHS_HOUSE(226),
|
|
||||||
QUEST_TREE_GNOME_VILLAGE(111),
|
|
||||||
QUEST_TRIBAL_TOTEM(200),
|
|
||||||
QUEST_TROLL_ROMANCE(385),
|
|
||||||
QUEST_TROLL_STRONGHOLD(317),
|
|
||||||
QUEST_UNDERGROUND_PASS(161),
|
|
||||||
QUEST_UNDERGROUND_PASS_STATE_162(162),
|
|
||||||
QUEST_WATCHTOWER(212),
|
|
||||||
QUEST_THE_GREAT_BRAIN_ROBBERY(980),
|
|
||||||
QUEST_RAG_AND_BONE_MAN_II(714),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* mini-quest varbits, these don't hold the completion value.
|
|
||||||
*/
|
|
||||||
QUEST_ENTER_THE_ABYSS(492),
|
|
||||||
QUEST_ALFRED_GRIMHANDS_BARCRAWL(77),
|
|
||||||
QUEST_ALFRED_GRIMHANDS_BARCRAWL_STATE_76(76),
|
|
||||||
QUEST_THE_MAGE_ARENA(267),
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 0 = 2 buttons, 1 = 1 button
|
* 0 = 2 buttons, 1 = 1 button
|
||||||
*/
|
*/
|
||||||
MOUSE_BUTTONS(170),
|
MOUSE_BUTTONS(170),
|
||||||
|
|
||||||
ZALCANO_FORM(1683);
|
/**
|
||||||
|
* {@link NpcID} for the HP HUD
|
||||||
|
*/
|
||||||
|
HP_HUD_NPC_ID(1683);
|
||||||
|
|
||||||
public final int id;
|
private final int id;
|
||||||
}
|
}
|
||||||
@@ -49,7 +49,7 @@ public class SkillIconManager
|
|||||||
String skillIconPath = (small ? "/skill_icons_small/" : "/skill_icons/")
|
String skillIconPath = (small ? "/skill_icons_small/" : "/skill_icons/")
|
||||||
+ skill.getName().toLowerCase() + ".png";
|
+ skill.getName().toLowerCase() + ".png";
|
||||||
log.debug("Loading skill icon from {}", skillIconPath);
|
log.debug("Loading skill icon from {}", skillIconPath);
|
||||||
BufferedImage skillImage = ImageUtil.getResourceStreamFromClass(getClass(), skillIconPath);
|
BufferedImage skillImage = ImageUtil.loadImageResource(getClass(), skillIconPath);
|
||||||
imgCache[skillIdx] = skillImage;
|
imgCache[skillIdx] = skillImage;
|
||||||
|
|
||||||
return skillImage;
|
return skillImage;
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ public class SpriteManager
|
|||||||
Class<?> owner = add[0].getClass();
|
Class<?> owner = add[0].getClass();
|
||||||
for (SpriteOverride o : add)
|
for (SpriteOverride o : add)
|
||||||
{
|
{
|
||||||
BufferedImage image = ImageUtil.getResourceStreamFromClass(owner, o.getFileName());
|
BufferedImage image = ImageUtil.loadImageResource(owner, o.getFileName());
|
||||||
SpritePixels sp = ImageUtil.getImageSpritePixels(image, client);
|
SpritePixels sp = ImageUtil.getImageSpritePixels(image, client);
|
||||||
overrides.put(o.getSpriteId(), sp);
|
overrides.put(o.getSpriteId(), sp);
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -65,8 +65,8 @@ public class AccountPlugin extends Plugin
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
LOGIN_IMAGE = ImageUtil.getResourceStreamFromClass(AccountPlugin.class, "login_icon.png");
|
LOGIN_IMAGE = ImageUtil.loadImageResource(AccountPlugin.class, "login_icon.png");
|
||||||
LOGOUT_IMAGE = ImageUtil.getResourceStreamFromClass(AccountPlugin.class, "logout_icon.png");
|
LOGOUT_IMAGE = ImageUtil.loadImageResource(AccountPlugin.class, "logout_icon.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+1
-1
@@ -100,7 +100,7 @@ public class BarbarianAssaultPlugin extends Plugin
|
|||||||
overlayManager.add(timerOverlay);
|
overlayManager.add(timerOverlay);
|
||||||
overlayManager.add(healerOverlay);
|
overlayManager.add(healerOverlay);
|
||||||
|
|
||||||
clockImage = ImageUtil.getResourceStreamFromClass(getClass(), "clock.png");
|
clockImage = ImageUtil.loadImageResource(getClass(), "clock.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+4
-2
@@ -27,6 +27,7 @@ package net.runelite.client.plugins.barrows;
|
|||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
|
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
|
||||||
@@ -42,6 +43,8 @@ import net.runelite.client.ui.overlay.components.LineComponent;
|
|||||||
|
|
||||||
public class BarrowsBrotherSlainOverlay extends OverlayPanel
|
public class BarrowsBrotherSlainOverlay extends OverlayPanel
|
||||||
{
|
{
|
||||||
|
private static final DecimalFormat REWARD_POTENTIAL_FORMATTER = new DecimalFormat("##0.00%");
|
||||||
|
|
||||||
private final Client client;
|
private final Client client;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -84,10 +87,9 @@ public class BarrowsBrotherSlainOverlay extends OverlayPanel
|
|||||||
}
|
}
|
||||||
|
|
||||||
final int rewardPotential = rewardPotential();
|
final int rewardPotential = rewardPotential();
|
||||||
float rewardPercent = rewardPotential / 10.12f;
|
|
||||||
panelComponent.getChildren().add(LineComponent.builder()
|
panelComponent.getChildren().add(LineComponent.builder()
|
||||||
.left("Potential")
|
.left("Potential")
|
||||||
.right(rewardPercent != 0 ? rewardPercent + "%" : "0%")
|
.right(REWARD_POTENTIAL_FORMATTER.format(rewardPotential / 1012f))
|
||||||
.rightColor(rewardPotential >= 756 && rewardPotential < 881 ? Color.GREEN : rewardPotential < 631 ? Color.WHITE : Color.YELLOW)
|
.rightColor(rewardPotential >= 756 && rewardPotential < 881 ? Color.GREEN : rewardPotential < 631 ? Color.WHITE : Color.YELLOW)
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
|
|||||||
@@ -119,8 +119,8 @@ public class BoostsPlugin extends Plugin
|
|||||||
Arrays.fill(lastSkillLevels, -1);
|
Arrays.fill(lastSkillLevels, -1);
|
||||||
|
|
||||||
// Add infoboxes for everything at startup and then determine inside if it will be rendered
|
// Add infoboxes for everything at startup and then determine inside if it will be rendered
|
||||||
infoBoxManager.addInfoBox(new StatChangeIndicator(true, ImageUtil.getResourceStreamFromClass(getClass(), "debuffed.png"), this, config));
|
infoBoxManager.addInfoBox(new StatChangeIndicator(true, ImageUtil.loadImageResource(getClass(), "debuffed.png"), this, config));
|
||||||
infoBoxManager.addInfoBox(new StatChangeIndicator(false, ImageUtil.getResourceStreamFromClass(getClass(), "buffed.png"), this, config));
|
infoBoxManager.addInfoBox(new StatChangeIndicator(false, ImageUtil.loadImageResource(getClass(), "buffed.png"), this, config));
|
||||||
|
|
||||||
for (final Skill skill : Skill.values())
|
for (final Skill skill : Skill.values())
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -625,7 +625,7 @@ public class ClueScrollPlugin extends Plugin
|
|||||||
return emoteImage;
|
return emoteImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
emoteImage = ImageUtil.getResourceStreamFromClass(getClass(), "emote.png");
|
emoteImage = ImageUtil.loadImageResource(getClass(), "emote.png");
|
||||||
|
|
||||||
return emoteImage;
|
return emoteImage;
|
||||||
}
|
}
|
||||||
@@ -642,7 +642,7 @@ public class ClueScrollPlugin extends Plugin
|
|||||||
return mapArrow;
|
return mapArrow;
|
||||||
}
|
}
|
||||||
|
|
||||||
mapArrow = ImageUtil.getResourceStreamFromClass(getClass(), "/util/clue_arrow.png");
|
mapArrow = ImageUtil.loadImageResource(getClass(), "/util/clue_arrow.png");
|
||||||
|
|
||||||
return mapArrow;
|
return mapArrow;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -52,7 +52,7 @@ public class CipherClue extends ClueScroll implements TextClueScroll, NpcClueScr
|
|||||||
new CipherClue("OVEXON", "Eluned", new WorldPoint(2289, 3144, 0), "Outside Lletya or in Prifddinas after Song of the Elves", "A question on elven crystal math. I have 5 and 3 crystals, large and small respectively. A large crystal is worth 10,000 coins and a small is worth but 1,000. How much are all my crystals worth?", "53,000"),
|
new CipherClue("OVEXON", "Eluned", new WorldPoint(2289, 3144, 0), "Outside Lletya or in Prifddinas after Song of the Elves", "A question on elven crystal math. I have 5 and 3 crystals, large and small respectively. A large crystal is worth 10,000 coins and a small is worth but 1,000. How much are all my crystals worth?", "53,000"),
|
||||||
new CipherClue("VTYR APCNTGLW", "King Percival", new WorldPoint(2634, 4682, 1), "Fisher Realm, first floor. Fairy ring BJR", "How many cannons are on this here castle?", "5"),
|
new CipherClue("VTYR APCNTGLW", "King Percival", new WorldPoint(2634, 4682, 1), "Fisher Realm, first floor. Fairy ring BJR", "How many cannons are on this here castle?", "5"),
|
||||||
new CipherClue("UZZU MUJHRKYYKJ", "Otto Godblessed", new WorldPoint(2501, 3487, 0), "Otto's Grotto", "How many pyre sites are found around this lake?", "3"),
|
new CipherClue("UZZU MUJHRKYYKJ", "Otto Godblessed", new WorldPoint(2501, 3487, 0), "Otto's Grotto", "How many pyre sites are found around this lake?", "3"),
|
||||||
new CipherClue("USBJCPSO", "Traiborn", new WorldPoint(3112, 3162, 0), "First floor of Wizards Tower", "How many air runes would I need to cast 630 wind waves?", "3150"),
|
new CipherClue("USBJCPSO", "Traiborn", new WorldPoint(3112, 3162, 0), "First floor of Wizards Tower. Fairy ring DIS", "How many air runes would I need to cast 630 wind waves?", "3150"),
|
||||||
new CipherClue("HCKTA IQFHCVJGT", "Fairy Godfather", new WorldPoint(2446, 4428, 0), "Zanaris throne room", "There are 3 inputs and 4 letters on each ring How many total individual fairy ring codes are possible?", "64"),
|
new CipherClue("HCKTA IQFHCVJGT", "Fairy Godfather", new WorldPoint(2446, 4428, 0), "Zanaris throne room", "There are 3 inputs and 4 letters on each ring How many total individual fairy ring codes are possible?", "64"),
|
||||||
new CipherClue("ZSBKDO ZODO", "Pirate Pete", new WorldPoint(3680, 3537, 0), "Dock northeast of the Ectofunctus"),
|
new CipherClue("ZSBKDO ZODO", "Pirate Pete", new WorldPoint(3680, 3537, 0), "Dock northeast of the Ectofunctus"),
|
||||||
new CipherClue("GBJSZ RVFFO", "Fairy Queen", new WorldPoint(2347, 4435, 0), "Fairy Resistance Hideout"),
|
new CipherClue("GBJSZ RVFFO", "Fairy Queen", new WorldPoint(2347, 4435, 0), "Fairy Resistance Hideout"),
|
||||||
|
|||||||
@@ -134,11 +134,11 @@ class ConfigPanel extends PluginPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
final BufferedImage backIcon = ImageUtil.getResourceStreamFromClass(ConfigPanel.class, "config_back_icon.png");
|
final BufferedImage backIcon = ImageUtil.loadImageResource(ConfigPanel.class, "config_back_icon.png");
|
||||||
BACK_ICON = new ImageIcon(backIcon);
|
BACK_ICON = new ImageIcon(backIcon);
|
||||||
BACK_ICON_HOVER = new ImageIcon(ImageUtil.alphaOffset(backIcon, -100));
|
BACK_ICON_HOVER = new ImageIcon(ImageUtil.alphaOffset(backIcon, -100));
|
||||||
|
|
||||||
BufferedImage sectionRetractIcon = ImageUtil.getResourceStreamFromClass(ConfigPanel.class, "/util/arrow_right.png");
|
BufferedImage sectionRetractIcon = ImageUtil.loadImageResource(ConfigPanel.class, "/util/arrow_right.png");
|
||||||
sectionRetractIcon = ImageUtil.luminanceOffset(sectionRetractIcon, -121);
|
sectionRetractIcon = ImageUtil.luminanceOffset(sectionRetractIcon, -121);
|
||||||
SECTION_EXPAND_ICON = new ImageIcon(sectionRetractIcon);
|
SECTION_EXPAND_ICON = new ImageIcon(sectionRetractIcon);
|
||||||
SECTION_EXPAND_ICON_HOVER = new ImageIcon(ImageUtil.alphaOffset(sectionRetractIcon, -100));
|
SECTION_EXPAND_ICON_HOVER = new ImageIcon(ImageUtil.alphaOffset(sectionRetractIcon, -100));
|
||||||
@@ -285,7 +285,7 @@ class ConfigPanel extends PluginPanel
|
|||||||
|
|
||||||
String name = cs.name();
|
String name = cs.name();
|
||||||
final JLabel sectionName = new JLabel(name);
|
final JLabel sectionName = new JLabel(name);
|
||||||
sectionName.setForeground(ColorScheme.BRAND_BLUE);
|
sectionName.setForeground(ColorScheme.BRAND_ORANGE);
|
||||||
sectionName.setFont(FontManager.getRunescapeBoldFont());
|
sectionName.setFont(FontManager.getRunescapeBoldFont());
|
||||||
sectionName.setToolTipText("<html>" + name + ":<br>" + cs.description() + "</html>");
|
sectionName.setToolTipText("<html>" + name + ":<br>" + cs.description() + "</html>");
|
||||||
sectionHeader.add(sectionName, BorderLayout.CENTER);
|
sectionHeader.add(sectionName, BorderLayout.CENTER);
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ public class ConfigPlugin extends Plugin
|
|||||||
));
|
));
|
||||||
pluginListPanel.rebuildPluginList();
|
pluginListPanel.rebuildPluginList();
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "config_icon.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "config_icon.png");
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("Configuration")
|
.tooltip("Configuration")
|
||||||
|
|||||||
+3
-3
@@ -102,14 +102,14 @@ class PluginHubPanel extends PluginPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
BufferedImage missingIcon = ImageUtil.getResourceStreamFromClass(PluginHubPanel.class, "pluginhub_missingicon.png");
|
BufferedImage missingIcon = ImageUtil.loadImageResource(PluginHubPanel.class, "pluginhub_missingicon.png");
|
||||||
MISSING_ICON = new ImageIcon(missingIcon);
|
MISSING_ICON = new ImageIcon(missingIcon);
|
||||||
|
|
||||||
BufferedImage helpIcon = ImageUtil.getResourceStreamFromClass(PluginHubPanel.class, "pluginhub_help.png");
|
BufferedImage helpIcon = ImageUtil.loadImageResource(PluginHubPanel.class, "pluginhub_help.png");
|
||||||
HELP_ICON = new ImageIcon(helpIcon);
|
HELP_ICON = new ImageIcon(helpIcon);
|
||||||
HELP_ICON_HOVER = new ImageIcon(ImageUtil.alphaOffset(helpIcon, -100));
|
HELP_ICON_HOVER = new ImageIcon(ImageUtil.alphaOffset(helpIcon, -100));
|
||||||
|
|
||||||
BufferedImage configureIcon = ImageUtil.getResourceStreamFromClass(PluginHubPanel.class, "pluginhub_configure.png");
|
BufferedImage configureIcon = ImageUtil.loadImageResource(PluginHubPanel.class, "pluginhub_configure.png");
|
||||||
CONFIGURE_ICON = new ImageIcon(configureIcon);
|
CONFIGURE_ICON = new ImageIcon(configureIcon);
|
||||||
CONFIGURE_ICON_HOVER = new ImageIcon(ImageUtil.alphaOffset(configureIcon, -100));
|
CONFIGURE_ICON_HOVER = new ImageIcon(ImageUtil.alphaOffset(configureIcon, -100));
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -73,10 +73,10 @@ class PluginListItem extends JPanel implements SearchablePlugin
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
BufferedImage configIcon = ImageUtil.getResourceStreamFromClass(ConfigPanel.class, "config_edit_icon.png");
|
BufferedImage configIcon = ImageUtil.loadImageResource(ConfigPanel.class, "config_edit_icon.png");
|
||||||
BufferedImage onStar = ImageUtil.getResourceStreamFromClass(ConfigPanel.class, "star_on.png");
|
BufferedImage onStar = ImageUtil.loadImageResource(ConfigPanel.class, "star_on.png");
|
||||||
CONFIG_ICON = new ImageIcon(configIcon);
|
CONFIG_ICON = new ImageIcon(configIcon);
|
||||||
ON_STAR = new ImageIcon(ImageUtil.recolorImage(onStar, ColorScheme.BRAND_BLUE));
|
ON_STAR = new ImageIcon(onStar);
|
||||||
CONFIG_ICON_HOVER = new ImageIcon(ImageUtil.luminanceOffset(configIcon, -100));
|
CONFIG_ICON_HOVER = new ImageIcon(ImageUtil.luminanceOffset(configIcon, -100));
|
||||||
|
|
||||||
BufferedImage offStar = ImageUtil.luminanceScale(
|
BufferedImage offStar = ImageUtil.luminanceScale(
|
||||||
@@ -216,7 +216,7 @@ class PluginListItem extends JPanel implements SearchablePlugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a mouseover effect to change the text of the passed label to {@link ColorScheme#BRAND_BLUE} color, and
|
* Adds a mouseover effect to change the text of the passed label to {@link ColorScheme#BRAND_ORANGE} color, and
|
||||||
* adds the passed menu items to a popup menu shown when the label is clicked.
|
* adds the passed menu items to a popup menu shown when the label is clicked.
|
||||||
*
|
*
|
||||||
* @param label The label to attach the mouseover and click effects to
|
* @param label The label to attach the mouseover and click effects to
|
||||||
@@ -258,7 +258,7 @@ class PluginListItem extends JPanel implements SearchablePlugin
|
|||||||
public void mouseEntered(MouseEvent mouseEvent)
|
public void mouseEntered(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
lastForeground = label.getForeground();
|
lastForeground = label.getForeground();
|
||||||
label.setForeground(ColorScheme.BRAND_BLUE);
|
label.setForeground(ColorScheme.BRAND_ORANGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -76,7 +76,6 @@ class PluginListPanel extends PluginPanel
|
|||||||
private static final String RUNELITE_GROUP_NAME = RuneLiteConfig.class.getAnnotation(ConfigGroup.class).value();
|
private static final String RUNELITE_GROUP_NAME = RuneLiteConfig.class.getAnnotation(ConfigGroup.class).value();
|
||||||
private static final String PINNED_PLUGINS_CONFIG_KEY = "pinnedPlugins";
|
private static final String PINNED_PLUGINS_CONFIG_KEY = "pinnedPlugins";
|
||||||
private static final ImmutableList<String> CATEGORY_TAGS = ImmutableList.of(
|
private static final ImmutableList<String> CATEGORY_TAGS = ImmutableList.of(
|
||||||
"OpenOSRS",
|
|
||||||
"Combat",
|
"Combat",
|
||||||
"Chat",
|
"Chat",
|
||||||
"Item",
|
"Item",
|
||||||
|
|||||||
+2
-2
@@ -29,8 +29,8 @@ import java.awt.Dimension;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JToggleButton;
|
import javax.swing.JToggleButton;
|
||||||
|
import com.openosrs.client.util.ImageUtil;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.util.ImageUtil;
|
|
||||||
import net.runelite.client.util.SwingUtil;
|
import net.runelite.client.util.SwingUtil;
|
||||||
|
|
||||||
class PluginToggleButton extends JToggleButton
|
class PluginToggleButton extends JToggleButton
|
||||||
@@ -40,7 +40,7 @@ class PluginToggleButton extends JToggleButton
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
BufferedImage onSwitcher = ImageUtil.getResourceStreamFromClass(ConfigPanel.class, "switcher_on.png");
|
BufferedImage onSwitcher = ImageUtil.loadImageResource(ConfigPanel.class, "switcher_on.png");
|
||||||
ON_SWITCHER = new ImageIcon(ImageUtil.recolorImage(onSwitcher, ColorScheme.BRAND_BLUE));
|
ON_SWITCHER = new ImageIcon(ImageUtil.recolorImage(onSwitcher, ColorScheme.BRAND_BLUE));
|
||||||
OFF_SWITCHER = new ImageIcon(ImageUtil.flipImage(
|
OFF_SWITCHER = new ImageIcon(ImageUtil.flipImage(
|
||||||
ImageUtil.luminanceScale(
|
ImageUtil.luminanceScale(
|
||||||
|
|||||||
+1
-1
@@ -88,7 +88,7 @@ public class CrowdsourcingWoodcutting
|
|||||||
put(AnimationID.WOODCUTTING_INFERNAL, ItemID.INFERNAL_AXE).
|
put(AnimationID.WOODCUTTING_INFERNAL, ItemID.INFERNAL_AXE).
|
||||||
put(AnimationID.WOODCUTTING_3A_AXE, ItemID._3RD_AGE_AXE).
|
put(AnimationID.WOODCUTTING_3A_AXE, ItemID._3RD_AGE_AXE).
|
||||||
put(AnimationID.WOODCUTTING_CRYSTAL, ItemID.CRYSTAL_AXE).
|
put(AnimationID.WOODCUTTING_CRYSTAL, ItemID.CRYSTAL_AXE).
|
||||||
put(AnimationID.WOODCUTTING_TRAILBLAZER, ItemID.TRAILBLAZER_AXE).build();
|
put(AnimationID.WOODCUTTING_TRAILBLAZER, ItemID.INFERNAL_AXE_OR).build();
|
||||||
|
|
||||||
private static final Set<String> SUCCESS_MESSAGES = new ImmutableSet.Builder<String>().
|
private static final Set<String> SUCCESS_MESSAGES = new ImmutableSet.Builder<String>().
|
||||||
add("You get some logs.").
|
add("You get some logs.").
|
||||||
|
|||||||
+1
-1
@@ -54,6 +54,6 @@ public enum CustomCursor
|
|||||||
CustomCursor(String name, String icon)
|
CustomCursor(String name, String icon)
|
||||||
{
|
{
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.cursorImage = ImageUtil.getResourceStreamFromClass(CustomCursorPlugin.class, icon);
|
this.cursorImage = ImageUtil.loadImageResource(CustomCursorPlugin.class, icon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -174,7 +174,7 @@ class DevToolsPanel extends PluginPanel
|
|||||||
final JButton newInfoboxBtn = new JButton("Infobox");
|
final JButton newInfoboxBtn = new JButton("Infobox");
|
||||||
newInfoboxBtn.addActionListener(e ->
|
newInfoboxBtn.addActionListener(e ->
|
||||||
{
|
{
|
||||||
Counter counter = new Counter(ImageUtil.getResourceStreamFromClass(getClass(), "devtools_icon.png"), plugin, 42)
|
Counter counter = new Counter(ImageUtil.loadImageResource(getClass(), "devtools_icon.png"), plugin, 42)
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public String getName()
|
public String getName()
|
||||||
|
|||||||
+1
-1
@@ -198,7 +198,7 @@ public class DevToolsPlugin extends Plugin
|
|||||||
|
|
||||||
final DevToolsPanel panel = injector.getInstance(DevToolsPanel.class);
|
final DevToolsPanel panel = injector.getInstance(DevToolsPanel.class);
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "devtools_icon.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "devtools_icon.png");
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("Developer Tools")
|
.tooltip("Developer Tools")
|
||||||
|
|||||||
+1
@@ -297,6 +297,7 @@ enum DiscordGameEventType
|
|||||||
MG_PYRAMID_PLUNDER("Pyramid Plunder", DiscordAreaType.MINIGAMES, 7749),
|
MG_PYRAMID_PLUNDER("Pyramid Plunder", DiscordAreaType.MINIGAMES, 7749),
|
||||||
MG_ROGUES_DEN("Rogues' Den", DiscordAreaType.MINIGAMES, 11855, 11854, 12111, 12110),
|
MG_ROGUES_DEN("Rogues' Den", DiscordAreaType.MINIGAMES, 11855, 11854, 12111, 12110),
|
||||||
MG_SORCERESS_GARDEN("Sorceress's Garden", DiscordAreaType.MINIGAMES, 11605),
|
MG_SORCERESS_GARDEN("Sorceress's Garden", DiscordAreaType.MINIGAMES, 11605),
|
||||||
|
MG_SOUL_WARS("Soul Wars", DiscordAreaType.MINIGAMES, 8493, 8748, 8749, 9005),
|
||||||
MG_TEMPLE_TREKKING("Temple Trekking", DiscordAreaType.MINIGAMES, 8014, 8270, 8256, 8782, 9038, 9294, 9550, 9806),
|
MG_TEMPLE_TREKKING("Temple Trekking", DiscordAreaType.MINIGAMES, 8014, 8270, 8256, 8782, 9038, 9294, 9550, 9806),
|
||||||
MG_TITHE_FARM("Tithe Farm", DiscordAreaType.MINIGAMES, 7222),
|
MG_TITHE_FARM("Tithe Farm", DiscordAreaType.MINIGAMES, 7222),
|
||||||
MG_TROUBLE_BREWING("Trouble Brewing", DiscordAreaType.MINIGAMES, 15150),
|
MG_TROUBLE_BREWING("Trouble Brewing", DiscordAreaType.MINIGAMES, 15150),
|
||||||
|
|||||||
+1
-1
@@ -123,7 +123,7 @@ public class DiscordPlugin extends Plugin
|
|||||||
@Override
|
@Override
|
||||||
protected void startUp() throws Exception
|
protected void startUp() throws Exception
|
||||||
{
|
{
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "discord.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "discord.png");
|
||||||
|
|
||||||
discordButton = NavigationButton.builder()
|
discordButton = NavigationButton.builder()
|
||||||
.tab(false)
|
.tab(false)
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ enum Emoji
|
|||||||
|
|
||||||
BufferedImage loadImage()
|
BufferedImage loadImage()
|
||||||
{
|
{
|
||||||
return ImageUtil.getResourceStreamFromClass(getClass(), this.name().toLowerCase() + ".png");
|
return ImageUtil.loadImageResource(getClass(), this.name().toLowerCase() + ".png");
|
||||||
}
|
}
|
||||||
|
|
||||||
static Emoji getEmoji(String trigger)
|
static Emoji getEmoji(String trigger)
|
||||||
|
|||||||
+1
-1
@@ -314,7 +314,7 @@ public class ExaminePlugin extends Plugin
|
|||||||
return new int[]{widgetItem.getItemQuantity(), widgetItem.getItemId()};
|
return new int[]{widgetItem.getItemQuantity(), widgetItem.getItemId()};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (WidgetInfo.SHOP_ITEMS_CONTAINER.getGroupId() == widgetGroup)
|
else if (WidgetID.SHOP_GROUP_ID == widgetGroup)
|
||||||
{
|
{
|
||||||
Widget widgetItem = widget.getChild(actionParam);
|
Widget widgetItem = widget.getChild(actionParam);
|
||||||
if (widgetItem != null)
|
if (widgetItem != null)
|
||||||
|
|||||||
@@ -101,8 +101,8 @@ class FeedPanel extends PluginPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
RUNELITE_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(FeedPanel.class, "runelite.png"));
|
RUNELITE_ICON = new ImageIcon(ImageUtil.loadImageResource(FeedPanel.class, "runelite.png"));
|
||||||
OSRS_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(FeedPanel.class, "osrs.png"));
|
OSRS_ICON = new ImageIcon(ImageUtil.loadImageResource(FeedPanel.class, "osrs.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private final FeedConfig config;
|
private final FeedConfig config;
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public class FeedPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
feedPanel = injector.getInstance(FeedPanel.class);
|
feedPanel = injector.getInstance(FeedPanel.class);
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "icon.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "icon.png");
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("News Feed")
|
.tooltip("News Feed")
|
||||||
|
|||||||
+1
-1
@@ -274,8 +274,8 @@ public class FishingPlugin extends Plugin
|
|||||||
case ItemID.KARAMBWAN_VESSEL_3159:
|
case ItemID.KARAMBWAN_VESSEL_3159:
|
||||||
case ItemID.CORMORANTS_GLOVE:
|
case ItemID.CORMORANTS_GLOVE:
|
||||||
case ItemID.CORMORANTS_GLOVE_22817:
|
case ItemID.CORMORANTS_GLOVE_22817:
|
||||||
|
case ItemID.INFERNAL_HARPOON_OR:
|
||||||
case ItemID.TRAILBLAZER_HARPOON:
|
case ItemID.TRAILBLAZER_HARPOON:
|
||||||
case ItemID.TRAILBLAZER_HARPOON_25114:
|
|
||||||
case ItemID.CRYSTAL_HARPOON:
|
case ItemID.CRYSTAL_HARPOON:
|
||||||
case ItemID.CRYSTAL_HARPOON_23864:
|
case ItemID.CRYSTAL_HARPOON_23864:
|
||||||
case ItemID.CRYSTAL_HARPOON_INACTIVE:
|
case ItemID.CRYSTAL_HARPOON_INACTIVE:
|
||||||
|
|||||||
+1
-1
@@ -416,7 +416,7 @@ public class FriendNotesPlugin extends Plugin
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final BufferedImage iconImg = ImageUtil.getResourceStreamFromClass(getClass(), "note_icon.png");
|
final BufferedImage iconImg = ImageUtil.loadImageResource(getClass(), "note_icon.png");
|
||||||
if (iconImg == null)
|
if (iconImg == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -269,6 +269,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
|
|||||||
private int uniBlockLarge;
|
private int uniBlockLarge;
|
||||||
private int uniBlockMain;
|
private int uniBlockMain;
|
||||||
private int uniSmoothBanding;
|
private int uniSmoothBanding;
|
||||||
|
private int uniTextureLightMode;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void startUp()
|
protected void startUp()
|
||||||
@@ -538,6 +539,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
|
|||||||
uniFogDepth = gl.glGetUniformLocation(glProgram, "fogDepth");
|
uniFogDepth = gl.glGetUniformLocation(glProgram, "fogDepth");
|
||||||
uniDrawDistance = gl.glGetUniformLocation(glProgram, "drawDistance");
|
uniDrawDistance = gl.glGetUniformLocation(glProgram, "drawDistance");
|
||||||
uniColorBlindMode = gl.glGetUniformLocation(glProgram, "colorBlindMode");
|
uniColorBlindMode = gl.glGetUniformLocation(glProgram, "colorBlindMode");
|
||||||
|
uniTextureLightMode = gl.glGetUniformLocation(glProgram, "textureLightMode");
|
||||||
|
|
||||||
uniTex = gl.glGetUniformLocation(glUiProgram, "tex");
|
uniTex = gl.glGetUniformLocation(glUiProgram, "tex");
|
||||||
uniTexSamplingMode = gl.glGetUniformLocation(glUiProgram, "samplingMode");
|
uniTexSamplingMode = gl.glGetUniformLocation(glUiProgram, "samplingMode");
|
||||||
@@ -791,9 +793,9 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
|
|||||||
.put(client.getCenterX())
|
.put(client.getCenterX())
|
||||||
.put(client.getCenterY())
|
.put(client.getCenterY())
|
||||||
.put(client.getScale())
|
.put(client.getScale())
|
||||||
.put(client.getCameraX2())
|
.put(cameraX)
|
||||||
.put(client.getCameraY2())
|
.put(cameraY)
|
||||||
.put(client.getCameraZ2());
|
.put(cameraZ);
|
||||||
uniformBuffer.flip();
|
uniformBuffer.flip();
|
||||||
|
|
||||||
gl.glBufferSubData(gl.GL_UNIFORM_BUFFER, 0, uniformBuffer.limit() * Integer.BYTES, uniformBuffer);
|
gl.glBufferSubData(gl.GL_UNIFORM_BUFFER, 0, uniformBuffer.limit() * Integer.BYTES, uniformBuffer);
|
||||||
@@ -1151,6 +1153,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
|
|||||||
gl.glUniform1f(uniBrightness, (float) textureProvider.getBrightness());
|
gl.glUniform1f(uniBrightness, (float) textureProvider.getBrightness());
|
||||||
gl.glUniform1f(uniSmoothBanding, config.smoothBanding() ? 0f : 1f);
|
gl.glUniform1f(uniSmoothBanding, config.smoothBanding() ? 0f : 1f);
|
||||||
gl.glUniform1i(uniColorBlindMode, config.colorBlindMode().ordinal());
|
gl.glUniform1i(uniColorBlindMode, config.colorBlindMode().ordinal());
|
||||||
|
gl.glUniform1f(uniTextureLightMode, config.brightTextures() ? 1f : 0f);
|
||||||
|
|
||||||
// Calculate projection matrix
|
// Calculate projection matrix
|
||||||
Matrix4 projectionMatrix = new Matrix4();
|
Matrix4 projectionMatrix = new Matrix4();
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ import net.runelite.client.config.Config;
|
|||||||
import net.runelite.client.config.ConfigGroup;
|
import net.runelite.client.config.ConfigGroup;
|
||||||
import net.runelite.client.config.ConfigItem;
|
import net.runelite.client.config.ConfigItem;
|
||||||
import net.runelite.client.config.Range;
|
import net.runelite.client.config.Range;
|
||||||
|
import static net.runelite.client.plugins.gpu.GpuPlugin.MAX_DISTANCE;
|
||||||
import static net.runelite.client.plugins.gpu.GpuPlugin.MAX_FOG_DEPTH;
|
import static net.runelite.client.plugins.gpu.GpuPlugin.MAX_FOG_DEPTH;
|
||||||
import net.runelite.client.plugins.gpu.config.AntiAliasingMode;
|
import net.runelite.client.plugins.gpu.config.AntiAliasingMode;
|
||||||
import static net.runelite.client.plugins.gpu.GpuPlugin.MAX_DISTANCE;
|
|
||||||
import net.runelite.client.plugins.gpu.config.ColorBlindMode;
|
import net.runelite.client.plugins.gpu.config.ColorBlindMode;
|
||||||
import net.runelite.client.plugins.gpu.config.UIScalingMode;
|
import net.runelite.client.plugins.gpu.config.UIScalingMode;
|
||||||
|
|
||||||
@@ -135,4 +135,15 @@ public interface GpuPluginConfig extends Config
|
|||||||
{
|
{
|
||||||
return ColorBlindMode.NONE;
|
return ColorBlindMode.NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "brightTextures",
|
||||||
|
name = "Bright Textures",
|
||||||
|
description = "Use old texture lighting method which results in brighter game textures",
|
||||||
|
position = 9
|
||||||
|
)
|
||||||
|
default boolean brightTextures()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -82,7 +82,7 @@ public class GrandExchangeOfferSlot extends JPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
final BufferedImage rightArrow = ImageUtil.alphaOffset(ImageUtil.getResourceStreamFromClass(GrandExchangeOfferSlot.class, "/util/arrow_right.png"), 0.25f);
|
final BufferedImage rightArrow = ImageUtil.alphaOffset(ImageUtil.loadImageResource(GrandExchangeOfferSlot.class, "/util/arrow_right.png"), 0.25f);
|
||||||
RIGHT_ARROW_ICON = new ImageIcon(rightArrow);
|
RIGHT_ARROW_ICON = new ImageIcon(rightArrow);
|
||||||
LEFT_ARROW_ICON = new ImageIcon(ImageUtil.flipImage(rightArrow, true, false));
|
LEFT_ARROW_ICON = new ImageIcon(ImageUtil.flipImage(rightArrow, true, false));
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -289,7 +289,7 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
{
|
{
|
||||||
panel = injector.getInstance(GrandExchangePanel.class);
|
panel = injector.getInstance(GrandExchangePanel.class);
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "ge_icon.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "ge_icon.png");
|
||||||
|
|
||||||
button = NavigationButton.builder()
|
button = NavigationButton.builder()
|
||||||
.tooltip("Grand Exchange")
|
.tooltip("Grand Exchange")
|
||||||
|
|||||||
+15
-2
@@ -206,7 +206,7 @@ public class HiscorePanel extends PluginPanel
|
|||||||
|
|
||||||
for (HiscoreEndpoint endpoint : ENDPOINTS)
|
for (HiscoreEndpoint endpoint : ENDPOINTS)
|
||||||
{
|
{
|
||||||
final BufferedImage iconImage = ImageUtil.getResourceStreamFromClass(getClass(), endpoint.name().toLowerCase() + ".png");
|
final BufferedImage iconImage = ImageUtil.loadImageResource(getClass(), endpoint.name().toLowerCase() + ".png");
|
||||||
|
|
||||||
MaterialTab tab = new MaterialTab(new ImageIcon(iconImage), tabGroup, null);
|
MaterialTab tab = new MaterialTab(new ImageIcon(iconImage), tabGroup, null);
|
||||||
tab.setToolTipText(endpoint.getName() + " Hiscores");
|
tab.setToolTipText(endpoint.getName() + " Hiscores");
|
||||||
@@ -282,6 +282,7 @@ public class HiscorePanel extends PluginPanel
|
|||||||
minigamePanel.add(makeHiscorePanel(CLUE_SCROLL_ALL));
|
minigamePanel.add(makeHiscorePanel(CLUE_SCROLL_ALL));
|
||||||
minigamePanel.add(makeHiscorePanel(LEAGUE_POINTS));
|
minigamePanel.add(makeHiscorePanel(LEAGUE_POINTS));
|
||||||
minigamePanel.add(makeHiscorePanel(LAST_MAN_STANDING));
|
minigamePanel.add(makeHiscorePanel(LAST_MAN_STANDING));
|
||||||
|
minigamePanel.add(makeHiscorePanel(SOUL_WARS_ZEAL));
|
||||||
minigamePanel.add(makeHiscorePanel(BOUNTY_HUNTER_ROGUE));
|
minigamePanel.add(makeHiscorePanel(BOUNTY_HUNTER_ROGUE));
|
||||||
minigamePanel.add(makeHiscorePanel(BOUNTY_HUNTER_HUNTER));
|
minigamePanel.add(makeHiscorePanel(BOUNTY_HUNTER_HUNTER));
|
||||||
|
|
||||||
@@ -345,7 +346,7 @@ public class HiscorePanel extends PluginPanel
|
|||||||
String skillIcon = directory + skillName + ".png";
|
String skillIcon = directory + skillName + ".png";
|
||||||
log.debug("Loading skill icon from {}", skillIcon);
|
log.debug("Loading skill icon from {}", skillIcon);
|
||||||
|
|
||||||
label.setIcon(new ImageIcon(ImageUtil.getResourceStreamFromClass(getClass(), skillIcon)));
|
label.setIcon(new ImageIcon(ImageUtil.loadImageResource(getClass(), skillIcon)));
|
||||||
|
|
||||||
boolean totalLabel = skill == OVERALL || skill == null; //overall or combat
|
boolean totalLabel = skill == OVERALL || skill == null; //overall or combat
|
||||||
label.setIconTextGap(totalLabel ? 10 : 4);
|
label.setIconTextGap(totalLabel ? 10 : 4);
|
||||||
@@ -595,6 +596,18 @@ public class HiscorePanel extends PluginPanel
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case SOUL_WARS_ZEAL:
|
||||||
|
{
|
||||||
|
Skill soulWarsZeal = result.getSoulWarsZeal();
|
||||||
|
String rank = (soulWarsZeal.getRank() == -1) ? "Unranked" : QuantityFormatter.formatNumber(soulWarsZeal.getRank());
|
||||||
|
content += "<p><span style = 'color:white'>Soul Wars Zeal</span></p>";
|
||||||
|
content += "<p><span style = 'color:white'>Rank:</span> " + rank + "</p>";
|
||||||
|
if (soulWarsZeal.getLevel() > -1)
|
||||||
|
{
|
||||||
|
content += "<p><span style = 'color:white'>Score:</span> " + QuantityFormatter.formatNumber(soulWarsZeal.getLevel()) + "</p>";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case LEAGUE_POINTS:
|
case LEAGUE_POINTS:
|
||||||
{
|
{
|
||||||
Skill leaguePoints = result.getLeaguePoints();
|
Skill leaguePoints = result.getLeaguePoints();
|
||||||
|
|||||||
+1
-1
@@ -94,7 +94,7 @@ public class HiscorePlugin extends Plugin
|
|||||||
{
|
{
|
||||||
hiscorePanel = injector.getInstance(HiscorePanel.class);
|
hiscorePanel = injector.getInstance(HiscorePanel.class);
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "normal.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "normal.png");
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("Hiscore")
|
.tooltip("Hiscore")
|
||||||
|
|||||||
@@ -114,12 +114,12 @@ public class InfoPanel extends PluginPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
ARROW_RIGHT_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(InfoPanel.class, "/util/arrow_right.png"));
|
ARROW_RIGHT_ICON = new ImageIcon(ImageUtil.loadImageResource(InfoPanel.class, "/util/arrow_right.png"));
|
||||||
GITHUB_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(InfoPanel.class, "github_icon.png"));
|
GITHUB_ICON = new ImageIcon(ImageUtil.loadImageResource(InfoPanel.class, "github_icon.png"));
|
||||||
DISCORD_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(InfoPanel.class, "discord_icon.png"));
|
DISCORD_ICON = new ImageIcon(ImageUtil.loadImageResource(InfoPanel.class, "discord_icon.png"));
|
||||||
PATREON_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(InfoPanel.class, "patreon_icon.png"));
|
PATREON_ICON = new ImageIcon(ImageUtil.loadImageResource(InfoPanel.class, "patreon_icon.png"));
|
||||||
WIKI_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(InfoPanel.class, "wiki_icon.png"));
|
WIKI_ICON = new ImageIcon(ImageUtil.loadImageResource(InfoPanel.class, "wiki_icon.png"));
|
||||||
IMPORT_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(InfoPanel.class, "import_icon.png"));
|
IMPORT_ICON = new ImageIcon(ImageUtil.loadImageResource(InfoPanel.class, "import_icon.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void init()
|
void init()
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class InfoPlugin extends Plugin
|
|||||||
final InfoPanel panel = injector.getInstance(InfoPanel.class);
|
final InfoPanel panel = injector.getInstance(InfoPanel.class);
|
||||||
panel.init();
|
panel.init();
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "info_icon.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "info_icon.png");
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("Info")
|
.tooltip("Info")
|
||||||
|
|||||||
+1
-1
@@ -264,7 +264,7 @@ public class InterfaceStylesPlugin extends Plugin
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
log.debug("Loading: {}", file);
|
log.debug("Loading: {}", file);
|
||||||
BufferedImage image = ImageUtil.getResourceStreamFromClass(this.getClass(), file);
|
BufferedImage image = ImageUtil.loadImageResource(this.getClass(), file);
|
||||||
return ImageUtil.getImageSpritePixels(image, client);
|
return ImageUtil.getImageSpritePixels(image, client);
|
||||||
}
|
}
|
||||||
catch (RuntimeException ex)
|
catch (RuntimeException ex)
|
||||||
|
|||||||
+1
-1
@@ -59,7 +59,7 @@ class KourendLibraryPanel extends PluginPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
final BufferedImage resetIcon = ImageUtil.getResourceStreamFromClass(KourendLibraryPanel.class, "/util/reset.png");
|
final BufferedImage resetIcon = ImageUtil.loadImageResource(KourendLibraryPanel.class, "/util/reset.png");
|
||||||
RESET_ICON = new ImageIcon(resetIcon);
|
RESET_ICON = new ImageIcon(resetIcon);
|
||||||
RESET_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(resetIcon, -100));
|
RESET_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(resetIcon, -100));
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -134,7 +134,7 @@ public class KourendLibraryPlugin extends Plugin
|
|||||||
panel = injector.getInstance(KourendLibraryPanel.class);
|
panel = injector.getInstance(KourendLibraryPanel.class);
|
||||||
panel.init();
|
panel.init();
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "panel_icon.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "panel_icon.png");
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("Kourend Library")
|
.tooltip("Kourend Library")
|
||||||
|
|||||||
+1
-1
@@ -308,7 +308,7 @@ public class LoginScreenPlugin extends Plugin implements KeyListener
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
log.debug("Loading: {}", file);
|
log.debug("Loading: {}", file);
|
||||||
BufferedImage image = ImageUtil.getResourceStreamFromClass(this.getClass(), file);
|
BufferedImage image = ImageUtil.loadImageResource(this.getClass(), file);
|
||||||
return ImageUtil.getImageSpritePixels(image, client);
|
return ImageUtil.getImageSpritePixels(image, client);
|
||||||
}
|
}
|
||||||
catch (RuntimeException ex)
|
catch (RuntimeException ex)
|
||||||
|
|||||||
+7
-7
@@ -131,13 +131,13 @@ class LootTrackerPanel extends PluginPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
final BufferedImage singleLootImg = ImageUtil.getResourceStreamFromClass(LootTrackerPlugin.class, "single_loot_icon.png");
|
final BufferedImage singleLootImg = ImageUtil.loadImageResource(LootTrackerPlugin.class, "single_loot_icon.png");
|
||||||
final BufferedImage groupedLootImg = ImageUtil.getResourceStreamFromClass(LootTrackerPlugin.class, "grouped_loot_icon.png");
|
final BufferedImage groupedLootImg = ImageUtil.loadImageResource(LootTrackerPlugin.class, "grouped_loot_icon.png");
|
||||||
final BufferedImage backArrowImg = ImageUtil.getResourceStreamFromClass(LootTrackerPlugin.class, "back_icon.png");
|
final BufferedImage backArrowImg = ImageUtil.loadImageResource(LootTrackerPlugin.class, "back_icon.png");
|
||||||
final BufferedImage visibleImg = ImageUtil.getResourceStreamFromClass(LootTrackerPlugin.class, "visible_icon.png");
|
final BufferedImage visibleImg = ImageUtil.loadImageResource(LootTrackerPlugin.class, "visible_icon.png");
|
||||||
final BufferedImage invisibleImg = ImageUtil.getResourceStreamFromClass(LootTrackerPlugin.class, "invisible_icon.png");
|
final BufferedImage invisibleImg = ImageUtil.loadImageResource(LootTrackerPlugin.class, "invisible_icon.png");
|
||||||
final BufferedImage collapseImg = ImageUtil.getResourceStreamFromClass(LootTrackerPlugin.class, "collapsed.png");
|
final BufferedImage collapseImg = ImageUtil.loadImageResource(LootTrackerPlugin.class, "collapsed.png");
|
||||||
final BufferedImage expandedImg = ImageUtil.getResourceStreamFromClass(LootTrackerPlugin.class, "expanded.png");
|
final BufferedImage expandedImg = ImageUtil.loadImageResource(LootTrackerPlugin.class, "expanded.png");
|
||||||
|
|
||||||
SINGLE_LOOT_VIEW = new ImageIcon(singleLootImg);
|
SINGLE_LOOT_VIEW = new ImageIcon(singleLootImg);
|
||||||
SINGLE_LOOT_VIEW_FADED = new ImageIcon(ImageUtil.alphaOffset(singleLootImg, -180));
|
SINGLE_LOOT_VIEW_FADED = new ImageIcon(ImageUtil.alphaOffset(singleLootImg, -180));
|
||||||
|
|||||||
+1
-1
@@ -363,7 +363,7 @@ public class LootTrackerPlugin extends Plugin
|
|||||||
panel = new LootTrackerPanel(this, itemManager, config);
|
panel = new LootTrackerPanel(this, itemManager, config);
|
||||||
spriteManager.getSpriteAsync(SpriteID.TAB_INVENTORY, 0, panel::loadHeaderIcon);
|
spriteManager.getSpriteAsync(SpriteID.TAB_INVENTORY, 0, panel::loadHeaderIcon);
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "panel_icon.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "panel_icon.png");
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("Loot Tracker")
|
.tooltip("Loot Tracker")
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ import static net.runelite.api.ItemID.MITHRIL_PICKAXE;
|
|||||||
import static net.runelite.api.ItemID.RUNE_PICKAXE;
|
import static net.runelite.api.ItemID.RUNE_PICKAXE;
|
||||||
import static net.runelite.api.ItemID.STEEL_PICKAXE;
|
import static net.runelite.api.ItemID.STEEL_PICKAXE;
|
||||||
import static net.runelite.api.ItemID._3RD_AGE_PICKAXE;
|
import static net.runelite.api.ItemID._3RD_AGE_PICKAXE;
|
||||||
import static net.runelite.api.ItemID.TRAILBLAZER_PICKAXE;
|
import static net.runelite.api.ItemID.INFERNAL_PICKAXE_OR;
|
||||||
import net.runelite.api.Player;
|
import net.runelite.api.Player;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@@ -93,7 +93,7 @@ enum Pickaxe
|
|||||||
INFERNAL(INFERNAL_PICKAXE, MINING_INFERNAL_PICKAXE, MINING_MOTHERLODE_INFERNAL),
|
INFERNAL(INFERNAL_PICKAXE, MINING_INFERNAL_PICKAXE, MINING_MOTHERLODE_INFERNAL),
|
||||||
THIRDAGE(_3RD_AGE_PICKAXE, MINING_3A_PICKAXE, MINING_MOTHERLODE_3A),
|
THIRDAGE(_3RD_AGE_PICKAXE, MINING_3A_PICKAXE, MINING_MOTHERLODE_3A),
|
||||||
CRYSTAL(CRYSTAL_PICKAXE, MINING_CRYSTAL_PICKAXE, MINING_MOTHERLODE_CRYSTAL),
|
CRYSTAL(CRYSTAL_PICKAXE, MINING_CRYSTAL_PICKAXE, MINING_MOTHERLODE_CRYSTAL),
|
||||||
TRAILBLAZER(TRAILBLAZER_PICKAXE, MINING_TRAILBLAZER_PICKAXE, MINING_TRAILBLAZER_PICKAXE_2,
|
TRAILBLAZER(INFERNAL_PICKAXE_OR, MINING_TRAILBLAZER_PICKAXE, MINING_TRAILBLAZER_PICKAXE_2,
|
||||||
MINING_TRAILBLAZER_PICKAXE_3, MINING_MOTHERLODE_TRAILBLAZER);
|
MINING_TRAILBLAZER_PICKAXE_3, MINING_MOTHERLODE_TRAILBLAZER);
|
||||||
|
|
||||||
private final int itemId;
|
private final int itemId;
|
||||||
|
|||||||
+1
-1
@@ -48,7 +48,7 @@ public class AlchemyRoomTimer extends Timer
|
|||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
|
||||||
image = ImageUtil.getResourceStreamFromClass(AlchemyRoomTimer.class, "/util/reset.png");
|
image = ImageUtil.loadImageResource(AlchemyRoomTimer.class, "/util/reset.png");
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ public class NotesPlugin extends Plugin
|
|||||||
panel = injector.getInstance(NotesPanel.class);
|
panel = injector.getInstance(NotesPanel.class);
|
||||||
panel.init(config);
|
panel.init(config);
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "notes_icon.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "notes_icon.png");
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("Notes")
|
.tooltip("Notes")
|
||||||
|
|||||||
+1
-2
@@ -48,7 +48,6 @@ import net.runelite.client.ui.overlay.Overlay;
|
|||||||
import net.runelite.client.ui.overlay.OverlayLayer;
|
import net.runelite.client.ui.overlay.OverlayLayer;
|
||||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||||
import net.runelite.client.util.ColorUtil;
|
|
||||||
import net.runelite.client.util.Text;
|
import net.runelite.client.util.Text;
|
||||||
|
|
||||||
public class NpcSceneOverlay extends Overlay
|
public class NpcSceneOverlay extends Overlay
|
||||||
@@ -200,7 +199,7 @@ public class NpcSceneOverlay extends Overlay
|
|||||||
graphics.setColor(color);
|
graphics.setColor(color);
|
||||||
graphics.setStroke(new BasicStroke(2));
|
graphics.setStroke(new BasicStroke(2));
|
||||||
graphics.draw(polygon);
|
graphics.draw(polygon);
|
||||||
graphics.setColor(ColorUtil.colorWithAlpha(color, color.getAlpha() / 12));
|
graphics.setColor(new Color(color.getRed(), color.getGreen(), color.getBlue(), 20));
|
||||||
graphics.fill(polygon);
|
graphics.fill(polygon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ import net.runelite.client.ws.PartyMember;
|
|||||||
|
|
||||||
class PartyWorldMapPoint extends WorldMapPoint
|
class PartyWorldMapPoint extends WorldMapPoint
|
||||||
{
|
{
|
||||||
private static final BufferedImage ARROW = ImageUtil.getResourceStreamFromClass(PartyWorldMapPoint.class, "/util/clue_arrow.png");
|
private static final BufferedImage ARROW = ImageUtil.loadImageResource(PartyWorldMapPoint.class, "/util/clue_arrow.png");
|
||||||
|
|
||||||
private BufferedImage partyImage;
|
private BufferedImage partyImage;
|
||||||
private final PartyMember member;
|
private final PartyMember member;
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ public enum PohIcons
|
|||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
|
||||||
image = ImageUtil.getResourceStreamFromClass(getClass(), getImageResource() + ".png");
|
image = ImageUtil.loadImageResource(getClass(), getImageResource() + ".png");
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,9 +71,9 @@ public class PoisonPlugin extends Plugin
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
HEART_DISEASE = ImageUtil.resizeCanvas(ImageUtil.getResourceStreamFromClass(AlternateSprites.class, AlternateSprites.DISEASE_HEART), 26, 26);
|
HEART_DISEASE = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.DISEASE_HEART), 26, 26);
|
||||||
HEART_POISON = ImageUtil.resizeCanvas(ImageUtil.getResourceStreamFromClass(AlternateSprites.class, AlternateSprites.POISON_HEART), 26, 26);
|
HEART_POISON = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.POISON_HEART), 26, 26);
|
||||||
HEART_VENOM = ImageUtil.resizeCanvas(ImageUtil.getResourceStreamFromClass(AlternateSprites.class, AlternateSprites.VENOM_HEART), 26, 26);
|
HEART_VENOM = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.VENOM_HEART), 26, 26);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
|
|||||||
+2
-2
@@ -52,8 +52,8 @@ class PrayerBarOverlay extends Overlay
|
|||||||
private static final Color FLICK_HELP_COLOR = Color.white;
|
private static final Color FLICK_HELP_COLOR = Color.white;
|
||||||
private static final Dimension PRAYER_BAR_SIZE = new Dimension(30, 5);
|
private static final Dimension PRAYER_BAR_SIZE = new Dimension(30, 5);
|
||||||
private static final int HD_PRAYER_BAR_PADDING = 1;
|
private static final int HD_PRAYER_BAR_PADDING = 1;
|
||||||
private static final BufferedImage HD_FRONT_BAR = ImageUtil.getResourceStreamFromClass(PrayerPlugin.class, "front.png");
|
private static final BufferedImage HD_FRONT_BAR = ImageUtil.loadImageResource(PrayerPlugin.class, "front.png");
|
||||||
private static final BufferedImage HD_BACK_BAR = ImageUtil.getResourceStreamFromClass(PrayerPlugin.class, "back.png");
|
private static final BufferedImage HD_BACK_BAR = ImageUtil.loadImageResource(PrayerPlugin.class, "back.png");
|
||||||
|
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final PrayerConfig config;
|
private final PrayerConfig config;
|
||||||
|
|||||||
+1
-1
@@ -125,7 +125,7 @@ public class ScreenMarkerPlugin extends Plugin
|
|||||||
pluginPanel = new ScreenMarkerPluginPanel(this);
|
pluginPanel = new ScreenMarkerPluginPanel(this);
|
||||||
pluginPanel.rebuild();
|
pluginPanel.rebuild();
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), ICON_FILE);
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), ICON_FILE);
|
||||||
|
|
||||||
navigationButton = NavigationButton.builder()
|
navigationButton = NavigationButton.builder()
|
||||||
.tooltip(PLUGIN_NAME)
|
.tooltip(PLUGIN_NAME)
|
||||||
|
|||||||
+2
-2
@@ -54,8 +54,8 @@ public class ScreenMarkerCreationPanel extends JPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
CONFIRM_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(ScreenMarkerPlugin.class, "confirm_icon.png"));
|
CONFIRM_ICON = new ImageIcon(ImageUtil.loadImageResource(ScreenMarkerPlugin.class, "confirm_icon.png"));
|
||||||
CANCEL_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(ScreenMarkerPlugin.class, "cancel_icon.png"));
|
CANCEL_ICON = new ImageIcon(ImageUtil.loadImageResource(ScreenMarkerPlugin.class, "cancel_icon.png"));
|
||||||
|
|
||||||
final BufferedImage confirmIcon = ImageUtil.bufferedImageFromImage(CONFIRM_ICON.getImage());
|
final BufferedImage confirmIcon = ImageUtil.bufferedImageFromImage(CONFIRM_ICON.getImage());
|
||||||
CONFIRM_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(confirmIcon, 0.54f));
|
CONFIRM_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(confirmIcon, 0.54f));
|
||||||
|
|||||||
+6
-6
@@ -107,7 +107,7 @@ class ScreenMarkerPanel extends JPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
final BufferedImage borderImg = ImageUtil.getResourceStreamFromClass(ScreenMarkerPlugin.class, "border_color_icon.png");
|
final BufferedImage borderImg = ImageUtil.loadImageResource(ScreenMarkerPlugin.class, "border_color_icon.png");
|
||||||
final BufferedImage borderImgHover = ImageUtil.luminanceOffset(borderImg, -150);
|
final BufferedImage borderImgHover = ImageUtil.luminanceOffset(borderImg, -150);
|
||||||
BORDER_COLOR_ICON = new ImageIcon(borderImg);
|
BORDER_COLOR_ICON = new ImageIcon(borderImg);
|
||||||
BORDER_COLOR_HOVER_ICON = new ImageIcon(borderImgHover);
|
BORDER_COLOR_HOVER_ICON = new ImageIcon(borderImgHover);
|
||||||
@@ -115,7 +115,7 @@ class ScreenMarkerPanel extends JPanel
|
|||||||
NO_BORDER_COLOR_ICON = new ImageIcon(borderImgHover);
|
NO_BORDER_COLOR_ICON = new ImageIcon(borderImgHover);
|
||||||
NO_BORDER_COLOR_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(borderImgHover, -100));
|
NO_BORDER_COLOR_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(borderImgHover, -100));
|
||||||
|
|
||||||
final BufferedImage fillImg = ImageUtil.getResourceStreamFromClass(ScreenMarkerPlugin.class, "fill_color_icon.png");
|
final BufferedImage fillImg = ImageUtil.loadImageResource(ScreenMarkerPlugin.class, "fill_color_icon.png");
|
||||||
final BufferedImage fillImgHover = ImageUtil.luminanceOffset(fillImg, -150);
|
final BufferedImage fillImgHover = ImageUtil.luminanceOffset(fillImg, -150);
|
||||||
FILL_COLOR_ICON = new ImageIcon(fillImg);
|
FILL_COLOR_ICON = new ImageIcon(fillImg);
|
||||||
FILL_COLOR_HOVER_ICON = new ImageIcon(fillImgHover);
|
FILL_COLOR_HOVER_ICON = new ImageIcon(fillImgHover);
|
||||||
@@ -123,7 +123,7 @@ class ScreenMarkerPanel extends JPanel
|
|||||||
NO_FILL_COLOR_ICON = new ImageIcon(fillImgHover);
|
NO_FILL_COLOR_ICON = new ImageIcon(fillImgHover);
|
||||||
NO_FILL_COLOR_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(fillImgHover, -100));
|
NO_FILL_COLOR_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(fillImgHover, -100));
|
||||||
|
|
||||||
final BufferedImage opacityImg = ImageUtil.getResourceStreamFromClass(ScreenMarkerPlugin.class, "opacity_icon.png");
|
final BufferedImage opacityImg = ImageUtil.loadImageResource(ScreenMarkerPlugin.class, "opacity_icon.png");
|
||||||
final BufferedImage opacityImgHover = ImageUtil.luminanceOffset(opacityImg, -150);
|
final BufferedImage opacityImgHover = ImageUtil.luminanceOffset(opacityImg, -150);
|
||||||
FULL_OPACITY_ICON = new ImageIcon(opacityImg);
|
FULL_OPACITY_ICON = new ImageIcon(opacityImg);
|
||||||
FULL_OPACITY_HOVER_ICON = new ImageIcon(opacityImgHover);
|
FULL_OPACITY_HOVER_ICON = new ImageIcon(opacityImgHover);
|
||||||
@@ -131,15 +131,15 @@ class ScreenMarkerPanel extends JPanel
|
|||||||
NO_OPACITY_ICON = new ImageIcon(opacityImgHover);
|
NO_OPACITY_ICON = new ImageIcon(opacityImgHover);
|
||||||
NO_OPACITY_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(opacityImgHover, -100));
|
NO_OPACITY_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(opacityImgHover, -100));
|
||||||
|
|
||||||
final BufferedImage visibleImg = ImageUtil.getResourceStreamFromClass(ScreenMarkerPlugin.class, "visible_icon.png");
|
final BufferedImage visibleImg = ImageUtil.loadImageResource(ScreenMarkerPlugin.class, "visible_icon.png");
|
||||||
VISIBLE_ICON = new ImageIcon(visibleImg);
|
VISIBLE_ICON = new ImageIcon(visibleImg);
|
||||||
VISIBLE_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(visibleImg, -100));
|
VISIBLE_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(visibleImg, -100));
|
||||||
|
|
||||||
final BufferedImage invisibleImg = ImageUtil.getResourceStreamFromClass(ScreenMarkerPlugin.class, "invisible_icon.png");
|
final BufferedImage invisibleImg = ImageUtil.loadImageResource(ScreenMarkerPlugin.class, "invisible_icon.png");
|
||||||
INVISIBLE_ICON = new ImageIcon(invisibleImg);
|
INVISIBLE_ICON = new ImageIcon(invisibleImg);
|
||||||
INVISIBLE_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(invisibleImg, -100));
|
INVISIBLE_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(invisibleImg, -100));
|
||||||
|
|
||||||
final BufferedImage deleteImg = ImageUtil.getResourceStreamFromClass(ScreenMarkerPlugin.class, "delete_icon.png");
|
final BufferedImage deleteImg = ImageUtil.loadImageResource(ScreenMarkerPlugin.class, "delete_icon.png");
|
||||||
DELETE_ICON = new ImageIcon(deleteImg);
|
DELETE_ICON = new ImageIcon(deleteImg);
|
||||||
DELETE_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(deleteImg, -100));
|
DELETE_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(deleteImg, -100));
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -77,7 +77,7 @@ public class ScreenMarkerPluginPanel extends PluginPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
final BufferedImage addIcon = ImageUtil.getResourceStreamFromClass(ScreenMarkerPlugin.class, "add_icon.png");
|
final BufferedImage addIcon = ImageUtil.loadImageResource(ScreenMarkerPlugin.class, "add_icon.png");
|
||||||
ADD_ICON = new ImageIcon(addIcon);
|
ADD_ICON = new ImageIcon(addIcon);
|
||||||
ADD_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(addIcon, 0.53f));
|
ADD_HOVER_ICON = new ImageIcon(ImageUtil.alphaOffset(addIcon, 0.53f));
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -186,7 +186,7 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
SCREENSHOT_DIR.mkdirs();
|
SCREENSHOT_DIR.mkdirs();
|
||||||
keyManager.registerKeyListener(hotkeyListener);
|
keyManager.registerKeyListener(hotkeyListener);
|
||||||
|
|
||||||
final BufferedImage iconImage = ImageUtil.getResourceStreamFromClass(getClass(), "screenshot.png");
|
final BufferedImage iconImage = ImageUtil.loadImageResource(getClass(), "screenshot.png");
|
||||||
|
|
||||||
titleBarButton = NavigationButton.builder()
|
titleBarButton = NavigationButton.builder()
|
||||||
.tab(false)
|
.tab(false)
|
||||||
|
|||||||
+1
-1
@@ -64,7 +64,7 @@ public class SkillCalculatorPlugin extends Plugin
|
|||||||
@Override
|
@Override
|
||||||
protected void startUp() throws Exception
|
protected void startUp() throws Exception
|
||||||
{
|
{
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "calc.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "calc.png");
|
||||||
final SkillCalculatorPanel uiPanel = new SkillCalculatorPanel(skillIconManager, client, spriteManager, itemManager);
|
final SkillCalculatorPanel uiPanel = new SkillCalculatorPanel(skillIconManager, client, spriteManager, itemManager);
|
||||||
|
|
||||||
uiNavigationButton = NavigationButton.builder()
|
uiNavigationButton = NavigationButton.builder()
|
||||||
|
|||||||
+16
-1
@@ -24,6 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.specialcounter;
|
package net.runelite.client.plugins.specialcounter;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -34,13 +35,15 @@ import net.runelite.client.ui.overlay.infobox.Counter;
|
|||||||
class SpecialCounter extends Counter
|
class SpecialCounter extends Counter
|
||||||
{
|
{
|
||||||
private final SpecialWeapon weapon;
|
private final SpecialWeapon weapon;
|
||||||
|
private final SpecialCounterConfig config;
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private final Map<String, Integer> partySpecs = new HashMap<>();
|
private final Map<String, Integer> partySpecs = new HashMap<>();
|
||||||
|
|
||||||
SpecialCounter(BufferedImage image, SpecialCounterPlugin plugin, int hitValue, SpecialWeapon weapon)
|
SpecialCounter(BufferedImage image, SpecialCounterPlugin plugin, SpecialCounterConfig config, int hitValue, SpecialWeapon weapon)
|
||||||
{
|
{
|
||||||
super(image, plugin, hitValue);
|
super(image, plugin, hitValue);
|
||||||
this.weapon = weapon;
|
this.weapon = weapon;
|
||||||
|
this.config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
void addHits(double hit)
|
void addHits(double hit)
|
||||||
@@ -90,4 +93,16 @@ class SpecialCounter extends Counter
|
|||||||
return weapon.getName() + " special has hit " + hitValue + " total.";
|
return weapon.getName() + " special has hit " + hitValue + " total.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Color getTextColor()
|
||||||
|
{
|
||||||
|
int threshold = weapon.getThreshold().apply(config);
|
||||||
|
if (threshold > 0)
|
||||||
|
{
|
||||||
|
int count = getCount();
|
||||||
|
return count >= threshold ? Color.GREEN : Color.RED;
|
||||||
|
}
|
||||||
|
return super.getTextColor();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+89
@@ -0,0 +1,89 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020, Dylan <dylanhe@umich.edu>
|
||||||
|
* Copyright (c) 2020, Jacob <jgozon@umich.edu>
|
||||||
|
* 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 OWNER 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.specialcounter;
|
||||||
|
|
||||||
|
import net.runelite.client.config.Config;
|
||||||
|
import net.runelite.client.config.ConfigGroup;
|
||||||
|
import net.runelite.client.config.ConfigItem;
|
||||||
|
|
||||||
|
@ConfigGroup("specialcounter")
|
||||||
|
public interface SpecialCounterConfig extends Config
|
||||||
|
{
|
||||||
|
@ConfigItem(
|
||||||
|
position = 0,
|
||||||
|
keyName = "thresholdNotification",
|
||||||
|
name = "Threshold Notifications",
|
||||||
|
description = "Sends a notification when your special attack counter exceeds the threshold"
|
||||||
|
)
|
||||||
|
default boolean thresholdNotification()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 1,
|
||||||
|
keyName = "dragonWarhammerThreshold",
|
||||||
|
name = "Dragon Warhammer",
|
||||||
|
description = "Threshold for Dragon Warhammer (0 to disable)"
|
||||||
|
)
|
||||||
|
default int dragonWarhammerThreshold()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 2,
|
||||||
|
keyName = "arclightThreshold",
|
||||||
|
name = "Arclight",
|
||||||
|
description = "Threshold for Arclight (0 to disable)"
|
||||||
|
)
|
||||||
|
default int arclightThreshold()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 3,
|
||||||
|
keyName = "darklightThreshold",
|
||||||
|
name = "Darklight",
|
||||||
|
description = "Threshold for Darklight (0 to disable)"
|
||||||
|
)
|
||||||
|
default int darklightThreshold()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 4,
|
||||||
|
keyName = "bandosGodswordThreshold",
|
||||||
|
name = "Bandos Godsword",
|
||||||
|
description = "Threshold for Bandos Godsword (0 to disable)"
|
||||||
|
)
|
||||||
|
default int bandosGodswordThreshold()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
+40
-1
@@ -24,6 +24,8 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.specialcounter;
|
package net.runelite.client.plugins.specialcounter;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
import com.google.inject.Provides;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -38,13 +40,16 @@ import net.runelite.api.InventoryID;
|
|||||||
import net.runelite.api.Item;
|
import net.runelite.api.Item;
|
||||||
import net.runelite.api.ItemContainer;
|
import net.runelite.api.ItemContainer;
|
||||||
import net.runelite.api.NPC;
|
import net.runelite.api.NPC;
|
||||||
|
import net.runelite.api.NpcID;
|
||||||
import net.runelite.api.VarPlayer;
|
import net.runelite.api.VarPlayer;
|
||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.api.events.HitsplatApplied;
|
import net.runelite.api.events.HitsplatApplied;
|
||||||
import net.runelite.api.events.InteractingChanged;
|
import net.runelite.api.events.InteractingChanged;
|
||||||
import net.runelite.api.events.NpcDespawned;
|
import net.runelite.api.events.NpcDespawned;
|
||||||
import net.runelite.api.events.VarbitChanged;
|
import net.runelite.api.events.VarbitChanged;
|
||||||
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
@@ -62,6 +67,11 @@ import net.runelite.client.ws.WSClient;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class SpecialCounterPlugin extends Plugin
|
public class SpecialCounterPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
private static final Set<Integer> IGNORED_NPCS = ImmutableSet.of(
|
||||||
|
NpcID.DARK_ENERGY_CORE, NpcID.ZOMBIFIED_SPAWN, NpcID.ZOMBIFIED_SPAWN_8063,
|
||||||
|
NpcID.COMBAT_DUMMY, NpcID.UNDEAD_COMBAT_DUMMY
|
||||||
|
);
|
||||||
|
|
||||||
private int currentWorld;
|
private int currentWorld;
|
||||||
private int specialPercentage;
|
private int specialPercentage;
|
||||||
private Actor lastSpecTarget;
|
private Actor lastSpecTarget;
|
||||||
@@ -89,6 +99,18 @@ public class SpecialCounterPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private ItemManager itemManager;
|
private ItemManager itemManager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private Notifier notifier;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private SpecialCounterConfig config;
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
SpecialCounterConfig getConfig(ConfigManager configManager)
|
||||||
|
{
|
||||||
|
return configManager.getConfig(SpecialCounterConfig.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void startUp()
|
protected void startUp()
|
||||||
{
|
{
|
||||||
@@ -191,6 +213,11 @@ public class SpecialCounterPlugin extends Plugin
|
|||||||
NPC npc = (NPC) target;
|
NPC npc = (NPC) target;
|
||||||
int interactingId = npc.getId();
|
int interactingId = npc.getId();
|
||||||
|
|
||||||
|
if (IGNORED_NPCS.contains(interactingId))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// If this is a new NPC reset the counters
|
// If this is a new NPC reset the counters
|
||||||
if (!interactedNpcIds.contains(interactingId))
|
if (!interactedNpcIds.contains(interactingId))
|
||||||
{
|
{
|
||||||
@@ -301,7 +328,7 @@ public class SpecialCounterPlugin extends Plugin
|
|||||||
|
|
||||||
if (counter == null)
|
if (counter == null)
|
||||||
{
|
{
|
||||||
counter = new SpecialCounter(itemManager.getImage(specialWeapon.getItemID()), this,
|
counter = new SpecialCounter(itemManager.getImage(specialWeapon.getItemID()), this, config,
|
||||||
hit, specialWeapon);
|
hit, specialWeapon);
|
||||||
infoBoxManager.addInfoBox(counter);
|
infoBoxManager.addInfoBox(counter);
|
||||||
specialCounter[specialWeapon.ordinal()] = counter;
|
specialCounter[specialWeapon.ordinal()] = counter;
|
||||||
@@ -311,6 +338,9 @@ public class SpecialCounterPlugin extends Plugin
|
|||||||
counter.addHits(hit);
|
counter.addHits(hit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Display a notification if special attack thresholds are met
|
||||||
|
sendNotification(specialWeapon, counter);
|
||||||
|
|
||||||
// If in a party, add hit to partySpecs for the infobox tooltip
|
// If in a party, add hit to partySpecs for the infobox tooltip
|
||||||
Map<String, Integer> partySpecs = counter.getPartySpecs();
|
Map<String, Integer> partySpecs = counter.getPartySpecs();
|
||||||
if (!party.getMembers().isEmpty())
|
if (!party.getMembers().isEmpty())
|
||||||
@@ -326,6 +356,15 @@ public class SpecialCounterPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendNotification(SpecialWeapon weapon, SpecialCounter counter)
|
||||||
|
{
|
||||||
|
int threshold = weapon.getThreshold().apply(config);
|
||||||
|
if (threshold > 0 && counter.getCount() >= threshold && config.thresholdNotification())
|
||||||
|
{
|
||||||
|
notifier.notify(weapon.getName() + " special attack threshold reached!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void removeCounters()
|
private void removeCounters()
|
||||||
{
|
{
|
||||||
interactedNpcIds.clear();
|
interactedNpcIds.clear();
|
||||||
|
|||||||
+7
-5
@@ -24,6 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.specialcounter;
|
package net.runelite.client.plugins.specialcounter;
|
||||||
|
|
||||||
|
import java.util.function.Function;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.runelite.api.ItemID;
|
import net.runelite.api.ItemID;
|
||||||
@@ -32,13 +33,14 @@ import net.runelite.api.ItemID;
|
|||||||
@Getter
|
@Getter
|
||||||
enum SpecialWeapon
|
enum SpecialWeapon
|
||||||
{
|
{
|
||||||
DRAGON_WARHAMMER("Dragon Warhammer", ItemID.DRAGON_WARHAMMER, false),
|
DRAGON_WARHAMMER("Dragon Warhammer", ItemID.DRAGON_WARHAMMER, false, SpecialCounterConfig::dragonWarhammerThreshold),
|
||||||
ARCLIGHT("Arclight", ItemID.ARCLIGHT, false),
|
ARCLIGHT("Arclight", ItemID.ARCLIGHT, false, SpecialCounterConfig::arclightThreshold),
|
||||||
DARKLIGHT("Darklight", ItemID.DARKLIGHT, false),
|
DARKLIGHT("Darklight", ItemID.DARKLIGHT, false, SpecialCounterConfig::darklightThreshold),
|
||||||
BANDOS_GODSWORD("Bandos Godsword", ItemID.BANDOS_GODSWORD, true),
|
BANDOS_GODSWORD("Bandos Godsword", ItemID.BANDOS_GODSWORD, true, SpecialCounterConfig::bandosGodswordThreshold),
|
||||||
BANDOS_GODSWORD_OR("Bandos Godsword", ItemID.BANDOS_GODSWORD_OR, true);
|
BANDOS_GODSWORD_OR("Bandos Godsword", ItemID.BANDOS_GODSWORD_OR, true, SpecialCounterConfig::bandosGodswordThreshold);
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
private final int itemID;
|
private final int itemID;
|
||||||
private final boolean damage;
|
private final boolean damage;
|
||||||
|
private final Function<SpecialCounterConfig, Integer> threshold;
|
||||||
}
|
}
|
||||||
+3
-3
@@ -311,9 +311,9 @@ class StatusBarsOverlay extends Overlay
|
|||||||
}
|
}
|
||||||
|
|
||||||
heartIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_HITPOINTS_ICON, 0)), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
heartIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_HITPOINTS_ICON, 0)), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
||||||
heartDisease = ImageUtil.resizeCanvas(ImageUtil.getResourceStreamFromClass(AlternateSprites.class, AlternateSprites.DISEASE_HEART), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
heartDisease = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.DISEASE_HEART), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
||||||
heartPoison = ImageUtil.resizeCanvas(ImageUtil.getResourceStreamFromClass(AlternateSprites.class, AlternateSprites.POISON_HEART), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
heartPoison = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.POISON_HEART), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
||||||
heartVenom = ImageUtil.resizeCanvas(ImageUtil.getResourceStreamFromClass(AlternateSprites.class, AlternateSprites.VENOM_HEART), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
heartVenom = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.VENOM_HEART), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
||||||
energyIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_WALK_ICON, 0)), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
energyIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_WALK_ICON, 0)), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
||||||
specialIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_SPECIAL_ICON, 0)), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
specialIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_SPECIAL_ICON, 0)), ICON_DIMENSIONS, ICON_DIMENSIONS);
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -57,7 +57,7 @@ class OverviewItemPanel extends JPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
ARROW_RIGHT_ICON = new ImageIcon(ImageUtil.getResourceStreamFromClass(TimeTrackingPlugin.class, "/util/arrow_right.png"));
|
ARROW_RIGHT_ICON = new ImageIcon(ImageUtil.loadImageResource(TimeTrackingPlugin.class, "/util/arrow_right.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
OverviewItemPanel(ItemManager itemManager, TimeTrackingPanel pluginPanel, Tab tab, String title)
|
OverviewItemPanel(ItemManager itemManager, TimeTrackingPanel pluginPanel, Tab tab, String title)
|
||||||
|
|||||||
+1
-1
@@ -124,7 +124,7 @@ public class TimeTrackingPlugin extends Plugin
|
|||||||
birdHouseTracker.loadFromConfig();
|
birdHouseTracker.loadFromConfig();
|
||||||
farmingTracker.loadCompletionTimes();
|
farmingTracker.loadCompletionTimes();
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "watch.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "watch.png");
|
||||||
|
|
||||||
panel = injector.getInstance(TimeTrackingPanel.class);
|
panel = injector.getInstance(TimeTrackingPanel.class);
|
||||||
|
|
||||||
|
|||||||
+8
-8
@@ -71,14 +71,14 @@ public class ClockTabPanel extends TabContentPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
BufferedImage deleteIcon = ImageUtil.getResourceStreamFromClass(TimeTrackingPlugin.class, "delete_icon.png");
|
BufferedImage deleteIcon = ImageUtil.loadImageResource(TimeTrackingPlugin.class, "delete_icon.png");
|
||||||
BufferedImage lapIcon = ImageUtil.getResourceStreamFromClass(TimeTrackingPlugin.class, "lap_icon.png");
|
BufferedImage lapIcon = ImageUtil.loadImageResource(TimeTrackingPlugin.class, "lap_icon.png");
|
||||||
BufferedImage pauseIcon = ImageUtil.getResourceStreamFromClass(TimeTrackingPlugin.class, "pause_icon.png");
|
BufferedImage pauseIcon = ImageUtil.loadImageResource(TimeTrackingPlugin.class, "pause_icon.png");
|
||||||
BufferedImage resetIcon = ImageUtil.getResourceStreamFromClass(TimeTrackingPlugin.class, "reset_icon.png");
|
BufferedImage resetIcon = ImageUtil.loadImageResource(TimeTrackingPlugin.class, "reset_icon.png");
|
||||||
BufferedImage startIcon = ImageUtil.getResourceStreamFromClass(TimeTrackingPlugin.class, "start_icon.png");
|
BufferedImage startIcon = ImageUtil.loadImageResource(TimeTrackingPlugin.class, "start_icon.png");
|
||||||
BufferedImage addIcon = ImageUtil.getResourceStreamFromClass(TimeTrackingPlugin.class, "add_icon.png");
|
BufferedImage addIcon = ImageUtil.loadImageResource(TimeTrackingPlugin.class, "add_icon.png");
|
||||||
BufferedImage loopIcon = ImageUtil.getResourceStreamFromClass(TimeTrackingPlugin.class, "loop_icon.png");
|
BufferedImage loopIcon = ImageUtil.loadImageResource(TimeTrackingPlugin.class, "loop_icon.png");
|
||||||
BufferedImage loopSelectedIcon = ImageUtil.getResourceStreamFromClass(TimeTrackingPlugin.class, "loop_selected_icon.png");
|
BufferedImage loopSelectedIcon = ImageUtil.loadImageResource(TimeTrackingPlugin.class, "loop_selected_icon.png");
|
||||||
|
|
||||||
DELETE_ICON = new ImageIcon(deleteIcon);
|
DELETE_ICON = new ImageIcon(deleteIcon);
|
||||||
DELETE_ICON_HOVER = new ImageIcon(ImageUtil.luminanceOffset(deleteIcon, -80));
|
DELETE_ICON_HOVER = new ImageIcon(ImageUtil.luminanceOffset(deleteIcon, -80));
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ import static net.runelite.api.ItemID.IRON_AXE;
|
|||||||
import static net.runelite.api.ItemID.MITHRIL_AXE;
|
import static net.runelite.api.ItemID.MITHRIL_AXE;
|
||||||
import static net.runelite.api.ItemID.RUNE_AXE;
|
import static net.runelite.api.ItemID.RUNE_AXE;
|
||||||
import static net.runelite.api.ItemID.STEEL_AXE;
|
import static net.runelite.api.ItemID.STEEL_AXE;
|
||||||
import static net.runelite.api.ItemID.TRAILBLAZER_AXE;
|
import static net.runelite.api.ItemID.INFERNAL_AXE_OR;
|
||||||
import static net.runelite.api.ItemID._3RD_AGE_AXE;
|
import static net.runelite.api.ItemID._3RD_AGE_AXE;
|
||||||
import net.runelite.api.Player;
|
import net.runelite.api.Player;
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ enum Axe
|
|||||||
INFERNAL(WOODCUTTING_INFERNAL, INFERNAL_AXE),
|
INFERNAL(WOODCUTTING_INFERNAL, INFERNAL_AXE),
|
||||||
THIRDAGE(WOODCUTTING_3A_AXE, _3RD_AGE_AXE),
|
THIRDAGE(WOODCUTTING_3A_AXE, _3RD_AGE_AXE),
|
||||||
CRYSTAL(WOODCUTTING_CRYSTAL, CRYSTAL_AXE),
|
CRYSTAL(WOODCUTTING_CRYSTAL, CRYSTAL_AXE),
|
||||||
TRAILBLAZER(WOODCUTTING_TRAILBLAZER, TRAILBLAZER_AXE);
|
TRAILBLAZER(WOODCUTTING_TRAILBLAZER, INFERNAL_AXE_OR);
|
||||||
|
|
||||||
private final Integer animId;
|
private final Integer animId;
|
||||||
private final Integer itemId;
|
private final Integer itemId;
|
||||||
|
|||||||
+2
-7
@@ -40,7 +40,6 @@ import java.util.concurrent.Executors;
|
|||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import javax.imageio.ImageIO;
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
@@ -83,6 +82,7 @@ import net.runelite.client.ui.NavigationButton;
|
|||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
import net.runelite.client.util.ExecutorServiceExceptionLogger;
|
import net.runelite.client.util.ExecutorServiceExceptionLogger;
|
||||||
import net.runelite.client.util.HotkeyListener;
|
import net.runelite.client.util.HotkeyListener;
|
||||||
|
import net.runelite.client.util.ImageUtil;
|
||||||
import net.runelite.client.util.Text;
|
import net.runelite.client.util.Text;
|
||||||
import net.runelite.client.util.WorldUtil;
|
import net.runelite.client.util.WorldUtil;
|
||||||
import net.runelite.http.api.worlds.World;
|
import net.runelite.http.api.worlds.World;
|
||||||
@@ -190,12 +190,7 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
|
|
||||||
panel = new WorldSwitcherPanel(this);
|
panel = new WorldSwitcherPanel(this);
|
||||||
|
|
||||||
final BufferedImage icon;
|
BufferedImage icon = ImageUtil.loadImageResource(WorldHopperPlugin.class, "icon.png");
|
||||||
synchronized (ImageIO.class)
|
|
||||||
{
|
|
||||||
icon = ImageIO.read(getClass().getResourceAsStream("icon.png"));
|
|
||||||
}
|
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("World Switcher")
|
.tooltip("World Switcher")
|
||||||
.icon(icon)
|
.icon(icon)
|
||||||
|
|||||||
+1
-1
@@ -54,7 +54,7 @@ class WorldTableHeader extends JPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
final BufferedImage arrowDown = ImageUtil.getResourceStreamFromClass(WorldHopperPlugin.class, "arrow_down.png");
|
final BufferedImage arrowDown = ImageUtil.loadImageResource(WorldHopperPlugin.class, "arrow_down.png");
|
||||||
final BufferedImage arrowUp = ImageUtil.rotateImage(arrowDown, Math.PI);
|
final BufferedImage arrowUp = ImageUtil.rotateImage(arrowDown, Math.PI);
|
||||||
final BufferedImage arrowUpFaded = ImageUtil.luminanceOffset(arrowUp, -80);
|
final BufferedImage arrowUpFaded = ImageUtil.luminanceOffset(arrowUp, -80);
|
||||||
ARROW_UP = new ImageIcon(arrowUpFaded);
|
ARROW_UP = new ImageIcon(arrowUpFaded);
|
||||||
|
|||||||
+4
-4
@@ -66,10 +66,10 @@ class WorldTableRow extends JPanel
|
|||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
FLAG_AUS = new ImageIcon(ImageUtil.getResourceStreamFromClass(WorldHopperPlugin.class, "flag_aus.png"));
|
FLAG_AUS = new ImageIcon(ImageUtil.loadImageResource(WorldHopperPlugin.class, "flag_aus.png"));
|
||||||
FLAG_UK = new ImageIcon(ImageUtil.getResourceStreamFromClass(WorldHopperPlugin.class, "flag_uk.png"));
|
FLAG_UK = new ImageIcon(ImageUtil.loadImageResource(WorldHopperPlugin.class, "flag_uk.png"));
|
||||||
FLAG_US = new ImageIcon(ImageUtil.getResourceStreamFromClass(WorldHopperPlugin.class, "flag_us.png"));
|
FLAG_US = new ImageIcon(ImageUtil.loadImageResource(WorldHopperPlugin.class, "flag_us.png"));
|
||||||
FLAG_GER = new ImageIcon(ImageUtil.getResourceStreamFromClass(WorldHopperPlugin.class, "flag_ger.png"));
|
FLAG_GER = new ImageIcon(ImageUtil.loadImageResource(WorldHopperPlugin.class, "flag_ger.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private final JMenuItem favoriteMenuOption = new JMenuItem();
|
private final JMenuItem favoriteMenuOption = new JMenuItem();
|
||||||
|
|||||||
+3
@@ -40,6 +40,9 @@ enum MiningSiteLocation
|
|||||||
new Rock(3, Ore.COPPER), new Rock(1, Ore.TIN), new Rock(7, Ore.IRON), new Rock(5, Ore.SILVER),
|
new Rock(3, Ore.COPPER), new Rock(1, Ore.TIN), new Rock(7, Ore.IRON), new Rock(5, Ore.SILVER),
|
||||||
new Rock(3, Ore.COAL), new Rock(3, Ore.MITHRIL), new Rock(2, Ore.ADAMANTITE)),
|
new Rock(3, Ore.COAL), new Rock(3, Ore.MITHRIL), new Rock(2, Ore.ADAMANTITE)),
|
||||||
AL_KHARID_MINE_SOUTH(new WorldPoint(3298, 3282, 0), new Rock(2, Ore.IRON), new Rock(2, Ore.GOLD)),
|
AL_KHARID_MINE_SOUTH(new WorldPoint(3298, 3282, 0), new Rock(2, Ore.IRON), new Rock(2, Ore.GOLD)),
|
||||||
|
ANCIENT_CAVERN_NORTH(new WorldPoint(1847, 5414, 0), new Rock(4, Ore.MITHRIL)),
|
||||||
|
ANCIENT_CAVERN_SOUTH(new WorldPoint(1826, 5392, 0), new Rock(2, Ore.MITHRIL)),
|
||||||
|
ANCIENT_CAVERN_MIDDLE(new WorldPoint(1840, 5397, 0), new Rock(8, Ore.MITHRIL)),
|
||||||
ARANDAR(new WorldPoint(2322, 3269, 0), new Rock(8, Ore.LIMESTONE)),
|
ARANDAR(new WorldPoint(2322, 3269, 0), new Rock(8, Ore.LIMESTONE)),
|
||||||
ARANDAR_PRIFDDINAS_MAP(new WorldPoint(3346, 6021, 0), new Rock(8, Ore.LIMESTONE)),
|
ARANDAR_PRIFDDINAS_MAP(new WorldPoint(3346, 6021, 0), new Rock(8, Ore.LIMESTONE)),
|
||||||
ARCEUUS_NORTH(new WorldPoint(1763, 3860, 0), new Rock(1, Ore.DENSE_ESSENCE)),
|
ARCEUUS_NORTH(new WorldPoint(1763, 3860, 0), new Rock(1, Ore.DENSE_ESSENCE)),
|
||||||
|
|||||||
+1
-1
@@ -33,7 +33,7 @@ class RunecraftingAltarPoint extends WorldMapPoint
|
|||||||
RunecraftingAltarPoint(RunecraftingAltarLocation point)
|
RunecraftingAltarPoint(RunecraftingAltarLocation point)
|
||||||
{
|
{
|
||||||
super(point.getLocation(), WorldMapPlugin.BLANK_ICON);
|
super(point.getLocation(), WorldMapPlugin.BLANK_ICON);
|
||||||
setImage(ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, point.getIconPath()));
|
setImage(ImageUtil.loadImageResource(WorldMapPlugin.class, point.getIconPath()));
|
||||||
setTooltip(point.getTooltip());
|
setTooltip(point.getTooltip());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -34,6 +34,6 @@ class TeleportPoint extends WorldMapPoint
|
|||||||
{
|
{
|
||||||
super(data.getLocation(), WorldMapPlugin.BLANK_ICON);
|
super(data.getLocation(), WorldMapPlugin.BLANK_ICON);
|
||||||
setTooltip(data.getTooltip());
|
setTooltip(data.getTooltip());
|
||||||
setImage(ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, data.getIconPath()));
|
setImage(ImageUtil.loadImageResource(WorldMapPlugin.class, data.getIconPath()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-7
@@ -101,31 +101,31 @@ public class WorldMapPlugin extends Plugin
|
|||||||
BLANK_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
BLANK_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
||||||
|
|
||||||
FAIRY_TRAVEL_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
FAIRY_TRAVEL_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
||||||
final BufferedImage fairyTravelIcon = ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, "fairy_ring_travel.png");
|
final BufferedImage fairyTravelIcon = ImageUtil.loadImageResource(WorldMapPlugin.class, "fairy_ring_travel.png");
|
||||||
FAIRY_TRAVEL_ICON.getGraphics().drawImage(fairyTravelIcon, 1, 1, null);
|
FAIRY_TRAVEL_ICON.getGraphics().drawImage(fairyTravelIcon, 1, 1, null);
|
||||||
|
|
||||||
NOPE_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
NOPE_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
||||||
final BufferedImage nopeImage = ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, "nope_icon.png");
|
final BufferedImage nopeImage = ImageUtil.loadImageResource(WorldMapPlugin.class, "nope_icon.png");
|
||||||
NOPE_ICON.getGraphics().drawImage(nopeImage, 1, 1, null);
|
NOPE_ICON.getGraphics().drawImage(nopeImage, 1, 1, null);
|
||||||
|
|
||||||
NOT_STARTED_ICON = new BufferedImage(questIconBufferSize, questIconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
NOT_STARTED_ICON = new BufferedImage(questIconBufferSize, questIconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
||||||
final BufferedImage notStartedIcon = ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, "quest_not_started_icon.png");
|
final BufferedImage notStartedIcon = ImageUtil.loadImageResource(WorldMapPlugin.class, "quest_not_started_icon.png");
|
||||||
NOT_STARTED_ICON.getGraphics().drawImage(notStartedIcon, 4, 4, null);
|
NOT_STARTED_ICON.getGraphics().drawImage(notStartedIcon, 4, 4, null);
|
||||||
|
|
||||||
STARTED_ICON = new BufferedImage(questIconBufferSize, questIconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
STARTED_ICON = new BufferedImage(questIconBufferSize, questIconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
||||||
final BufferedImage startedIcon = ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, "quest_started_icon.png");
|
final BufferedImage startedIcon = ImageUtil.loadImageResource(WorldMapPlugin.class, "quest_started_icon.png");
|
||||||
STARTED_ICON.getGraphics().drawImage(startedIcon, 4, 4, null);
|
STARTED_ICON.getGraphics().drawImage(startedIcon, 4, 4, null);
|
||||||
|
|
||||||
FINISHED_ICON = new BufferedImage(questIconBufferSize, questIconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
FINISHED_ICON = new BufferedImage(questIconBufferSize, questIconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
||||||
final BufferedImage finishedIcon = ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, "quest_completed_icon.png");
|
final BufferedImage finishedIcon = ImageUtil.loadImageResource(WorldMapPlugin.class, "quest_completed_icon.png");
|
||||||
FINISHED_ICON.getGraphics().drawImage(finishedIcon, 4, 4, null);
|
FINISHED_ICON.getGraphics().drawImage(finishedIcon, 4, 4, null);
|
||||||
|
|
||||||
MINING_SITE_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
MINING_SITE_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
||||||
final BufferedImage miningSiteIcon = ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, "mining_site_icon.png");
|
final BufferedImage miningSiteIcon = ImageUtil.loadImageResource(WorldMapPlugin.class, "mining_site_icon.png");
|
||||||
MINING_SITE_ICON.getGraphics().drawImage(miningSiteIcon, 1, 1, null);
|
MINING_SITE_ICON.getGraphics().drawImage(miningSiteIcon, 1, 1, null);
|
||||||
|
|
||||||
ROOFTOP_COURSE_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
ROOFTOP_COURSE_ICON = new BufferedImage(iconBufferSize, iconBufferSize, BufferedImage.TYPE_INT_ARGB);
|
||||||
final BufferedImage rooftopCourseIcon = ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, "rooftop_course_icon.png");
|
final BufferedImage rooftopCourseIcon = ImageUtil.loadImageResource(WorldMapPlugin.class, "rooftop_course_icon.png");
|
||||||
ROOFTOP_COURSE_ICON.getGraphics().drawImage(rooftopCourseIcon, 1, 1, null);
|
ROOFTOP_COURSE_ICON.getGraphics().drawImage(rooftopCourseIcon, 1, 1, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -157,7 +157,7 @@ public class XpTrackerPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
xpPanel = new XpPanel(this, xpTrackerConfig, client, skillIconManager);
|
xpPanel = new XpPanel(this, xpTrackerConfig, client, skillIconManager);
|
||||||
|
|
||||||
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "/skill_icons/overall.png");
|
final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "/skill_icons/overall.png");
|
||||||
|
|
||||||
navButton = NavigationButton.builder()
|
navButton = NavigationButton.builder()
|
||||||
.tooltip("XP Tracker")
|
.tooltip("XP Tracker")
|
||||||
|
|||||||
+2
-1
@@ -265,6 +265,7 @@ public class ZalcanoPlugin extends Plugin
|
|||||||
|
|
||||||
private boolean isHealthbarActive()
|
private boolean isHealthbarActive()
|
||||||
{
|
{
|
||||||
return client.getVar(VarPlayer.ZALCANO_FORM) != -1;
|
int npcId = client.getVar(VarPlayer.HP_HUD_NPC_ID);
|
||||||
|
return npcId == ZALCANO_WEAKENED || npcId == ZALCANO;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ public class ClientUI
|
|||||||
private static final String CONFIG_CLIENT_BOUNDS = "clientBounds";
|
private static final String CONFIG_CLIENT_BOUNDS = "clientBounds";
|
||||||
private static final String CONFIG_CLIENT_MAXIMIZED = "clientMaximized";
|
private static final String CONFIG_CLIENT_MAXIMIZED = "clientMaximized";
|
||||||
private static final String CONFIG_CLIENT_SIDEBAR_CLOSED = "clientSidebarClosed";
|
private static final String CONFIG_CLIENT_SIDEBAR_CLOSED = "clientSidebarClosed";
|
||||||
public static final BufferedImage ICON = ImageUtil.getResourceStreamFromClass(ClientUI.class, "/openosrs.png");
|
public static final BufferedImage ICON = ImageUtil.loadImageResource(ClientUI.class, "/openosrs.png");
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private TrayIcon trayIcon;
|
private TrayIcon trayIcon;
|
||||||
@@ -128,8 +128,9 @@ public class ClientUI
|
|||||||
private boolean withTitleBar;
|
private boolean withTitleBar;
|
||||||
private BufferedImage sidebarOpenIcon;
|
private BufferedImage sidebarOpenIcon;
|
||||||
private BufferedImage sidebarClosedIcon;
|
private BufferedImage sidebarClosedIcon;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private static ContainableFrame frame;
|
public static ContainableFrame frame;
|
||||||
private JPanel navContainer;
|
private JPanel navContainer;
|
||||||
private PluginPanel pluginPanel;
|
private PluginPanel pluginPanel;
|
||||||
private ClientPluginToolbar pluginToolbar;
|
private ClientPluginToolbar pluginToolbar;
|
||||||
@@ -475,7 +476,7 @@ public class ClientUI
|
|||||||
|
|
||||||
// Create hide sidebar button
|
// Create hide sidebar button
|
||||||
|
|
||||||
sidebarOpenIcon = ImageUtil.getResourceStreamFromClass(ClientUI.class, withTitleBar ? "open.png" : "open_rs.png");
|
sidebarOpenIcon = ImageUtil.loadImageResource(ClientUI.class, withTitleBar ? "open.png" : "open_rs.png");
|
||||||
sidebarClosedIcon = ImageUtil.flipImage(sidebarOpenIcon, true, false);
|
sidebarClosedIcon = ImageUtil.flipImage(sidebarOpenIcon, true, false);
|
||||||
|
|
||||||
sidebarNavigationButton = NavigationButton
|
sidebarNavigationButton = NavigationButton
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public class FatalErrorDialog extends JDialog
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
BufferedImage logo = ImageUtil.getResourceStreamFromClass(FatalErrorDialog.class, "runelite_transparent.png");
|
BufferedImage logo = ImageUtil.loadImageResource(FatalErrorDialog.class, "runelite_transparent.png");
|
||||||
setIconImage(logo);
|
setIconImage(logo);
|
||||||
|
|
||||||
JLabel runelite = new JLabel();
|
JLabel runelite = new JLabel();
|
||||||
|
|||||||
@@ -266,29 +266,35 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
final Rectangle bounds = overlay.getBounds();
|
final Rectangle bounds = overlay.getBounds();
|
||||||
final Point location = bounds.getLocation();
|
|
||||||
final Dimension dimension = bounds.getSize();
|
final Dimension dimension = bounds.getSize();
|
||||||
|
|
||||||
final Point preferredLocation = overlay.getPreferredLocation();
|
final Point preferredLocation = overlay.getPreferredLocation();
|
||||||
|
Point location;
|
||||||
|
|
||||||
// If the final position is not modified, layout it
|
// If the final position is not modified, layout it
|
||||||
if (overlayPosition != OverlayPosition.DETACHED && (preferredLocation == null || overlay.getPreferredPosition() != null))
|
if (overlayPosition != OverlayPosition.DETACHED && (preferredLocation == null || overlay.getPreferredPosition() != null))
|
||||||
{
|
{
|
||||||
final Rectangle snapCorner = snapCorners.forPosition(overlayPosition);
|
final Rectangle snapCorner = snapCorners.forPosition(overlayPosition);
|
||||||
final Point translation = OverlayUtil.transformPosition(overlayPosition, dimension);
|
final Point translation = OverlayUtil.transformPosition(overlayPosition, dimension); // offset from corner
|
||||||
location.setLocation(snapCorner.getX() + translation.x, snapCorner.getY() + translation.y);
|
// Target x/y to draw the overlay
|
||||||
final Point padding = OverlayUtil.padPosition(overlayPosition, dimension, PADDING);
|
int destX = (int) snapCorner.getX() + translation.x;
|
||||||
snapCorner.translate(padding.x, padding.y);
|
int destY = (int) snapCorner.getY() + translation.y;
|
||||||
|
// Clamp the target position to ensure it is on screen or within parent bounds
|
||||||
|
location = clampOverlayLocation(destX, destY, dimension.width, dimension.height, overlay);
|
||||||
|
// Diff final position to target position in order to add it to the snap corner padding. The
|
||||||
|
// overlay effectively takes up the difference of (clamped location - target location) in
|
||||||
|
// addition to its normal dimensions.
|
||||||
|
int dX = location.x - destX;
|
||||||
|
int dY = location.y - destY;
|
||||||
|
final Point padding = OverlayUtil.padPosition(overlayPosition, dimension, PADDING); // overlay size + fixed padding
|
||||||
|
// translate corner for padding and any difference due to the position clamping
|
||||||
|
snapCorner.translate(padding.x + dX, padding.y + dY);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (preferredLocation != null)
|
location = preferredLocation != null ? preferredLocation : bounds.getLocation();
|
||||||
{
|
|
||||||
location.setLocation(preferredLocation);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clamp the overlay position to ensure it is on screen or within parent bounds
|
// Clamp the overlay position to ensure it is on screen or within parent bounds
|
||||||
clampOverlayLocation(location, dimension.width, dimension.height, overlay);
|
location = clampOverlayLocation(location.x, location.y, dimension.width, dimension.height, overlay);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (overlay.getPreferredSize() != null)
|
if (overlay.getPreferredSize() != null)
|
||||||
@@ -605,7 +611,7 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
|
|
||||||
// Clamp drag to parent component
|
// Clamp drag to parent component
|
||||||
final Rectangle overlayBounds = currentManagedOverlay.getBounds();
|
final Rectangle overlayBounds = currentManagedOverlay.getBounds();
|
||||||
clampOverlayLocation(overlayPosition, overlayBounds.width, overlayBounds.height, currentManagedOverlay);
|
overlayPosition = clampOverlayLocation(overlayPosition.x, overlayPosition.y, overlayBounds.width, overlayBounds.height, currentManagedOverlay);
|
||||||
currentManagedOverlay.setPreferredPosition(null);
|
currentManagedOverlay.setPreferredPosition(null);
|
||||||
currentManagedOverlay.setPreferredLocation(overlayPosition);
|
currentManagedOverlay.setPreferredLocation(overlayPosition);
|
||||||
}
|
}
|
||||||
@@ -920,12 +926,14 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
/**
|
/**
|
||||||
* Adjust the given overlay position to be within its parent's bounds.
|
* Adjust the given overlay position to be within its parent's bounds.
|
||||||
*
|
*
|
||||||
* @param overlayPosition the overlay position, which is modified in place
|
* @param overlayX
|
||||||
|
* @param overlayY
|
||||||
* @param overlayWidth
|
* @param overlayWidth
|
||||||
* @param overlayHeight
|
* @param overlayHeight
|
||||||
* @param overlay the overlay
|
* @param overlay the overlay
|
||||||
|
* @return the clamped position
|
||||||
*/
|
*/
|
||||||
private void clampOverlayLocation(Point overlayPosition, int overlayWidth, int overlayHeight, Overlay overlay)
|
private Point clampOverlayLocation(int overlayX, int overlayY, int overlayWidth, int overlayHeight, Overlay overlay)
|
||||||
{
|
{
|
||||||
Rectangle parentBounds = overlay.getParentBounds();
|
Rectangle parentBounds = overlay.getParentBounds();
|
||||||
if (parentBounds == null || parentBounds.isEmpty())
|
if (parentBounds == null || parentBounds.isEmpty())
|
||||||
@@ -936,9 +944,11 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Constrain overlay position to be within the parent bounds
|
// Constrain overlay position to be within the parent bounds
|
||||||
overlayPosition.x = Ints.constrainToRange(overlayPosition.x, parentBounds.x,
|
return new Point(
|
||||||
Math.max(parentBounds.x, parentBounds.width - overlayWidth));
|
Ints.constrainToRange(overlayX, parentBounds.x,
|
||||||
overlayPosition.y = Ints.constrainToRange(overlayPosition.y, parentBounds.y,
|
Math.max(parentBounds.x, parentBounds.width - overlayWidth)),
|
||||||
Math.max(parentBounds.y, parentBounds.height - overlayHeight));
|
Ints.constrainToRange(overlayY, parentBounds.y,
|
||||||
|
Math.max(parentBounds.y, parentBounds.height - overlayHeight))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -217,8 +217,6 @@ public class OverlayUtil
|
|||||||
break;
|
break;
|
||||||
case TOP_LEFT:
|
case TOP_LEFT:
|
||||||
case TOP_CENTER:
|
case TOP_CENTER:
|
||||||
result.y += dimension.height + (dimension.height == 0 ? 0 : padding);
|
|
||||||
break;
|
|
||||||
case CANVAS_TOP_RIGHT:
|
case CANVAS_TOP_RIGHT:
|
||||||
case TOP_RIGHT:
|
case TOP_RIGHT:
|
||||||
result.y += dimension.height + (dimension.height == 0 ? 0 : padding);
|
result.y += dimension.height + (dimension.height == 0 ? 0 : padding);
|
||||||
@@ -242,18 +240,18 @@ public class OverlayUtil
|
|||||||
case TOP_LEFT:
|
case TOP_LEFT:
|
||||||
break;
|
break;
|
||||||
case TOP_CENTER:
|
case TOP_CENTER:
|
||||||
result.x = result.x - dimension.width / 2;
|
result.x = -dimension.width / 2;
|
||||||
break;
|
break;
|
||||||
case BOTTOM_LEFT:
|
case BOTTOM_LEFT:
|
||||||
result.y = result.y - dimension.height;
|
result.y = -dimension.height;
|
||||||
break;
|
break;
|
||||||
case BOTTOM_RIGHT:
|
case BOTTOM_RIGHT:
|
||||||
case ABOVE_CHATBOX_RIGHT:
|
case ABOVE_CHATBOX_RIGHT:
|
||||||
result.y = result.y - dimension.height;
|
result.y = -dimension.height;
|
||||||
// FALLTHROUGH
|
// FALLTHROUGH
|
||||||
case CANVAS_TOP_RIGHT:
|
case CANVAS_TOP_RIGHT:
|
||||||
case TOP_RIGHT:
|
case TOP_RIGHT:
|
||||||
result.x = result.x - dimension.width;
|
result.x = -dimension.width;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,12 +34,10 @@ import java.awt.image.BufferedImage;
|
|||||||
import java.awt.image.DirectColorModel;
|
import java.awt.image.DirectColorModel;
|
||||||
import java.awt.image.PixelGrabber;
|
import java.awt.image.PixelGrabber;
|
||||||
import java.awt.image.RescaleOp;
|
import java.awt.image.RescaleOp;
|
||||||
import java.awt.image.WritableRaster;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Predicate;
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.GrayFilter;
|
import javax.swing.GrayFilter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -333,16 +331,25 @@ public class ImageUtil
|
|||||||
return outlinedImage;
|
return outlinedImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see #loadImageResource(Class, String)
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static BufferedImage getResourceStreamFromClass(Class<?> c, String path)
|
||||||
|
{
|
||||||
|
return loadImageResource(c, path);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads an image resource from a given path relative to a given class.
|
* Reads an image resource from a given path relative to a given class.
|
||||||
* This method is primarily shorthand for the synchronization and error handling required for
|
* This method is primarily shorthand for the synchronization and error handling required for
|
||||||
* loading image resources from classes.
|
* loading image resources from the classpath.
|
||||||
*
|
*
|
||||||
* @param c The class to be referenced for resource path.
|
* @param c The class to be referenced for the package path.
|
||||||
* @param path The path, relative to the given class.
|
* @param path The path, relative to the given class.
|
||||||
* @return A {@link BufferedImage} of the loaded image resource from the given path.
|
* @return A {@link BufferedImage} of the loaded image resource from the given path.
|
||||||
*/
|
*/
|
||||||
public static BufferedImage getResourceStreamFromClass(final Class c, final String path)
|
public static BufferedImage loadImageResource(final Class<?> c, final String path)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -361,7 +368,7 @@ public class ImageUtil
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
filePath = c.getPackage().getName().replace(".", "/") + "/" + path;
|
filePath = c.getPackage().getName().replace('.', '/') + "/" + path;
|
||||||
}
|
}
|
||||||
|
|
||||||
log.warn("Failed to load image from class: {}, path: {}", c.getName(), filePath);
|
log.warn("Failed to load image from class: {}, path: {}", c.getName(), filePath);
|
||||||
@@ -400,56 +407,6 @@ public class ImageUtil
|
|||||||
return filledImage;
|
return filledImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Recolors pixels of the given image with the given color based on a given recolor condition
|
|
||||||
* predicate.
|
|
||||||
*
|
|
||||||
* @param image The image which should have its non-transparent pixels recolored.
|
|
||||||
* @param color The color with which to recolor pixels.
|
|
||||||
* @param recolorCondition The condition on which to recolor pixels with the given color.
|
|
||||||
* @return The given image with all pixels fulfilling the recolor condition predicate
|
|
||||||
* set to the given color.
|
|
||||||
*/
|
|
||||||
public static BufferedImage recolorImage(final BufferedImage image, final Color color, final Predicate<Color> recolorCondition)
|
|
||||||
{
|
|
||||||
final BufferedImage recoloredImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB);
|
|
||||||
for (int x = 0; x < recoloredImage.getWidth(); x++)
|
|
||||||
{
|
|
||||||
for (int y = 0; y < recoloredImage.getHeight(); y++)
|
|
||||||
{
|
|
||||||
final Color pixelColor = new Color(image.getRGB(x, y), true);
|
|
||||||
if (!recolorCondition.test(pixelColor))
|
|
||||||
{
|
|
||||||
recoloredImage.setRGB(x, y, image.getRGB(x, y));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
recoloredImage.setRGB(x, y, color.getRGB());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return recoloredImage;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static BufferedImage recolorImage(BufferedImage image, final Color color)
|
|
||||||
{
|
|
||||||
int width = image.getWidth();
|
|
||||||
int height = image.getHeight();
|
|
||||||
WritableRaster raster = image.getRaster();
|
|
||||||
|
|
||||||
for (int xx = 0; xx < width; xx++)
|
|
||||||
{
|
|
||||||
for (int yy = 0; yy < height; yy++)
|
|
||||||
{
|
|
||||||
int[] pixels = raster.getPixel(xx, yy, (int[]) null);
|
|
||||||
pixels[0] = color.getRed();
|
|
||||||
pixels[1] = color.getGreen();
|
|
||||||
pixels[2] = color.getBlue();
|
|
||||||
raster.setPixel(xx, yy, pixels);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return image;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Performs a rescale operation on the image's color components.
|
* Performs a rescale operation on the image's color components.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
<!--
|
||||||
|
Default stack using IP multicasting. It is similar to the "udp"
|
||||||
|
stack in stacks.xml, but doesn't use streaming state transfer and flushing
|
||||||
|
author: Bela Ban
|
||||||
|
-->
|
||||||
|
|
||||||
|
<config xmlns="urn:org:jgroups"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd"
|
||||||
|
version="5.0.0">
|
||||||
|
<UDP
|
||||||
|
bind_addr="127.0.0.1"
|
||||||
|
mcast_port="${jgroups.udp.mcast_port:45588}"
|
||||||
|
ip_ttl="4"
|
||||||
|
tos="8"
|
||||||
|
ucast_recv_buf_size="5M"
|
||||||
|
ucast_send_buf_size="5M"
|
||||||
|
mcast_recv_buf_size="5M"
|
||||||
|
mcast_send_buf_size="5M"
|
||||||
|
max_bundle_size="64K"
|
||||||
|
enable_diagnostics="true"
|
||||||
|
thread_naming_pattern="cl"
|
||||||
|
|
||||||
|
thread_pool.min_threads="0"
|
||||||
|
thread_pool.max_threads="20"
|
||||||
|
thread_pool.keep_alive_time="30000"/>
|
||||||
|
|
||||||
|
<PING/>
|
||||||
|
<MERGE3 max_interval="30000"
|
||||||
|
min_interval="10000"/>
|
||||||
|
<FD_SOCK/>
|
||||||
|
<FD_ALL/>
|
||||||
|
<VERIFY_SUSPECT timeout="1500"/>
|
||||||
|
<BARRIER/>
|
||||||
|
<pbcast.NAKACK2 xmit_interval="500"
|
||||||
|
xmit_table_num_rows="100"
|
||||||
|
xmit_table_msgs_per_row="2000"
|
||||||
|
xmit_table_max_compaction_time="30000"
|
||||||
|
use_mcast_xmit="false"
|
||||||
|
discard_delivered_msgs="true"/>
|
||||||
|
<UNICAST3 xmit_interval="500"
|
||||||
|
xmit_table_num_rows="100"
|
||||||
|
xmit_table_msgs_per_row="2000"
|
||||||
|
xmit_table_max_compaction_time="60000"
|
||||||
|
conn_expiry_timeout="0"/>
|
||||||
|
<pbcast.STABLE desired_avg_gossip="50000"
|
||||||
|
max_bytes="4M"/>
|
||||||
|
<pbcast.GMS print_local_addr="false" join_timeout="2000"/>
|
||||||
|
<UFC max_credits="2M"
|
||||||
|
min_threshold="0.4"/>
|
||||||
|
<MFC max_credits="2M"
|
||||||
|
min_threshold="0.4"/>
|
||||||
|
<FRAG2 frag_size="60K"/>
|
||||||
|
<RSVP resend_interval="2000" timeout="10000"/>
|
||||||
|
<pbcast.STATE_TRANSFER/>
|
||||||
|
</config>
|
||||||
Reference in New Issue
Block a user