diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index bac4dc2bb7..ed44d42165 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -61,6 +61,7 @@ import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.Widget; import static net.runelite.api.widgets.WidgetID.BARROWS_REWARD_GROUP_ID; import static net.runelite.api.widgets.WidgetID.CLUE_SCROLL_REWARD_GROUP_ID; +import static net.runelite.api.widgets.WidgetID.HUNTER_LEVEL_UP_GROUP_ID; import static net.runelite.api.widgets.WidgetID.LEVEL_UP_GROUP_ID; import static net.runelite.api.widgets.WidgetID.QUEST_COMPLETED_GROUP_ID; import net.runelite.api.widgets.WidgetInfo; @@ -249,24 +250,12 @@ public class ScreenshotPlugin extends Plugin { case LEVEL_UP_GROUP_ID: { - Widget skillChild = client.getWidget(WidgetInfo.LEVEL_UP_SKILL); - Widget levelChild = client.getWidget(WidgetInfo.LEVEL_UP_LEVEL); - - if (skillChild == null || levelChild == null) - { - return; - } - - // "Congratulations, you just advanced a Firemaking level." - String skillText = skillChild.getText(); - // "Your Firemaking level is now 9." - String levelText = levelChild.getText(); - - String[] splitSkillName = skillText.split(" "); - String skillName = splitSkillName[splitSkillName.length - 2]; - String skillLevel = levelText.substring(levelText.lastIndexOf(" ") + 1, levelText.length() - 1); - - fileName = skillName + "(" + skillLevel + ")"; + fileName = parseLevelUpWidget(WidgetInfo.LEVEL_UP_SKILL, WidgetInfo.LEVEL_UP_LEVEL); + break; + } + case HUNTER_LEVEL_UP_GROUP_ID: + { + fileName = parseLevelUpWidget(WidgetInfo.HUNTER_LEVEL_UP_SKILL, WidgetInfo.HUNTER_LEVEL_UP_LEVEL); break; } case QUEST_COMPLETED_GROUP_ID: @@ -311,9 +300,36 @@ public class ScreenshotPlugin extends Plugin return; } + if (fileName == null) + { + return; + } + takeScreenshot(fileName, config.displayDate()); } + private String parseLevelUpWidget(WidgetInfo levelUpSkill, WidgetInfo levelUpLevel) + { + Widget skillChild = client.getWidget(levelUpSkill); + Widget levelChild = client.getWidget(levelUpLevel); + + if (skillChild == null || levelChild == null) + { + return null; + } + + // "Congratulations, you just advanced a Firemaking level." + String skillText = skillChild.getText(); + // "Your Firemaking level is now 9." + String levelText = levelChild.getText(); + + String[] splitSkillName = skillText.split(" "); + String skillName = splitSkillName[splitSkillName.length - 2]; + String skillLevel = levelText.substring(levelText.lastIndexOf(" ") + 1, levelText.length() - 1); + + return skillName + "(" + skillLevel + ")"; + } + private void takeScreenshot(String fileName, boolean displayDate) { if (client.getGameState() == GameState.LOGIN_SCREEN)