From 50370e79eac49ae3f16fd197e13bec08d211445e Mon Sep 17 00:00:00 2001 From: Hydrox6 Date: Wed, 23 Jun 2021 17:25:15 +0100 Subject: [PATCH 1/2] widgetoverlay: add back removed WidgetOverlays These were removed in commit d566998179d3985242a451e484467e6023012374 due to major interface changes from Jagex --- .../java/net/runelite/api/widgets/WidgetID.java | 13 ++++++++++--- .../java/net/runelite/api/widgets/WidgetInfo.java | 15 ++++++++++++++- .../runelite/client/ui/overlay/WidgetOverlay.java | 10 ++++++++++ 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 1fe9362a0a..45bed73945 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -89,7 +89,7 @@ public class WidgetID public static final int CLUE_SCROLL_REWARD_GROUP_ID = 73; public static final int BARROWS_REWARD_GROUP_ID = 155; public static final int RAIDS_GROUP_ID = 513; - public static final int TOB_PARTY_GROUP_ID = 28; + public static final int TOB_GROUP_ID = 28; public static final int MOTHERLODE_MINE_GROUP_ID = 382; public static final int EXPERIENCE_DROP_GROUP_ID = 122; public static final int PUZZLE_BOX_GROUP_ID = 306; @@ -211,6 +211,9 @@ public class WidgetID static class PestControl { + static final int KNIGHT_INFO_CONTAINER = 2; + + static final int ACTIVITY_SHIELD_CONTAINER = 9; static final int ACTIVITY_BAR = 10; static final int ACTIVITY_PROGRESS = 12; @@ -582,6 +585,7 @@ public class WidgetID static class VolcanicMine { + static final int STABILITY_INFOBOX_CONTAINER = 2; static final int TIME_LEFT = 6; static final int POINTS = 8; static final int STABILITY = 10; @@ -592,6 +596,7 @@ public class WidgetID static final int VENT_A_STATUS = 20; static final int VENT_B_STATUS = 21; static final int VENT_C_STATUS = 22; + static final int VENTS_INFOBOX_CONTAINER = 26; } static class BarbarianAssault @@ -634,7 +639,9 @@ public class WidgetID static class Tob { + static final int PARTY_INTERFACE = 5; static final int PARTY_STATS = 7; + static final int HEALTHBAR_CONTAINER = 9; } static class PuzzleBox @@ -860,7 +867,7 @@ public class WidgetID static class LmsKDA { - static final int INFO = 7; + static final int INFO = 4; } static class AdventureLog @@ -895,7 +902,7 @@ public class WidgetID static class TemporossStatus { - static final int STATUS_INDICATOR = 4; + static final int STATUS_INDICATOR = 2; } static class Clan diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 7bfb3bc85f..1ae170ede5 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -74,6 +74,9 @@ public enum WidgetInfo DIARY_QUEST_WIDGET_TITLE(WidgetID.DIARY_QUEST_GROUP_ID, WidgetID.Diary.DIARY_TITLE), DIARY_QUEST_WIDGET_TEXT(WidgetID.DIARY_QUEST_GROUP_ID, WidgetID.Diary.DIARY_TEXT), + PEST_CONTROL_BOAT_INFO(WidgetID.PEST_CONTROL_BOAT_GROUP_ID, 2), + PEST_CONTROL_KNIGHT_INFO_CONTAINER(WidgetID.PEST_CONTROL_GROUP_ID, WidgetID.PestControl.KNIGHT_INFO_CONTAINER), + PEST_CONTROL_ACTIVITY_SHIELD_INFO_CONTAINER(WidgetID.PEST_CONTROL_GROUP_ID, WidgetID.PestControl.ACTIVITY_SHIELD_CONTAINER), PEST_CONTROL_PURPLE_SHIELD(WidgetID.PEST_CONTROL_GROUP_ID, WidgetID.PestControl.PURPLE_SHIELD), PEST_CONTROL_BLUE_SHIELD(WidgetID.PEST_CONTROL_GROUP_ID, WidgetID.PestControl.BLUE_SHIELD), PEST_CONTROL_YELLOW_SHIELD(WidgetID.PEST_CONTROL_GROUP_ID, WidgetID.PestControl.YELLOW_SHIELD), @@ -93,6 +96,8 @@ public enum WidgetInfo VOLCANIC_MINE_POINTS(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.POINTS), VOLCANIC_MINE_STABILITY(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.STABILITY), VOLCANIC_MINE_PLAYER_COUNT(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.PLAYER_COUNT), + VOLCANIC_MINE_VENTS_INFOBOX_GROUP(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENTS_INFOBOX_CONTAINER), + VOLCANIC_MINE_STABILITY_INFOBOX_GROUP(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.STABILITY_INFOBOX_CONTAINER), VOLCANIC_MINE_VENT_A_PERCENTAGE(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENT_A_PERCENTAGE), VOLCANIC_MINE_VENT_B_PERCENTAGE(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENT_B_PERCENTAGE), VOLCANIC_MINE_VENT_C_PERCENTAGE(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENT_C_PERCENTAGE), @@ -394,6 +399,8 @@ public enum WidgetInfo MOTHERLODE_MINE(WidgetID.MOTHERLODE_MINE_GROUP_ID, 0), + GWD_KC(WidgetID.GWD_KC_GROUP_ID, 4), + PUZZLE_BOX(WidgetID.PUZZLE_BOX_GROUP_ID, WidgetID.PuzzleBox.VISIBLE_BOX), LIGHT_BOX(WidgetID.LIGHT_BOX_GROUP_ID, WidgetID.LightBox.LIGHT_BOX), @@ -415,7 +422,9 @@ public enum WidgetInfo RAIDS_POINTS_INFOBOX(WidgetID.RAIDS_GROUP_ID, WidgetID.Raids.POINTS_INFOBOX), - TOB_PARTY_STATS(WidgetID.TOB_PARTY_GROUP_ID, WidgetID.Tob.PARTY_STATS), + TOB_PARTY_INTERFACE(WidgetID.TOB_GROUP_ID, WidgetID.Tob.PARTY_INTERFACE), + TOB_PARTY_STATS(WidgetID.TOB_GROUP_ID, WidgetID.Tob.PARTY_STATS), + TOB_HEALTH_BAR(WidgetID.TOB_GROUP_ID, WidgetID.Tob.HEALTHBAR_CONTAINER), BLAST_FURNACE_COFFER(WidgetID.BLAST_FURNACE_GROUP_ID, 2), @@ -472,6 +481,8 @@ public enum WidgetInfo WORLD_SWITCHER_LIST(WidgetID.WORLD_SWITCHER_GROUP_ID, WidgetID.WorldSwitcher.WORLD_LIST), + FOSSIL_ISLAND_OXYGENBAR(WidgetID.FOSSIL_ISLAND_OXYGENBAR_ID, 2), + MINIGAME_TELEPORT_BUTTON(WidgetID.MINIGAME_TAB_ID, WidgetID.Minigames.TELEPORT_BUTTON), SPELL_LUMBRIDGE_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.StandardSpellBook.LUMBRIDGE_HOME_TELEPORT), @@ -519,6 +530,8 @@ public enum WidgetInfo GAUNTLET_TIMER_CONTAINER(WidgetID.GAUNTLET_TIMER_GROUP_ID, WidgetID.GauntletTimer.CONTAINER), HALLOWED_SEPULCHRE_TIMER_CONTAINER(WidgetID.HALLOWED_SEPULCHRE_TIMER_GROUP_ID, WidgetID.HallowedSepulchreTimer.CONTAINER), + HEALTH_OVERLAY_BAR(WidgetID.HEALTH_OVERLAY_BAR_GROUP_ID, 4), + TRAILBLAZER_AREA_TELEPORT(WidgetID.TRAILBLAZER_AREAS_GROUP_ID, WidgetID.TrailblazerAreas.TELEPORT), MULTICOMBAT_FIXED(WidgetID.FIXED_VIEWPORT_GROUP_ID, WidgetID.FixedViewport.MULTICOMBAT_INDICATOR), diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java index 6119b0a5df..f14865a527 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java @@ -42,10 +42,16 @@ public class WidgetOverlay extends Overlay return Arrays.asList( new WidgetOverlay(client, WidgetInfo.RESIZABLE_MINIMAP_WIDGET, OverlayPosition.CANVAS_TOP_RIGHT), new WidgetOverlay(client, WidgetInfo.RESIZABLE_MINIMAP_STONES_WIDGET, OverlayPosition.CANVAS_TOP_RIGHT), + new WidgetOverlay(client, WidgetInfo.FOSSIL_ISLAND_OXYGENBAR, OverlayPosition.TOP_CENTER), new XpTrackerWidgetOverlay(client, WidgetInfo.EXPERIENCE_TRACKER_WIDGET, OverlayPosition.TOP_RIGHT), new WidgetOverlay(client, WidgetInfo.RAIDS_POINTS_INFOBOX, OverlayPosition.TOP_RIGHT), + new WidgetOverlay(client, WidgetInfo.TOB_PARTY_INTERFACE, OverlayPosition.TOP_LEFT), new WidgetOverlay(client, WidgetInfo.TOB_PARTY_STATS, OverlayPosition.TOP_LEFT), + new WidgetOverlay(client, WidgetInfo.GWD_KC, OverlayPosition.TOP_RIGHT), new WidgetOverlay(client, WidgetInfo.TITHE_FARM, OverlayPosition.TOP_RIGHT), + new WidgetOverlay(client, WidgetInfo.PEST_CONTROL_BOAT_INFO, OverlayPosition.TOP_LEFT), + new WidgetOverlay(client, WidgetInfo.PEST_CONTROL_KNIGHT_INFO_CONTAINER, OverlayPosition.TOP_LEFT), + new WidgetOverlay(client, WidgetInfo.PEST_CONTROL_ACTIVITY_SHIELD_INFO_CONTAINER, OverlayPosition.TOP_RIGHT), new WidgetOverlay(client, WidgetInfo.ZEAH_MESS_HALL_COOKING_DISPLAY, OverlayPosition.TOP_LEFT), new WidgetOverlay(client, WidgetInfo.PVP_KILLDEATH_COUNTER, OverlayPosition.TOP_LEFT), new WidgetOverlay(client, WidgetInfo.SKOTIZO_CONTAINER, OverlayPosition.TOP_LEFT), @@ -55,7 +61,11 @@ public class WidgetOverlay extends Overlay new WidgetOverlay(client, WidgetInfo.LMS_KDA, OverlayPosition.TOP_RIGHT), new WidgetOverlay(client, WidgetInfo.GAUNTLET_TIMER_CONTAINER, OverlayPosition.TOP_LEFT), new WidgetOverlay(client, WidgetInfo.HALLOWED_SEPULCHRE_TIMER_CONTAINER, OverlayPosition.TOP_LEFT), + new WidgetOverlay(client, WidgetInfo.HEALTH_OVERLAY_BAR, OverlayPosition.TOP_CENTER), + new WidgetOverlay(client, WidgetInfo.TOB_HEALTH_BAR, OverlayPosition.TOP_CENTER), new WidgetOverlay(client, WidgetInfo.NIGHTMARE_PILLAR_HEALTH, OverlayPosition.TOP_LEFT), + new WidgetOverlay(client, WidgetInfo.VOLCANIC_MINE_VENTS_INFOBOX_GROUP, OverlayPosition.BOTTOM_RIGHT), + new WidgetOverlay(client, WidgetInfo.VOLCANIC_MINE_STABILITY_INFOBOX_GROUP, OverlayPosition.BOTTOM_LEFT), new WidgetOverlay(client, WidgetInfo.MULTICOMBAT_FIXED, OverlayPosition.BOTTOM_RIGHT), new WidgetOverlay(client, WidgetInfo.MULTICOMBAT_RESIZEABLE_MODERN, OverlayPosition.CANVAS_TOP_RIGHT), new WidgetOverlay(client, WidgetInfo.MULTICOMBAT_RESIZEABLE_CLASSIC, OverlayPosition.CANVAS_TOP_RIGHT), From 0bb16c299964210ee51d9b6e707d9b998bfc93f6 Mon Sep 17 00:00:00 2001 From: Hydrox6 Date: Wed, 23 Jun 2021 23:19:12 +0100 Subject: [PATCH 2/2] combatlevel: fix attack range indicator Co-authored-by: Jordan Atwood --- .../net/runelite/api/widgets/WidgetID.java | 2 +- .../combatlevel/CombatLevelPlugin.java | 35 ------------------- 2 files changed, 1 insertion(+), 36 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 45bed73945..744e434f64 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -772,7 +772,7 @@ public class WidgetID static final int KILLDEATH_RATIO = 26; static final int SKULL_CONTAINER = 45; static final int SAFE_ZONE = 47; - static final int WILDERNESS_LEVEL = 49; // this can also be the Deadman Mode "Protection" text + static final int WILDERNESS_LEVEL = 50; // this can also be the Deadman Mode "Protection" text } static class KourendFavour diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java index 0d401d8e13..13b60c0bbe 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java @@ -40,7 +40,6 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.ScriptPostFired; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; -import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.events.ConfigChanged; @@ -59,19 +58,11 @@ public class CombatLevelPlugin extends Plugin private static final String CONFIG_GROUP = "combatlevel"; private static final String ATTACK_RANGE_CONFIG_KEY = "wildernessAttackLevelRange"; private static final Pattern WILDERNESS_LEVEL_PATTERN = Pattern.compile("^Level: (\\d+)$"); - private static final int SKULL_CONTAINER_ADJUSTED_ORIGINAL_Y = 6; - private static final int WILDERNESS_LEVEL_TEXT_ADJUSTED_ORIGINAL_Y = 3; private static final int MIN_COMBAT_LEVEL = 3; - private int originalWildernessLevelTextPosition = -1; - private int originalSkullContainerPosition = -1; - @Inject private Client client; - @Inject - private ClientThread clientThread; - @Inject private CombatLevelConfig config; @@ -187,25 +178,10 @@ public class CombatLevelPlugin extends Plugin return; } - final Widget skullContainer = client.getWidget(WidgetInfo.PVP_SKULL_CONTAINER); - if (originalWildernessLevelTextPosition == -1) - { - originalWildernessLevelTextPosition = wildernessLevelWidget.getOriginalY(); - } - if (originalSkullContainerPosition == -1) - { - originalSkullContainerPosition = skullContainer.getRelativeY(); - } - final int wildernessLevel = Integer.parseInt(m.group(1)); final int combatLevel = client.getLocalPlayer().getCombatLevel(); wildernessLevelWidget.setText(wildernessLevelText + "
" + combatAttackRange(combatLevel, wildernessLevel)); - wildernessLevelWidget.setOriginalY(WILDERNESS_LEVEL_TEXT_ADJUSTED_ORIGINAL_Y); - skullContainer.setOriginalY(SKULL_CONTAINER_ADJUSTED_ORIGINAL_Y); - - clientThread.invoke(wildernessLevelWidget::revalidate); - clientThread.invoke(skullContainer::revalidate); } private void shutDownAttackLevelRange() @@ -223,18 +199,7 @@ public class CombatLevelPlugin extends Plugin { wildernessLevelWidget.setText(wildernessLevelText.substring(0, wildernessLevelText.indexOf("
"))); } - wildernessLevelWidget.setOriginalY(originalWildernessLevelTextPosition); - clientThread.invoke(wildernessLevelWidget::revalidate); } - originalWildernessLevelTextPosition = -1; - - final Widget skullContainer = client.getWidget(WidgetInfo.PVP_SKULL_CONTAINER); - if (skullContainer != null) - { - skullContainer.setOriginalY(originalSkullContainerPosition); - clientThread.invoke(skullContainer::revalidate); - } - originalSkullContainerPosition = -1; } private static String combatAttackRange(final int combatLevel, final int wildernessLevel)