diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java index 8e5a97dfb3..106c5f0ad8 100644 --- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java +++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java @@ -26,8 +26,10 @@ package net.runelite.http.api.hiscore; +import lombok.Getter; import okhttp3.HttpUrl; +@Getter public enum HiscoreEndpoint { NORMAL("Normal", "https://services.runescape.com/m=hiscore_oldschool/index_lite.ws"), @@ -35,7 +37,8 @@ public enum HiscoreEndpoint HARDCORE_IRONMAN("Hardcore Ironman", "https://services.runescape.com/m=hiscore_oldschool_hardcore_ironman/index_lite.ws"), ULTIMATE_IRONMAN("Ultimate Ironman", "https://services.runescape.com/m=hiscore_oldschool_ultimate/index_lite.ws"), DEADMAN("Deadman", "https://services.runescape.com/m=hiscore_oldschool_deadman/index_lite.ws"), - LEAGUE("Twisted League", "https://services.runescape.com/m=hiscore_oldschool_seasonal/index_lite.ws"); + LEAGUE("Twisted League", "https://services.runescape.com/m=hiscore_oldschool_seasonal/index_lite.ws"), + TOURNAMENT("Tournament", "https://services.runescape.com/m=hiscore_oldschool_tournament/index_lite.ws"); private final String name; private final HttpUrl hiscoreURL; @@ -45,14 +48,4 @@ public enum HiscoreEndpoint this.name = name; this.hiscoreURL = HttpUrl.parse(hiscoreURL); } - - public String getName() - { - return name; - } - - public HttpUrl getHiscoreURL() - { - return hiscoreURL; - } } diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java index af543b7383..9e6ae694e3 100644 --- a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java +++ b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java @@ -34,5 +34,6 @@ public enum WorldType LAST_MAN_STANDING, TOURNAMENT, DEADMAN, + DEADMAN_TOURNAMENT, LEAGUE; } diff --git a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java index 896f152752..d0a7b62103 100644 --- a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java +++ b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java @@ -35,6 +35,7 @@ enum ServiceWorldType HIGH_RISK(WorldType.HIGH_RISK, 1 << 10), LAST_MAN_STANDING(WorldType.LAST_MAN_STANDING, 1 << 14), TOURNAMENT(WorldType.TOURNAMENT, 1 << 25), + DEADMAN_TOURNAMENT(WorldType.DEADMAN_TOURNAMENT, 1 << 26), DEADMAN(WorldType.DEADMAN, 1 << 29), LEAGUE(WorldType.LEAGUE, 1 << 30); diff --git a/runelite-api/src/main/java/net/runelite/api/WorldType.java b/runelite-api/src/main/java/net/runelite/api/WorldType.java index 618d272796..2bd54cf0ed 100644 --- a/runelite-api/src/main/java/net/runelite/api/WorldType.java +++ b/runelite-api/src/main/java/net/runelite/api/WorldType.java @@ -60,6 +60,10 @@ public enum WorldType * Tournament world type. */ TOURNAMENT(1 << 25), + /** + * Deadman Tournament world type. + */ + DEADMAN_TOURNAMENT(1 << 26), /** * Deadman world type. */ @@ -77,7 +81,7 @@ public enum WorldType } private static final EnumSet PVP_WORLD_TYPES = EnumSet.of( - DEADMAN, + DEADMAN, // dmmt worlds are also flaged as DEADMAN PVP ); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index ca5df48a6b..5a82c4fb22 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -70,6 +70,7 @@ import net.runelite.http.api.hiscore.HiscoreSkill; import static net.runelite.http.api.hiscore.HiscoreSkill.*; import net.runelite.http.api.hiscore.HiscoreSkillType; import net.runelite.http.api.hiscore.Skill; +import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; @Slf4j @@ -113,6 +114,10 @@ public class HiscorePanel extends PluginPanel ZALCANO, ZULRAH ); + private static final HiscoreEndpoint[] ENDPOINTS = new HiscoreEndpoint[] { + HiscoreEndpoint.NORMAL, HiscoreEndpoint.IRONMAN, HiscoreEndpoint.HARDCORE_IRONMAN, HiscoreEndpoint.ULTIMATE_IRONMAN, HiscoreEndpoint.DEADMAN, HiscoreEndpoint.TOURNAMENT + }; + @Inject ScheduledExecutorService executor; @@ -200,7 +205,7 @@ public class HiscorePanel extends PluginPanel tabGroup = new MaterialTabGroup(); tabGroup.setLayout(new GridLayout(1, 5, 7, 7)); - for (HiscoreEndpoint endpoint : HiscoreEndpoint.values()) + for (HiscoreEndpoint endpoint : ENDPOINTS) { final BufferedImage iconImage = ImageUtil.getResourceStreamFromClass(getClass(), endpoint.name().toLowerCase() + ".png"); @@ -681,7 +686,9 @@ public class HiscorePanel extends PluginPanel private void resetEndpoints() { // Select the correct tab based on the world type. - tabGroup.select(tabGroup.getTab(selectWorldEndpoint().ordinal())); + HiscoreEndpoint endpoint = selectWorldEndpoint(); + int idx = ArrayUtils.indexOf(ENDPOINTS, endpoint); + tabGroup.select(tabGroup.getTab(idx)); } private HiscoreEndpoint selectWorldEndpoint() @@ -690,7 +697,11 @@ public class HiscorePanel extends PluginPanel { EnumSet wTypes = client.getWorldType(); - if (wTypes.contains(WorldType.DEADMAN)) + if (wTypes.contains(WorldType.DEADMAN_TOURNAMENT)) + { + return HiscoreEndpoint.TOURNAMENT; + } + else if (wTypes.contains(WorldType.DEADMAN)) { return HiscoreEndpoint.DEADMAN; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java index f411fc2dae..7faea8bc1f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java @@ -113,7 +113,11 @@ public class OpponentInfoPlugin extends Plugin } final EnumSet worldType = client.getWorldType(); - if (worldType.contains(WorldType.DEADMAN)) + if (worldType.contains(WorldType.DEADMAN_TOURNAMENT)) + { + hiscoreEndpoint = HiscoreEndpoint.TOURNAMENT; + } + else if (worldType.contains(WorldType.DEADMAN)) { hiscoreEndpoint = HiscoreEndpoint.DEADMAN; } diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/league.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/league.png deleted file mode 100644 index b9473db512..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/league.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/tournament.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/tournament.png new file mode 100644 index 0000000000..e74b1d940b Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/tournament.png differ