From c2f405cf8fe3ad0f226316e7b9616b5ead0e5dd3 Mon Sep 17 00:00:00 2001 From: Kyleeld <48519776+Kyleeld@users.noreply.github.com> Date: Fri, 28 Jun 2019 23:58:38 +0100 Subject: [PATCH] Revert "Upstreamyboy" --- .../java/net/runelite/cache/AreaDumper.java | 2 +- .../net/runelite/cache/EnumDumperTest.java | 2 +- .../java/net/runelite/cache/FrameDumper.java | 2 +- .../net/runelite/cache/FramemapDumper.java | 2 +- .../net/runelite/cache/InventoryDumper.java | 2 +- .../net/runelite/cache/KitDumperTest.java | 2 +- .../net/runelite/cache/OverlayDumper.java | 2 +- .../net/runelite/cache/SequenceDumper.java | 2 +- .../cache/SoundEffectsDumperTest.java | 2 +- .../net/runelite/cache/StructManagerTest.java | 2 +- .../net/runelite/cache/TextureDumper.java | 2 +- .../net/runelite/cache/UnderlayDumper.java | 2 +- .../java/net/runelite/cache/VarbitDumper.java | 2 +- .../runelite/cache/WorldMapDumperTest.java | 2 +- .../runelite/http/api/chat/ChatClient.java | 168 ++++++------------ .../net/runelite/http/api/chat/Duels.java | 36 ---- .../http/service/chat/ChatController.java | 2 +- .../http/service/chat/ChatService.java | 2 +- .../main/java/net/runelite/api/Client.java | 4 - .../client/config/ChatColorConfig.java | 2 +- .../chatcommands/ChatCommandsConfig.java | 11 -- .../chatcommands/ChatCommandsPlugin.java | 139 +-------------- .../plugins/devtools/DevToolsButton.java | 1 - .../InterfaceStylesConfig.java | 10 -- .../InterfaceStylesPlugin.java | 78 -------- .../plugins/interfacestyles/WidgetOffset.java | 24 +-- .../loottracker/LootTrackerPlugin.java | 7 +- .../plugins/worldmap/RareTreeLocation.java | 13 +- .../plugins/interfacestyles/2005/900.png | Bin 8357 -> 924 bytes .../interfacestyles/rs3/cross_sprites/0.png | Bin 15717 -> 0 bytes .../interfacestyles/rs3/cross_sprites/1.png | Bin 15729 -> 0 bytes .../interfacestyles/rs3/cross_sprites/2.png | Bin 15819 -> 0 bytes .../interfacestyles/rs3/cross_sprites/3.png | Bin 15896 -> 0 bytes .../interfacestyles/rs3/cross_sprites/4.png | Bin 15689 -> 0 bytes .../interfacestyles/rs3/cross_sprites/5.png | Bin 15691 -> 0 bytes .../interfacestyles/rs3/cross_sprites/6.png | Bin 15701 -> 0 bytes .../interfacestyles/rs3/cross_sprites/7.png | Bin 15684 -> 0 bytes .../chatcommands/ChatCommandsPluginTest.java | 37 +--- .../java/net/runelite/rs/api/RSClient.java | 4 - 39 files changed, 96 insertions(+), 470 deletions(-) delete mode 100644 http-api/src/main/java/net/runelite/http/api/chat/Duels.java delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/0.png delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/1.png delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/2.png delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/3.png delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/4.png delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/5.png delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/6.png delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/7.png diff --git a/cache/src/test/java/net/runelite/cache/AreaDumper.java b/cache/src/test/java/net/runelite/cache/AreaDumper.java index 2aab1db48b..b789d78a0d 100644 --- a/cache/src/test/java/net/runelite/cache/AreaDumper.java +++ b/cache/src/test/java/net/runelite/cache/AreaDumper.java @@ -64,7 +64,7 @@ public class AreaDumper for (AreaDefinition area : areaManager.getAreas()) { - Files.asCharSink(new File(outDir, area.id + ".json"), Charset.defaultCharset()).write(gson.toJson(area)); + Files.write(gson.toJson(area), new File(outDir, area.id + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/EnumDumperTest.java b/cache/src/test/java/net/runelite/cache/EnumDumperTest.java index 705356b0b5..a094b9fc24 100644 --- a/cache/src/test/java/net/runelite/cache/EnumDumperTest.java +++ b/cache/src/test/java/net/runelite/cache/EnumDumperTest.java @@ -80,7 +80,7 @@ public class EnumDumperTest if (def != null) { - Files.asCharSink(new File(dumpDir, file.getFileId() + ".json"), Charset.defaultCharset()).write(gson.toJson(def)); + Files.write(gson.toJson(def), new File(dumpDir, file.getFileId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/FrameDumper.java b/cache/src/test/java/net/runelite/cache/FrameDumper.java index 8e856cd2f8..2bd7e2ca17 100644 --- a/cache/src/test/java/net/runelite/cache/FrameDumper.java +++ b/cache/src/test/java/net/runelite/cache/FrameDumper.java @@ -101,7 +101,7 @@ public class FrameDumper frames.add(frame); } - Files.asCharSink(new File(outDir, archive.getArchiveId() + ".json"), Charset.defaultCharset()).write(gson.toJson(frames)); + Files.write(gson.toJson(frames), new File(outDir, archive.getArchiveId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/FramemapDumper.java b/cache/src/test/java/net/runelite/cache/FramemapDumper.java index f95e92c9fa..4513bf3dfb 100644 --- a/cache/src/test/java/net/runelite/cache/FramemapDumper.java +++ b/cache/src/test/java/net/runelite/cache/FramemapDumper.java @@ -74,7 +74,7 @@ public class FramemapDumper FramemapLoader loader = new FramemapLoader(); FramemapDefinition framemap = loader.load(0, contents); - Files.asCharSink(new File(outDir, archive.getArchiveId() + ".json"), Charset.defaultCharset()).write(gson.toJson(framemap)); + Files.write(gson.toJson(framemap), new File(outDir, archive.getArchiveId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/InventoryDumper.java b/cache/src/test/java/net/runelite/cache/InventoryDumper.java index f74c4ce188..4caf464141 100644 --- a/cache/src/test/java/net/runelite/cache/InventoryDumper.java +++ b/cache/src/test/java/net/runelite/cache/InventoryDumper.java @@ -77,7 +77,7 @@ public class InventoryDumper InventoryLoader loader = new InventoryLoader(); InventoryDefinition inv = loader.load(file.getFileId(), file.getContents()); - Files.asCharSink(new File(outDir, inv.id + ".json"), Charset.defaultCharset()).write(gson.toJson(inv)); + Files.write(gson.toJson(inv), new File(outDir, inv.id + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/KitDumperTest.java b/cache/src/test/java/net/runelite/cache/KitDumperTest.java index 4db1267506..286ca6ea8e 100644 --- a/cache/src/test/java/net/runelite/cache/KitDumperTest.java +++ b/cache/src/test/java/net/runelite/cache/KitDumperTest.java @@ -78,7 +78,7 @@ public class KitDumperTest KitDefinition def = loader.load(file.getFileId(), b); - Files.asCharSink(new File(dumpDir, file.getFileId() + ".json"), Charset.defaultCharset()).write(gson.toJson(def)); + Files.write(gson.toJson(def), new File(dumpDir, file.getFileId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/OverlayDumper.java b/cache/src/test/java/net/runelite/cache/OverlayDumper.java index 51457192b7..4ac4b53a7c 100644 --- a/cache/src/test/java/net/runelite/cache/OverlayDumper.java +++ b/cache/src/test/java/net/runelite/cache/OverlayDumper.java @@ -77,7 +77,7 @@ public class OverlayDumper OverlayLoader loader = new OverlayLoader(); OverlayDefinition overlay = loader.load(file.getFileId(), file.getContents()); - Files.asCharSink(new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()).write(gson.toJson(overlay)); + Files.write(gson.toJson(overlay), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/SequenceDumper.java b/cache/src/test/java/net/runelite/cache/SequenceDumper.java index 485bd3d84f..94dd175bbb 100644 --- a/cache/src/test/java/net/runelite/cache/SequenceDumper.java +++ b/cache/src/test/java/net/runelite/cache/SequenceDumper.java @@ -77,7 +77,7 @@ public class SequenceDumper SequenceLoader loader = new SequenceLoader(); SequenceDefinition seq = loader.load(file.getFileId(), file.getContents()); - Files.asCharSink(new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()).write(gson.toJson(seq)); + Files.write(gson.toJson(seq), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/SoundEffectsDumperTest.java b/cache/src/test/java/net/runelite/cache/SoundEffectsDumperTest.java index 5ac0c9e1c5..c2a420c0de 100644 --- a/cache/src/test/java/net/runelite/cache/SoundEffectsDumperTest.java +++ b/cache/src/test/java/net/runelite/cache/SoundEffectsDumperTest.java @@ -71,7 +71,7 @@ public class SoundEffectsDumperTest SoundEffectLoader soundEffectLoader = new SoundEffectLoader(); SoundEffectDefinition soundEffect = soundEffectLoader.load(contents); - Files.asCharSink(new File(dumpDir, archive.getArchiveId() + ".json"), Charset.defaultCharset()).write(gson.toJson(soundEffect)); + Files.write(gson.toJson(soundEffect), new File(dumpDir, archive.getArchiveId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/StructManagerTest.java b/cache/src/test/java/net/runelite/cache/StructManagerTest.java index f1a1fb22ca..470df61bc0 100644 --- a/cache/src/test/java/net/runelite/cache/StructManagerTest.java +++ b/cache/src/test/java/net/runelite/cache/StructManagerTest.java @@ -64,7 +64,7 @@ public class StructManagerTest { StructDefinition def = struct.getValue(); - Files.asCharSink(new File(dumpDir, struct.getKey() + ".json"), Charset.defaultCharset()).write(gson.toJson(def)); + Files.write(gson.toJson(def), new File(dumpDir, struct.getKey() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/TextureDumper.java b/cache/src/test/java/net/runelite/cache/TextureDumper.java index 0aba683504..cdcdbd9f6a 100644 --- a/cache/src/test/java/net/runelite/cache/TextureDumper.java +++ b/cache/src/test/java/net/runelite/cache/TextureDumper.java @@ -64,7 +64,7 @@ public class TextureDumper for (TextureDefinition texture : tm.getTextures()) { - Files.asCharSink(new File(outDir, texture.getId() + ".json"), Charset.defaultCharset()).write(gson.toJson(texture)); + Files.write(gson.toJson(texture), new File(outDir, texture.getId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/UnderlayDumper.java b/cache/src/test/java/net/runelite/cache/UnderlayDumper.java index 04f2997530..db735d40cf 100644 --- a/cache/src/test/java/net/runelite/cache/UnderlayDumper.java +++ b/cache/src/test/java/net/runelite/cache/UnderlayDumper.java @@ -77,7 +77,7 @@ public class UnderlayDumper UnderlayLoader loader = new UnderlayLoader(); UnderlayDefinition underlay = loader.load(file.getFileId(), file.getContents()); - Files.asCharSink(new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()).write(gson.toJson(underlay)); + Files.write(gson.toJson(underlay), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/VarbitDumper.java b/cache/src/test/java/net/runelite/cache/VarbitDumper.java index 9bcdcf9237..5f75c7a157 100644 --- a/cache/src/test/java/net/runelite/cache/VarbitDumper.java +++ b/cache/src/test/java/net/runelite/cache/VarbitDumper.java @@ -77,7 +77,7 @@ public class VarbitDumper VarbitLoader loader = new VarbitLoader(); VarbitDefinition varbit = loader.load(file.getFileId(), file.getContents()); - Files.asCharSink(new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()).write(gson.toJson(varbit)); + Files.write(gson.toJson(varbit), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/java/net/runelite/cache/WorldMapDumperTest.java b/cache/src/test/java/net/runelite/cache/WorldMapDumperTest.java index 92b2582a91..8d8dd956c4 100644 --- a/cache/src/test/java/net/runelite/cache/WorldMapDumperTest.java +++ b/cache/src/test/java/net/runelite/cache/WorldMapDumperTest.java @@ -77,7 +77,7 @@ public class WorldMapDumperTest WorldMapLoader loader = new WorldMapLoader(); WorldMapDefinition def = loader.load(file.getContents(), file.getFileId()); - Files.asCharSink(new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()).write(gson.toJson(def)); + Files.write(gson.toJson(def), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java b/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java index bd8c83f5ef..3e9ffe3fd9 100644 --- a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java +++ b/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java @@ -39,8 +39,8 @@ import okhttp3.Response; public class ChatClient { private static final Predicate LAYOUT_VALIDATOR = Pattern - .compile("\\[[A-Z]+]:(\\s*\\w+\\s*(\\([A-Za-z]+\\))?,?)+") - .asPredicate(); + .compile("\\[[A-Z]+]:(\\s*\\w+\\s*(\\([A-Za-z]+\\))?,?)+") + .asPredicate(); public boolean submitKc(String username, String boss, int kc) throws IOException { @@ -237,7 +237,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = RuneLiteAPI.RLP_CLIENT.newCall(request).execute()) { return response.isSuccessful(); } @@ -273,16 +273,16 @@ public class ChatClient } HttpUrl url = RuneLiteAPI.getPlusApiBase().newBuilder() - .addPathSegment("chat") - .addPathSegment("layout") - .addQueryParameter("name", username) - .addQueryParameter("layout", layout) - .build(); + .addPathSegment("chat") + .addPathSegment("layout") + .addQueryParameter("name", username) + .addQueryParameter("layout", layout) + .build(); Request request = new Request.Builder() - .post(RequestBody.create(null, new byte[0])) - .url(url) - .build(); + .post(RequestBody.create(null, new byte[0])) + .url(url) + .build(); try (Response response = RuneLiteAPI.RLP_CLIENT.newCall(request).execute()) { @@ -290,40 +290,17 @@ public class ChatClient } } - public boolean submitDuels(String username, int wins, int losses, int winningStreak, int losingStreak) throws IOException - { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() - .addPathSegment("chat") - .addPathSegment("duels") - .addQueryParameter("name", username) - .addQueryParameter("wins", Integer.toString(wins)) - .addQueryParameter("losses", Integer.toString(losses)) - .addQueryParameter("winningStreak", Integer.toString(winningStreak)) - .addQueryParameter("losingStreak", Integer.toString(losingStreak)) - .build(); - - Request request = new Request.Builder() - .post(RequestBody.create(null, new byte[0])) - .url(url) - .build(); - - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) - { - return response.isSuccessful(); - } - } - public String getLayout(String username) throws IOException { HttpUrl url = RuneLiteAPI.getPlusApiBase().newBuilder() - .addPathSegment("chat") - .addPathSegment("layout") - .addQueryParameter("name", username) - .build(); + .addPathSegment("chat") + .addPathSegment("layout") + .addQueryParameter("name", username) + .build(); Request request = new Request.Builder() - .url(url) - .build(); + .url(url) + .build(); try (Response response = RuneLiteAPI.RLP_CLIENT.newCall(request).execute()) { @@ -351,15 +328,15 @@ public class ChatClient public House[] getHosts(int world, String location) throws IOException { HttpUrl url = RuneLiteAPI.getPlusApiBase().newBuilder() - .addPathSegment("chat") - .addPathSegment("hosts") - .addQueryParameter("world", Integer.toString(world)) - .addQueryParameter("location", location) - .build(); + .addPathSegment("chat") + .addPathSegment("hosts") + .addQueryParameter("world", Integer.toString(world)) + .addQueryParameter("location", location) + .build(); Request request = new Request.Builder() - .url(url) - .build(); + .url(url) + .build(); try (Response response = RuneLiteAPI.RLP_CLIENT.newCall(request).execute()) { @@ -370,35 +347,6 @@ public class ChatClient InputStream in = response.body().byteStream(); return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), House[].class); - - } - catch (JsonParseException ex) - { - throw new IOException(ex); - } - } - - public Duels getDuels(String username) throws IOException - { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() - .addPathSegment("chat") - .addPathSegment("duels") - .addQueryParameter("name", username) - .build(); - - Request request = new Request.Builder() - .url(url) - .build(); - - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) - { - if (!response.isSuccessful()) - { - throw new IOException("Unable to look up duels!"); - } - - InputStream in = response.body().byteStream(); - return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), Duels.class); } catch (JsonParseException ex) { @@ -409,24 +357,24 @@ public class ChatClient public boolean submitHost(int world, String location, House house) throws IOException { HttpUrl url = RuneLiteAPI.getPlusApiBase().newBuilder() - .addPathSegment("chat") - .addPathSegment("hosts") - .addQueryParameter("world", Integer.toString(world)) - .addQueryParameter("location", location) - .addQueryParameter("owner", house.getOwner()) - .addQueryParameter("guildedAltar", Boolean.toString(house.isGuildedAltarPresent())) - .addQueryParameter("occultAltar", Boolean.toString(house.isOccultAltarPresent())) - .addQueryParameter("spiritTree", Boolean.toString(house.isSpiritTreePresent())) - .addQueryParameter("fairyRing", Boolean.toString(house.isFairyRingPresent())) - .addQueryParameter("wildernessObelisk", Boolean.toString(house.isWildernessObeliskPresent())) - .addQueryParameter("repairStand", Boolean.toString(house.isRepairStandPresent())) - .addQueryParameter("combatDummy", Boolean.toString(house.isCombatDummyPresent())) - .build(); + .addPathSegment("chat") + .addPathSegment("hosts") + .addQueryParameter("world", Integer.toString(world)) + .addQueryParameter("location", location) + .addQueryParameter("owner", house.getOwner()) + .addQueryParameter("guildedAltar", Boolean.toString(house.isGuildedAltarPresent())) + .addQueryParameter("occultAltar", Boolean.toString(house.isOccultAltarPresent())) + .addQueryParameter("spiritTree", Boolean.toString(house.isSpiritTreePresent())) + .addQueryParameter("fairyRing", Boolean.toString(house.isFairyRingPresent())) + .addQueryParameter("wildernessObelisk", Boolean.toString(house.isWildernessObeliskPresent())) + .addQueryParameter("repairStand", Boolean.toString(house.isRepairStandPresent())) + .addQueryParameter("combatDummy", Boolean.toString(house.isCombatDummyPresent())) + .build(); Request request = new Request.Builder() - .post(RequestBody.create(null, new byte[0])) - .url(url) - .build(); + .post(RequestBody.create(null, new byte[0])) + .url(url) + .build(); try (Response response = RuneLiteAPI.RLP_CLIENT.newCall(request).execute()) { @@ -437,29 +385,29 @@ public class ChatClient public boolean removeHost(int world, String location, House house) throws IOException { HttpUrl url = RuneLiteAPI.getPlusApiBase().newBuilder() - .addPathSegment("chat") - .addPathSegment("hosts") - .addQueryParameter("world", Integer.toString(world)) - .addQueryParameter("location", location) - .addQueryParameter("owner", house.getOwner()) - .addQueryParameter("guildedAltar", Boolean.toString(house.isGuildedAltarPresent())) - .addQueryParameter("occultAltar", Boolean.toString(house.isOccultAltarPresent())) - .addQueryParameter("spiritTree", Boolean.toString(house.isSpiritTreePresent())) - .addQueryParameter("fairyRing", Boolean.toString(house.isFairyRingPresent())) - .addQueryParameter("wildernessObelisk", Boolean.toString(house.isWildernessObeliskPresent())) - .addQueryParameter("repairStand", Boolean.toString(house.isRepairStandPresent())) - .addQueryParameter("combatDummy", Boolean.toString(house.isCombatDummyPresent())) - .addQueryParameter("remove", Boolean.toString(true)) - .build(); + .addPathSegment("chat") + .addPathSegment("hosts") + .addQueryParameter("world", Integer.toString(world)) + .addQueryParameter("location", location) + .addQueryParameter("owner", house.getOwner()) + .addQueryParameter("guildedAltar", Boolean.toString(house.isGuildedAltarPresent())) + .addQueryParameter("occultAltar", Boolean.toString(house.isOccultAltarPresent())) + .addQueryParameter("spiritTree", Boolean.toString(house.isSpiritTreePresent())) + .addQueryParameter("fairyRing", Boolean.toString(house.isFairyRingPresent())) + .addQueryParameter("wildernessObelisk", Boolean.toString(house.isWildernessObeliskPresent())) + .addQueryParameter("repairStand", Boolean.toString(house.isRepairStandPresent())) + .addQueryParameter("combatDummy", Boolean.toString(house.isCombatDummyPresent())) + .addQueryParameter("remove", Boolean.toString(true)) + .build(); Request request = new Request.Builder() - .post(RequestBody.create(null, new byte[0])) - .url(url) - .build(); + .post(RequestBody.create(null, new byte[0])) + .url(url) + .build(); try (Response response = RuneLiteAPI.RLP_CLIENT.newCall(request).execute()) { return response.isSuccessful(); } } -} \ No newline at end of file +} diff --git a/http-api/src/main/java/net/runelite/http/api/chat/Duels.java b/http-api/src/main/java/net/runelite/http/api/chat/Duels.java deleted file mode 100644 index ba117a526a..0000000000 --- a/http-api/src/main/java/net/runelite/http/api/chat/Duels.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2019, Adam - * 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.http.api.chat; - -import lombok.Data; - -@Data -public class Duels -{ - private int wins; - private int losses; - private int winningStreak; - private int losingStreak; -} diff --git a/http-service/src/main/java/net/runelite/http/service/chat/ChatController.java b/http-service/src/main/java/net/runelite/http/service/chat/ChatController.java index df287e6512..5aa1b8144b 100644 --- a/http-service/src/main/java/net/runelite/http/service/chat/ChatController.java +++ b/http-service/src/main/java/net/runelite/http/service/chat/ChatController.java @@ -100,4 +100,4 @@ public class ChatController { return chatService.getHosts(world, location); } -} \ No newline at end of file +} diff --git a/http-service/src/main/java/net/runelite/http/service/chat/ChatService.java b/http-service/src/main/java/net/runelite/http/service/chat/ChatService.java index aa23d3f18d..ebce4c49a0 100644 --- a/http-service/src/main/java/net/runelite/http/service/chat/ChatService.java +++ b/http-service/src/main/java/net/runelite/http/service/chat/ChatService.java @@ -117,4 +117,4 @@ public class ChatService jedis.lrem(key, 0, json); } } -} \ No newline at end of file +} diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index d03116c58d..604478d6f3 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1626,10 +1626,6 @@ public interface Client extends GameShell * Returns client item composition cache */ NodeCache getItemDefinitionCache(); - /** - * Returns the array of cross sprites that appear and animate when left-clicking - */ - Sprite[] getCrossSprites(); EnumDefinition getEnum(int id); diff --git a/runelite-client/src/main/java/net/runelite/client/config/ChatColorConfig.java b/runelite-client/src/main/java/net/runelite/client/config/ChatColorConfig.java index c9a3e40d3d..0bcf67341c 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ChatColorConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ChatColorConfig.java @@ -451,7 +451,7 @@ public interface ChatColorConfig extends Config ) default Color transparentExamineHighlight() { - return Color.GREEN; + return Color.decode("#0000FF"); } @ConfigItem( diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsConfig.java index 5a08937345..92987467d0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsConfig.java @@ -110,17 +110,6 @@ public interface ChatCommandsConfig extends Config @ConfigItem( position = 7, - keyName = "duels", - name = "Duels Command", - description = "Configures whether the duel arena command is enabled
!duels" - ) - default boolean duels() - { - return true; - } - - @ConfigItem( - position = 8, keyName = "clearShortcuts", name = "Clear shortcuts", description = "Enable shortcuts (ctrl+w and backspace) for clearing the chatbox" diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 079f1cdba6..269c116c76 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -64,7 +64,6 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.util.StackFormatter; import static net.runelite.client.util.Text.sanitize; import net.runelite.http.api.chat.ChatClient; -import net.runelite.http.api.chat.Duels; import net.runelite.http.api.hiscore.HiscoreClient; import net.runelite.http.api.hiscore.HiscoreEndpoint; import net.runelite.http.api.hiscore.HiscoreResult; @@ -90,8 +89,6 @@ public class ChatCommandsPlugin extends Plugin private static final Pattern BARROWS_PATTERN = Pattern.compile("Your Barrows chest count is: (\\d+)"); private static final Pattern KILL_DURATION_PATTERN = Pattern.compile("Fight duration: [0-9:]+. Personal best: ([0-9:]+)"); private static final Pattern NEW_PB_PATTERN = Pattern.compile("Fight duration: ([0-9:]+) \\(new personal best\\)"); - private static final Pattern DUEL_ARENA_WINS_PATTERN = Pattern.compile("You (were defeated|won)! You have(?: now)? won (\\d+) duels?"); - private static final Pattern DUEL_ARENA_LOSSES_PATTERN = Pattern.compile("You have(?: now)? lost (\\d+) duels?"); private static final String TOTAL_LEVEL_COMMAND_STRING = "!total"; private static final String PRICE_COMMAND_STRING = "!price"; private static final String LEVEL_COMMAND_STRING = "!lvl"; @@ -101,7 +98,6 @@ public class ChatCommandsPlugin extends Plugin private static final String QP_COMMAND_STRING = "!qp"; private static final String GC_COMMAND_STRING = "!gc"; private static final String PB_COMMAND = "!pb"; - private static final String DUEL_ARENA_COMMAND = "!duels"; private final HiscoreClient hiscoreClient = new HiscoreClient(); private final ChatClient chatClient = new ChatClient(); @@ -152,7 +148,6 @@ public class ChatCommandsPlugin extends Plugin chatCommandManager.registerCommandAsync(QP_COMMAND_STRING, this::questPointsLookup, this::questPointsSubmit); chatCommandManager.registerCommandAsync(GC_COMMAND_STRING, this::gambleCountLookup, this::gambleCountSubmit); chatCommandManager.registerCommandAsync(PB_COMMAND, this::personalBestLookup, this::personalBestSubmit); - chatCommandManager.registerCommandAsync(DUEL_ARENA_COMMAND, this::duelArenaLookup, this::duelArenaSubmit); } @Override @@ -171,7 +166,6 @@ public class ChatCommandsPlugin extends Plugin chatCommandManager.unregisterCommand(QP_COMMAND_STRING); chatCommandManager.unregisterCommand(PB_COMMAND); chatCommandManager.unregisterCommand(GC_COMMAND_STRING); - chatCommandManager.unregisterCommand(DUEL_ARENA_COMMAND); } @Provides @@ -209,9 +203,7 @@ public class ChatCommandsPlugin extends Plugin @Subscribe public void onChatMessage(ChatMessage chatMessage) { - if (chatMessage.getType() != ChatMessageType.TRADE - && chatMessage.getType() != ChatMessageType.GAMEMESSAGE - && chatMessage.getType() != ChatMessageType.SPAM) + if (chatMessage.getType() != ChatMessageType.GAMEMESSAGE && chatMessage.getType() != ChatMessageType.SPAM) { return; } @@ -247,43 +239,6 @@ public class ChatCommandsPlugin extends Plugin return; } - matcher = DUEL_ARENA_WINS_PATTERN.matcher(message); - if (matcher.find()) - { - final int oldWins = getKc("Duel Arena Wins"); - final int wins = Integer.parseInt(matcher.group(2)); - final String result = matcher.group(1); - int winningStreak = getKc("Duel Arena Win Streak"); - int losingStreak = getKc("Duel Arena Lose Streak"); - - if (result.equals("won") && wins > oldWins) - { - losingStreak = 0; - winningStreak += 1; - } - else if (result.equals("were defeated")) - { - losingStreak += 1; - winningStreak = 0; - } - else - { - log.warn("unrecognized duel streak chat message: {}", message); - } - - setKc("Duel Arena Wins", wins); - setKc("Duel Arena Win Streak", winningStreak); - setKc("Duel Arena Lose Streak", losingStreak); - } - - matcher = DUEL_ARENA_LOSSES_PATTERN.matcher(message); - if (matcher.find()) - { - int losses = Integer.parseInt(matcher.group(1)); - - setKc("Duel Arena Losses", losses); - } - matcher = BARROWS_PATTERN.matcher(message); if (matcher.find()) { @@ -464,96 +419,6 @@ public class ChatCommandsPlugin extends Plugin client.refreshChat(); } - private boolean duelArenaSubmit(ChatInput chatInput, String value) - { - final int wins = getKc("Duel Arena Wins"); - final int losses = getKc("Duel Arena Losses"); - final int winningStreak = getKc("Duel Arena Win Streak"); - final int losingStreak = getKc("Duel Arena Lose Streak"); - - if (wins <= 0 && losses <= 0 && winningStreak <= 0 && losingStreak <= 0) - { - return false; - } - - final String playerName = client.getLocalPlayer().getName(); - - executor.execute(() -> - { - try - { - chatClient.submitDuels(playerName, wins, losses, winningStreak, losingStreak); - } - catch (Exception ex) - { - log.warn("unable to submit duels", ex); - } - finally - { - chatInput.resume(); - } - }); - - return true; - } - - private void duelArenaLookup(ChatMessage chatMessage, String message) - { - if (!config.duels()) - { - return; - } - - ChatMessageType type = chatMessage.getType(); - - final String player; - if (type == ChatMessageType.PRIVATECHATOUT) - { - player = client.getLocalPlayer().getName(); - } - else - { - player = sanitize(chatMessage.getName()); - } - - Duels duels; - try - { - duels = chatClient.getDuels(player); - } - catch (IOException ex) - { - log.debug("unable to lookup duels", ex); - return; - } - - final int wins = duels.getWins(); - final int losses = duels.getLosses(); - final int winningStreak = duels.getWinningStreak(); - final int losingStreak = duels.getLosingStreak(); - - String response = new ChatMessageBuilder() - .append(ChatColorType.NORMAL) - .append("Duel Arena wins: ") - .append(ChatColorType.HIGHLIGHT) - .append(Integer.toString(wins)) - .append(ChatColorType.NORMAL) - .append(" losses: ") - .append(ChatColorType.HIGHLIGHT) - .append(Integer.toString(losses)) - .append(ChatColorType.NORMAL) - .append(" streak: ") - .append(ChatColorType.HIGHLIGHT) - .append(Integer.toString((winningStreak != 0 ? winningStreak : -losingStreak))) - .build(); - - log.debug("Setting response {}", response); - final MessageNode messageNode = chatMessage.getMessageNode(); - messageNode.setRuneLiteFormatMessage(response); - chatMessageManager.update(messageNode); - client.refreshChat(); - } - private void questPointsLookup(ChatMessage chatMessage, String message) { if (!config.qp()) @@ -1366,4 +1231,4 @@ public class ChatCommandsPlugin extends Plugin return WordUtils.capitalize(boss); } } -} \ No newline at end of file +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsButton.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsButton.java index e21af75f5a..52de0309a9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsButton.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsButton.java @@ -37,7 +37,6 @@ class DevToolsButton extends JButton { super(title); addActionListener((ev) -> setActive(!active)); - this.setToolTipText(title); } void setActive(boolean active) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesConfig.java index 3f64778e52..540186558c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesConfig.java @@ -62,14 +62,4 @@ public interface InterfaceStylesConfig extends Config { return false; } - - @ConfigItem( - keyName = "rsCrossSprites", - name = "RuneScape cross sprites", - description = "Replaces left-click cross sprites with the ones in RuneScape" - ) - default boolean rsCrossSprites() - { - return false; - } } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java index 6944a982d7..fa70dff0fc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java @@ -31,13 +31,11 @@ import java.awt.image.BufferedImage; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import net.runelite.api.GameState; import net.runelite.api.HealthBar; import net.runelite.api.SpriteID; import net.runelite.api.Sprite; import net.runelite.api.events.BeforeMenuRender; import net.runelite.api.events.ConfigChanged; -import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.PostHealthBar; import net.runelite.api.events.WidgetPositioned; import net.runelite.api.widgets.Widget; @@ -71,8 +69,6 @@ public class InterfaceStylesPlugin extends Plugin @Inject private SpriteManager spriteManager; - private Sprite[] defaultCrossSprites; - @Provides InterfaceStylesConfig provideConfig(ConfigManager configManager) { @@ -93,7 +89,6 @@ public class InterfaceStylesPlugin extends Plugin restoreWidgetDimensions(); removeGameframe(); restoreHealthBars(); - restoreCrossSprites(); }); } @@ -131,22 +126,6 @@ public class InterfaceStylesPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) - { - if (gameStateChanged.getGameState() != GameState.LOGIN_SCREEN) - { - return; - } - - /* - * The cross sprites aren't loaded yet when the initial config change event is received. - * So run the overriding for cross sprites when we reach the login screen, - * at which point the cross sprites will have been loaded. - */ - overrideCrossSprites(); - } - private void updateAllOverrides() { removeGameframe(); @@ -155,7 +134,6 @@ public class InterfaceStylesPlugin extends Plugin restoreWidgetDimensions(); adjustWidgetDimensions(); overrideHealthBars(); - overrideCrossSprites(); } @Subscribe @@ -305,62 +283,6 @@ public class InterfaceStylesPlugin extends Plugin clientThread.invokeLater(client::resetHealthBarCaches); } - private void overrideCrossSprites() - { - if (config.rsCrossSprites()) - { - // If we've already replaced them, - // we don't need to replace them again - if (defaultCrossSprites != null) - { - return; - } - - Sprite[] crossSprites = client.getCrossSprites(); - - if (crossSprites == null) - { - return; - } - - defaultCrossSprites = new Sprite[crossSprites.length]; - System.arraycopy(crossSprites, 0, defaultCrossSprites, 0, defaultCrossSprites.length); - - for (int i = 0; i < crossSprites.length; i++) - { - Sprite newSprite = getFileSpritePixels("rs3/cross_sprites/" + i + ".png"); - - if (newSprite == null) - { - continue; - } - - crossSprites[i] = newSprite; - } - } - else - { - restoreCrossSprites(); - } - } - - private void restoreCrossSprites() - { - if (defaultCrossSprites == null) - { - return; - } - - Sprite[] crossSprites = client.getCrossSprites(); - - if (crossSprites != null && defaultCrossSprites.length == crossSprites.length) - { - System.arraycopy(defaultCrossSprites, 0, crossSprites, 0, defaultCrossSprites.length); - } - - defaultCrossSprites = null; - } - private void restoreWidgetDimensions() { for (WidgetOffset widgetOffset : WidgetOffset.values()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/WidgetOffset.java b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/WidgetOffset.java index 9edf17165e..fe61af1af7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/WidgetOffset.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/WidgetOffset.java @@ -118,33 +118,33 @@ enum WidgetOffset FIXED_2005_INTERFACE_CONTAINER(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_INTERFACE_CONTAINER, 7, null, null, null), FIXED_2005_BANK_CONTAINER(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_BANK_CONTAINER, 7, null, null, null), FIXED_2005_COMBAT_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_COMBAT_TAB, 19, 2, null, null), - FIXED_2005_COMBAT_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_COMBAT_ICON, 28, 1, null, null), + FIXED_2005_COMBAT_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_COMBAT_ICON, 26, null, null, null), FIXED_2005_STATS_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_STATS_TAB, 55, null, 30, null), - FIXED_2005_STATS_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_STATS_ICON, 51, null, null, null), + FIXED_2005_STATS_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_STATS_ICON, 53, null, null, null), FIXED_2005_QUESTS_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_QUESTS_TAB, 82, 1, 30, null), - FIXED_2005_QUESTS_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_QUESTS_ICON, 80, null, null, null), + FIXED_2005_QUESTS_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_QUESTS_ICON, 81, null, null, null), FIXED_2005_INVENTORY_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_INVENTORY_TAB, null, null, 45, null), - FIXED_2005_INVENTORY_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_INVENTORY_ICON, 113, 1, null, null), + FIXED_2005_INVENTORY_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_INVENTORY_ICON, 115, null, null, null), FIXED_2005_EQUIPMENT_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_EQUIPMENT_TAB, 153, 1, 30, null), - FIXED_2005_EQUIPMENT_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_EQUIPMENT_ICON, 151, 4, null, null), + FIXED_2005_EQUIPMENT_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_EQUIPMENT_ICON, 152, 4, null, null), FIXED_2005_PRAYER_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_PRAYER_TAB, 180, null, 32, null), - FIXED_2005_PRAYER_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_PRAYER_ICON, 178, null, null, null), + FIXED_2005_PRAYER_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_PRAYER_ICON, 180, null, null, null), FIXED_2005_MAGIC_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_MAGIC_TAB, 209, 1, 30, null), - FIXED_2005_MAGIC_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_MAGIC_ICON, 206, 2, null, null), + FIXED_2005_MAGIC_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_MAGIC_ICON, 206, 3, null, null), FIXED_2005_CLAN_CHAT_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_CLAN_CHAT_TAB, 15, null, null, null), FIXED_2005_CLAN_CHAT_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_CLAN_CHAT_ICON, 22, 0, null, null), FIXED_2005_FRIENDS_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_FRIENDS_TAB, 51, null, 30, null), - FIXED_2005_FRIENDS_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_FRIENDS_ICON, 49, -1, null, null), + FIXED_2005_FRIENDS_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_FRIENDS_ICON, 50, null, null, null), FIXED_2005_IGNORES_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_IGNORES_TAB, 79, null, 30, null), FIXED_2005_IGNORES_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_IGNORES_ICON, 78, null, null, null), FIXED_2005_LOGOUT_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_LOGOUT_TAB, 107, 1, 45, null), - FIXED_2005_LOGOUT_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_LOGOUT_ICON, 112, null, null, null), + FIXED_2005_LOGOUT_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_LOGOUT_ICON, 114, 1, null, null), FIXED_2005_OPTIONS_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_OPTIONS_TAB, 150, null, 30, null), - FIXED_2005_OPTIONS_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_OPTIONS_ICON, 148, -1, null, null), + FIXED_2005_OPTIONS_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_OPTIONS_ICON, 149, null, null, null), FIXED_2005_EMOTES_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_EMOTES_TAB, 178, null, 30, null), - FIXED_2005_EMOTES_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_EMOTES_ICON, 178, 1, null, null), + FIXED_2005_EMOTES_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_EMOTES_ICON, 179, null, null, null), FIXED_2005_MUSIC_HIGHLIGHT(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_MUSIC_TAB, 206, null, 30, null), - FIXED_2005_MUSIC_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_MUSIC_ICON, 202, 2, null, null); + FIXED_2005_MUSIC_ICON(Skin.AROUND_2005, WidgetInfo.FIXED_VIEWPORT_MUSIC_ICON, 202, 5, null, null); private Skin skin; private WidgetInfo widgetInfo; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index bea6d2d477..7c21c9f7dc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -129,12 +129,9 @@ public class LootTrackerPlugin extends Plugin // Chest loot handling private static final String CHEST_LOOTED_MESSAGE = "You find some treasure in the chest!"; - private static final Pattern LARRAN_LOOTED_PATTERN = Pattern.compile("You have opened Larran's (big|small) chest .*"); private static final Map CHEST_EVENT_TYPES = ImmutableMap.of( 5179, "Brimstone Chest", - 11573, "Crystal Chest", - 12093, "Larran's big chest", - 13113, "Larran's small chest" + 11573, "Crystal Chest" ); private static final File LOOT_RECORDS_FILE = new File(RuneLite.RUNELITE_DIR, "lootRecords.json"); private static final Set RESPAWN_REGIONS = ImmutableSet.of( @@ -541,7 +538,7 @@ public class LootTrackerPlugin extends Plugin final String message = event.getMessage(); - if (message.equals(CHEST_LOOTED_MESSAGE) || LARRAN_LOOTED_PATTERN.matcher(message).matches()) + if (message.equals(CHEST_LOOTED_MESSAGE)) { final int regionID = client.getLocalPlayer().getWorldLocation().getRegionID(); if (!CHEST_EVENT_TYPES.containsKey(regionID)) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RareTreeLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RareTreeLocation.java index 843d6eb645..d32dee4c32 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RareTreeLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RareTreeLocation.java @@ -67,7 +67,6 @@ enum RareTreeLocation new WorldPoint(1640, 3496, 0), new WorldPoint(1613, 3494, 0), new WorldPoint(1560, 3636, 0), - new WorldPoint(1646, 3590, 0), // Miscellania new WorldPoint(2550, 3869, 0), @@ -110,8 +109,9 @@ enum RareTreeLocation new WorldPoint(1353, 3731, 0), new WorldPoint(1529, 3452, 0), new WorldPoint(1591, 3421, 0), - new WorldPoint(1647, 3508, 0), - new WorldPoint(1621, 3512, 0), + new WorldPoint(1647, 3510, 0), + new WorldPoint(1632, 3509, 0), + new WorldPoint(1623, 3512, 0), new WorldPoint(1593, 3491, 0), new WorldPoint(1583, 3499, 0), new WorldPoint(1696, 3554, 0), @@ -119,9 +119,6 @@ enum RareTreeLocation new WorldPoint(1625, 3669, 0), new WorldPoint(1642, 3683, 0), new WorldPoint(1642, 3663, 0), - new WorldPoint(1642, 3533, 0), - new WorldPoint(1671, 3657, 0), - new WorldPoint(1680, 3657, 0), // Tirannwn new WorldPoint(2217, 3141, 0), @@ -190,10 +187,8 @@ enum RareTreeLocation new WorldPoint(1389, 3821, 0), new WorldPoint(1610, 3443, 0), new WorldPoint(1578, 3488, 0), + new WorldPoint(1772, 3510, 0), new WorldPoint(1685, 3740, 0), - new WorldPoint(1681, 3689, 0), - new WorldPoint(1751, 3564, 0), - new WorldPoint(1796, 3600, 0), // Misthalin new WorldPoint(3355, 3312, 0), diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2005/900.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2005/900.png index 80c3b83fc8bcc414459bcfe200b709d6ff07a72c..407e476c549bcba6b12b4add6e3e356e33881326 100644 GIT binary patch delta 902 zcmV;119|+VL7WGWBYyx1a7bBm000XU000XU0RWnu7ytkRPDw;TR9J=WmQQOFQ5400 z$rzA8(-5#^$Rh4a2)gQ`D_4S0-1!Mys7w6>f-cT;qR7<9}}id2-jwM!vGv)(0>- zXz}_my)wri5g2#KhCLW`JVw4^eW2G*0(+m3c=tW!ICAH@@v8|}+R(eHlM1Bj$w3Q% z)9iBTw{AaWIEUlN9s8#Qwr-P2QoqpzV1J$h5adAzolE>iv-rK+Ppue(j>ov8GM5TY z0^<&u`LF~wD}M|ZS`i>`gRb}_fQy+{WHKWsnzGUc94gd$V6#saCoolQhF-$32lv-0 z`dv+Snq6{qu80#5e*}>#{)Y>Q6PCQ-RAB42R^V&g=H9J@aG}>fp1`+Lud-XK;y0SG z20^5X?*XbHv9YREJU+DB({xpC8cmoB2{VC-YJ0>dW`8VmPb~rIE5Oi8h!c<#Ai)Jf zqK?$YYO6R6`}33_QkK7*1WXKj%WEdVD!ToY`|EIL&13ha{(doQ6&?Uxj0vX)q#{9_ z*vW%P;jcF7_EWk5lrq0~vqj@@kEd_Fe6McBoi*8G$95737x3k*!FZ)qD^AQH8ge2o zX3aeL1AiVq+RJ^TifT>OrlFn7YJs?49+)ayFHt6l6#Mg($w7;&FL9L zYUvmj1UCDnIrgS{&%IlTMI>C#ik79ereSiFx2-LyspJ~ED$IJh8h1&6Y_y{g$ zt$ZHnwb-r$a2!K(aDX;VoY+J}%8{=a`HEN1wfttK;u9enE|$lzlK^13-|WATtImS$ zoieFeh%E|sS@qTuxGt#bfVoQYDryyw0Chx6h{WR#&iB5n@LQW*WPUf{ cHU2sL0B!!8K&}`MeE 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 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/0.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/0.png deleted file mode 100644 index b817c474c04ce529e239bb864c3c823625600dca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15717 zcmeI3Ply{;7{Es>i`~-VpF&wC%)DfWCNtBS zNt0a=sy%2yPz1q)BB%(Wh!-z<&|)ii(TfN1B!UOMco0FotZ!zL%;atISlWUpFOWaq z``-6`@B4l4eKT{&_0@Av9-Mz@o?)1SE6cSt^!-5mzJCsVKJxnxKwta)<&BVG4&993 z_q=xU&{2jlpLH7R(R%%?VR_vmu)QWM4!S;?jdZ65KCmvqh;72Q<5mj4efD{Qb?i#v zf>Iai{vzCTmbU|Ve*0X*+P-AzcHvZY-W(XnK^I1V9dtWxXbdWa#IJ#V$HRPqO{PSb zDusnOAiG{)Wf#2wvPx0qEU{E(HN7Y*dRdYmXC*;Yc|qqznG-}q&<#Okhp$3)9{n-{ zyJf7^&J4pLsZ!XCBH!Toe!pMrmx^A{=0#oCc|qbOi9<8EaLbLrfOErRsgseP8Vs$# z@gv7`+1M{=dcCMpD8zxruVG$Ye;mjShwKnVegJ%4EDHQIBikC=_`RT$EX}rf*nwT> zMj^5jr`q|OUgU+F-i(lA^~}JiCiVI__SE%uyHi7l(b5%!V2E_8W!TvAA-@JguNPQw z=?Y5a*tF~;rgx}Xht-)){IubzRyEJ+#oKzpwP1*f5$1}7N|hYk)1W;$I#P6;YT7nz&vI-d3u?7Q z0Cl;og|*F zGv{nqpr--{wR6zP&53idQ7%A$s-|for>kYaK`3jSu9PKC)Krv+CIC?_k8+vfW>=_X zC$9SzR))AX=i%ka(X8%CY;7&6QkL( za5HCjIroMj^`A4J9izVqT~gObT_v+-I|;p3)CU1vXruGAmxh*loixMUPd_DyQF1an z&K(pY1Xu2?3?{5KHWLxDFL6$fmwVIp-T6(DjEd_}3sLZ!f2Gn>3LzE0@+<5=J zGQ_~s=+-81+t9A^qs&GF|E0?9tskZd-(KagOXmNea_LE&?1`g3ySs;)@!gVv`Y-AQ zAnALe$?qD=_Dni|J?^8OUNT=-1@z*@_;YBQSL3D|WYfGFH_a@ccAcmy4WnVhIji`V zF1_D4kDfkYRaKOdV)FPfZn5eNU}wGNp!NSS>3yodz$(yFE^E&Yu64GUk1#l_nw}+ zIC$=R|BDmfKJm%=krQ*PhhIFrbnMpt>p#7F_Hyg(`}WN-_B$WEaNzSdkDzGG%F?;o JN2f17{|_DZ1xWw^ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/1.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/1.png deleted file mode 100644 index a6add2616dc8bf19a883048ea72f95258e1beedc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15729 zcmeI3O^6&t6o6YJYqBIEO2FU`HnYSZVo(3iOgA%=Y<4#8f)kg`YIeOOHPzL#ZDzXL z?w+051xYj@21F#FD4r#^oIC_Pgh+Dprl5Eb!IM$&;6*R4)zkCSQ#(^Ei6BZf%yhqc z_1>%cUe)XFLtj}s{o;Y?$EP`tJFvJ=S;pr>@o(=G{(t)SZGcbv{DrlU;||`Ae-C_k z?BEj|SA5f1S&de!FPYG5W`X6^P`1W*8={PxAo4DVQ_%vrrE zRsA`%?ksEt=*-sX6}WW)8dm0bdAis!v4bXx0N-gg+|cZlGF`tWzK)y44Bzb%T_|N{ ztatoB(CDz~_yutQ!SIdx2LZIVVbnC~JZwo04HlGT%EgitTng+g7t)P#0yxFhofa6-B^3gmBZ1Ku2)HnZ!xoPX&cAaQw*e zTt4;-YF;ZUWioM~!O@#n(;ozK!yY?KQS1O;l(UjJ&d7oT8^0Aaxn~6-HW_%-J1|{pq>~Q=cHO4#2!1|W^-)lFq+@M2zp4zT81l|J`$Hv=(Pff<~Q(E zX2#7va_nJpMm)uuiDO3{XM$O*NzA%SA<0k?&()j@5Qw~B#q%2FWR)%T5%P0$@v6%6 z&z*H#%WH?v7e&%!nD3!CQ~?nxV@pGja)P9-D5@zJOkFxADW)W)oFqL7A63tC?9EXh z`U+mtvS#Y}w2xFz(g)r@7Kp&Eyrlc4{8-Smy`TxAveN{0B>HZ>C=MG_JqN4Gobwu9 zfQN<3YEc~5Jl3k>!B)JiXI+RwoQyD)B%G@5#ytt@qpf{K!zm|a!}6eGnZuyamH{#} zRVd_TU65sD2nMpC0CN!P(8>cvs};p~^I{jnam9YSt)mgs)1i$wUIx{wx#)%wz|&c* zlyO7W!6Vaw4WWjRP%GGZ!N_TfP{qsfo zYBGJ|$v9Kab_9AkaBw*XjZ~j_E*74PhUA(8bE=@p$QBG$s|f{320}r#Gzm%uuywt= z&hcEvxY-eE!HM&}Nu(jp%^CE@XzMWV-NNgGAVhIlDP{U~Wl*Vc*TGTjmM0UyxMY`M zyz7xw6h~Tz!y?U`o$1^ig2aEyd~%HTI&x`MBXQO3HQ7n%*-;w=Xts{`({2h{;&s%F zbU%KVU`E}Y*>LV75h2*Pzche?1#C^O394iPA#Z8A0JMT4KsBGYRof~k7VM|_9@2md zuVl)qsSb+wzn6v>coH411GkQ>ve=(lzu~`>x!u*nWWx8BIpUW2Kge9N6Gv-ezs~Ng zp~d)VDXzb`7JzQulZ)bxw&9vd`me@yw9)GJH*yj_L^=NNnWojG=^EWMttL%}man)@ zR91S?h~|`4{79EPZ=AtzAE=zubrs)p$Y#=F$?2fRYQ@3N8)1AWkaIm7QZd$WZIWS1 z(KAd^m3mL;-o}zv{1$>=fW*NY(2hIY;QsSZUJPgSPkJSMu^Ld$RwKTdbp=G!TAas%8qVplN3>N`} zE;3wnK7^LxB7o3EhKtUJ&@x;E5W2{4(fJTshKm3~7a1-(A41D;5kTl7!$s#qXc;a7 z2wh~j=zIt*!$kn0iwqZ?520na2q1Kk;iB^)vIv+yIa1lW0BEv=JLueT;0tj8C;+h_QQ;b~vA#odjF+6YH zJ&3u~UJ74_ZwzD_eI`Zgu z`)^&Fy7pkS$6vej^_3g@Pqd%<;m|Xu-hXT9^GCk?M!%F1mkz&scz)*2zALXUe)8*A d6=!2=KX>aUd={NMdICr07Uxe_uAe;r_TPdo2FU;b diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/2.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/2.png deleted file mode 100644 index 015b85e5a0ea4be8083f5c65d9ed379a045694bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15819 zcmeI3&5zqe6u`}g+Oo7&)k;tmP_0x*t%_qiwv*UOvfABj*_B9HZ9}`|0G-&AthI@4 zY-f|*OM!|?tvFPb_!5_15aQAUCn^q5sqhCNAqpoXxImFW;sP94#&!}rlVn(E4+u@9 ze7t${-kbTo=Qs8tmzGXGy=Uss6vHrk78lCP=zCxA-n9dL9{zO;ps$CVg|i;R?7bDd z?|b9;-p3fGaNDe|_$!rXG~I5cfnnERy4!NlY^0m+IzV58K3jtg(<-KZ{`iv=YZ}GW z8KojroH@8^E^NB+)aJ>mzPYBWMryh=Rp@HSK@0kT?Y5ehr*(^|(65Gm2g7`d4X5~P z#nem?kX@-Pv2(TyStXt2bWzH)IW;XRYCa=B#byLC%L^(m%A6o-f~pB3+k2%-Q|MR0 zHR{@O`9v=ql8UKS-*+^g?{qrpj+D0D1~00r$_p7jli|<|&fBnj(B&-eNaUpNrwl#a zH67oyEjI8AYIfT%rcyzm!K=5gmNN)sc|CTBBHslLFQx^4oROgqY@D{+43}o;JZ!=i zw0sZQiDT`YRol0{ReM6nfqG(Kl#@zj5PR%;TdlF7J%4^3A?P6;Yw1-t9LO(2&u+Uq zoL@&< zoZYltv@BSX3jDa?u~ubUZwF;PW9iUC$?y_MLa7Qb+*!~V9_=fdW+`eLhOL{176;Yq zB7mwaarvC6aH0rRPKAcf=~-P@bR!2ca;?Az7cX)Vud7!Zz47s`>k7=|Yc=toyN&`5 zZzf5Kgd(W0N<~|=JRcxZi{%m;NSkQWVjT*o{mC2vvcbtUS>S3AN}MDMl9U5#R#fz` z?1s(bP4`^)qa)YjH?Asb#xM+(yzywA31=gLo^?%hQh;V+POujP?FHm(0@URk2c^8q zLNvh~P3QIyjF?Z3(OHESsUbzK!da7@ zcy`_I02j_Q(51SaUKx2EHpAWj-353TiSWSs-K9Z=*?LxyM9z>=0}%vSA|!bGRq=`|M~BEd)1W8tT8O7l5$ui3NUSEUuYo z{z}kCo9%GEnibHC7lY59X;O`wo+XVor!L$??281jUaZSa4SB4h)k8%h78Tr#2Z(T=!WM=h+Kl_NV@59%w-1+5? z15fA=AKo$h%KTC1gEeOUg={&ZRGY+I^7u{?O^2r$0Y@2?b^r M=TDZe&z^hrFCj}I8~^|S diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/3.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/3.png deleted file mode 100644 index e62c91b16c78c4fdc4d2c8218852925f6a6b35b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15896 zcmeI3Ply{;7{Es=wXSUOP_$amA*Euellec%3`xrFrgaxgUAB>Kq0qj}d&!PXW~MW< zO?DBiRjYy*g+h+$=( z%ZGOFje!_HceBM6j4zGJVOXK+z508H{72%>H8_8&<-3w zay*xh{eqge9u+g0IMCqL+gHmU1aiY3J4{jR0AG}|k~ql-+5;PZJ!p2925k{FQ46_I zi0$NwcK(_ddEuHjCFDRoH89Rer80;;alNh9#L!`MGJjI%+YeyYtidn2l%(|tJWT=4mYApl^L|#z!yk;q>vgJNPeqkZ5 zsvQ6H3CD$AJ3LqrNt0o|hu%;bM5u%iHFZ;g z5Sl_hC+mVNBU3ODv<2I+ZQX`BplG#%82@;&i{ZL@wb2`&?Aor&0GXQlFSxGjNXge~ z^51uz>}8ZwItet&aq(6v){+}W04HIoT*3oc2lG@gH@%LaVA`f3Xqtwv|yT8w>P&;NU|DG*ffpy+FJd&8R76 z&Q=6NRZYRb%NOz*)C7oB4L}v<>In4rGQrJQs6{8P){W8P=~nA;bZ&HXSgqaT!UsW! z;$~RP^t<8Ud`SwhSBBlDY5_YwXi9e6s}L-RBcsD*4J-@E1ZO;*+e0vBK0QWz4Y{;l zm$>TAn(id@>QNg6Xs&^~z;@bj;&s%FbpKbs?Yl@s2+rSK8Vm^m3FQnySCE4154RFi zlk0*}134Q?xw@fh{WPbtNNzE%subYCk%Ny5$&xiomios@BKU)&2ox9`aX zacpc@Gs*nbxQ{m1yYo#$!Y@&dKYONWHEDX1Zkkq;rbEjYTqi0iy=cU6$}0XNn*2*T zj_;XJ$N`}E;3wnK7^LxB7o3EhKtUJ z&@x;E5W2{4(fJTshKm3~7a1-(A41D;5kTl7!$s#qXc;a72wh~j=zIt*!$kn0iwqZ? z520na2q1Kk;iB^)v zIv+yIa1lW0BEv=JLueT;0tj7XxafQcEyG0sp^FR`oe!a9xCkJ0k>R5AA+!t^0fa6x zTy#E!mf<3R&_#xe&WF%4Tm%rhNX0cXd=eVD`0?j9e$M&!jo+`~XQX+1aizj>n+G`V z!mAv2XA6J-#Bu8q$NhYU|#Z|J^S8Q5AAs%bMyUoetE5YZsm!OzuUE!`|QS>w?4SO?`s^2TRL*A{L%cGi+=*y CQ#i%| diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/4.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/4.png deleted file mode 100644 index 695cc03088eeab56a7bee600787fed85b0640821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15689 zcmeI3&5zqe6u{kXSzy&xy;0f&Zc0T_>)4L-Wh+U$-E6xnk+R(`>Xr)~+mpoI#5T6K z$*wrGaN>#pRpr1R0OEjLlS16sy*KAe|iw6v8FXuQfMZ{EE3 zW`1wxjeYRjD;F;um^(7ZaomCBrRpmAJ`{eQnkE0A`+WzIuczImt3Jma{3iVDdGFN0 zqa0U4*4lcoUVBM1oOT+Sj*ipawo7^w-I=b7j13&{I&N5YIrZz8U!{1$Mer!SOJkOXmecR*HNV1kywBx9k9Q1=~L!JL&tWV&CvAH?SO= z5B(zD*$m35R2XP*_2$)f2Z3zA$Bs}GyT}#gv?NY4GL3o*3E>7H<#)J){#Y{k1I@i>ugoHa!C`-XK#s zK56!WRUam2#8ar5I(FQ(rkI7A*eqHKafV7{uG)f!QQ&xMj?=2dt8Ar@kY88`S5<*O zdBw6#r{lj^5~0a3-$QS>iUM3AmZ~7-1u3@{u17^v3a6xuCP@h=aZli*=9pG}Ys`nD zNd>a3lRgqXp%1cuOcbD9c}ez7_%RKw?s#n!RID~?V9~W3C2`o8=s8$b+Je(^JTfd? zQA*;Z=80BS$Jh*)^}KChpCrRiB#ERd+PLRXW3;ueXjv7Kl(cD?nyIT;sTXuXmsLej za5gWXtZoX$dOa%@idjR!g_0Oc0y`VIf3%fg|}_-J;i16gn=vhTu#ZAMA!^1R;(^=tye8_PvM6rft>HzK*dDE ztJ4eHKEbd1HVu3>Tdb&@x;A2wh~j=zM^d;Q~PDBEv=J1GEem z074fTE;=8eWw-zky2xR5A0a}I& z0HKQv7o88#GF$)%U1YfEe1MkW0zl{@!$s!Iv=2AxBw8k$Z*m504>7> zfY3#Ti_QmV87=^XE;3wnK0wQG0U&gd;iB^aT80Y%p^H>pbHn$Bu}xkU?vS^FKmS%1 z$Q#AHv9wy_xa|`hck?Zd`*VkU|IBfl636{=jpMZ29QTa#&TIG2lfL?Lb$+e;z5d6} z&Y77Lw{KmaUBB+i1$n_Q$(l>_01; z_hyzqZoPqSes`#K=fShTeW=fze6aWat)(BD&%bc&();f|dAhK7mOJ{{k?q4zTzHj4 P zJ56@g11&w!QxW3pz#o8wgb)%Z4zv;+IB@F)BqYQI0S6>FfrQG~&WAHeMoU`>fyPok z-n@D5&HUcX8~fnvtEZovpF1?iFwFeQa%~O$J{EuWJdD1d{QV9e>tK<^D8u}kM^Eo!@5?!d| z7UF>HMtzlC^a98#`66eEQkgBOc~Mcz1^F0T5X2%csJtk1f~X0qCWvhR%2nskKRvK) zZLM~)9}Y>C+-4N{8qasT-F#QddqI;IRaNDM0$(U_s0SBrxe@4bZg@C#GVoJ_p&2-S z%%P3n30ld}ER%;V*oJNt zB0F)aoxkZtUbyMa2su>G42*J8uMcBS9dElmHFOv)T|x-@NT*tcjV&MYYcTXWfeDu` zp{X36Hv7o2N68uU6l-RV9rm0VX0awUOO`^KAsx+CTMQtGyrAKEt!lc;RtE^##l?74 zmDnR^9M|%?;WIjqn~d^3@&;=lf>mUxazc?4lt#QBB~6x(3I$CNGEUN-n2)+=Iri3s z4@nbBnlR=g(-ZfB_KyW3up=+oz8OE3so7r822s^%gC^vCx2f}^#!S!Qs?rv{mKUI5 z!K$S5)0(GR)jYEkFY5)@gds{sm`M^!RkCqUfaZAXK+$rlC@Fc%u{6t2p=6f~&Jb0J zlb~GWfNWS?*|ue&RF+K%mUKSeuE=OKlGszyIvyiC0n!NL#MkTEiW^1%O<<*#jK@La zfj|_BWm`eZKu|at$bd7-io_|B1Xa<5iXs)0)i7>88d=}&3Em&ovjOJF7 zxe}TtrwTyeM9EOgielTQZ46vz%qLvG5ICr0gI1=`faX65F~!Y9sAVV4?G^?;&c-^t zINmzSZBkr)5QH!;9hKamb_}aA>N>piqy%ZejLUM>jCVG)bbhRLG%VcAnM~l$5TyPy z=CfmTH=#?a45_Q6*K8-DXGdKSz=bB-Gdn3-sn>Bc-2L=@ffyybujSlBB0_NK-qN5N zA}H9F$O&rMY@-O;82}`rk`K3_Oi)ZUVOnttvm5 z*`VRSl)0T%z;wcQmpSZM{2yd4-HGEhaZt)9Yp5RI5oxIYqFMlwx+m)VMB8Z1r2RMI zI@;auC#s@7n+z0d&RE5_ZRtJ5I(ou@)gn4E z6`jYMaf?-_2U{C82i;SI@kt<}Q#P@|6;ln*&N9p>`i5z$GS33ZF_yNXCk^zF!w;Ww zCQi8F`Ex)2jAnE{y<)y-5DW-eq`1g@FfGM}0U?VN7nu*HrMNI4WRc<`^TD(f7Y2kZ zQe0#{n3m$gfRIIsi_8bpQd}4ivPf}}`CwX#3j;zHDK0V}OiOWLK*%D+MdpKPDJ~2M zS){ngd@wD=g#jUp6c?Efrlq(rAY_r^BJ;tt6c+}BEK*!#KA4u`!hn!Pii^w#(^6a* z5VA;dk@;X+iVFim7AY<=A52SeVL-?t#YN_WX(=uY2w9}K$b2v@#f1SOixd}`52mHK zFd$@+;v)0Gv=kQxge($q&5hn0hAw(pxQpHj{tgt2=#665Twbd)%=Xg^^Xh91^T!?Z z`xC=-1cv$fJi}=3G0fxMo3DI%67{uKY733tx5me}zmGqE-ne#f&-wkIKJw0?b9a99 zKe;9DS`=;@dwvjif2i%hKL6-b7Y|-tpI>t7Q~P1_CL_H3Y(vt)4HS=ASvp<&=*0P}e*pO!hE;wquxk&wCe-w9E?~Kt~qWw_s5stIC9rQ5lqmFZH~Kn~h40&KV4azmqA&Lw^gbR9SIIX3AMoh#>N z z*N*qXA*q~eMv-sue5cdNcci=*tns3*>%36l3k44K;KEHe0$t7x52sH0erhnZ0>_UW z&t+r3!1UImaxNDK8XUcOwf#XLH|()P6!|Xjc`+~WAn#lseCLpKVM zojBIcZ+ejzHoXZU2kMD|QBLahLF}>PZMVmU4x_mZgrJ9XtYx^e=|g@QhTeK$!MP1I zmBZs^A32R-az;GGnu%kFU1x$>tVzw1rI2Q*gyw2g0|+87Sn<48C0%7peS~ba8n3D% z`@|{7wY^UGWQoU3hWQ?PgEbJr3bNEWLFEKxC0>uRA*e@$f*}YQCuvX2N8PiX#^yF3 z5^`WDde%p#C+-979~(qqM_#ghGk$E#Xm~*zL=~qE)*$b@YbAcznCUrKRYuioc>x+0 ztVkt(T=Q6~nrE%Y%X-$eV2F|tW|D+bm2BK&U~ROuuV^_Hl$5;f*oJNDP-+xS&J=Zt zlc20}KsIeoYcyn`sL7TDizPnZuE=OOlGszyIvOK80n!NL#MkS_f*VEvO<kf24N$Z-wICGiWHpSM4@cH>-H+aL9Zyx(G*gvTjgvH` zz(GmY(4-}WlSIK%HAw|U*yy{?m~V6aT;QOR4O*E#eVYFy#27c*Ld`pIZZ|RTaW+oE zmquHMxlM|z4}uWJrK6nd*N#CoMqLL-DJek)u;Q{@vErQ#5#W*5;jnNsXG{WjL^<`J zF`pcx(}XUmGNi7OUXz`KUL)#&0M4$VJ+qUdm3kdD!`+YH7l=`^`&!OzBq9VGx0eRV zv@H_=le28S$SJ05a=HpsPEr~o)CAjBbhV%6TTVmKD2V;y`tPM72A)Q@n!sIyc7^ZH ztl#io%G}N>U^?Mj%N%xF{2yd4-HD?$v0uu!*U(b@L}Z})i)sN#>YiBQx3vw|Oxk}n zuA{B>q`$5T=-|cpzh|0NwCIHNo174t=dU_i(s#YN_WX(=uY2w9}K$b2v@#f1SOixd}`52mHKFd$@+ z;v)0Gv=kQxge+2AWImXd;=+KCMT(2e2h&nq7!a~Zagq68T8aw;LKZ15G9OG!abZBn zBE?1KgJ~%)3Vor!L$??281k9Tx33&mg2&I zkVT4%%m>p_To@3tNO6(*U|Na`140%lE;1iXOL1X9$Rfo>=7VV|E({1+q`1g@FfGM} z0U?VN7nu*HrMNI4WRZw#didQibkWDc9rRW3%=LpGp)ZPAYks-TFk6o^%*(GZ%wIRr z`5MEl3k>u7S%xv*XPEoFcV4`59QAbni>g<8fXWlz>=H_qy zXWxpus>0Rpb{9);KW0yzdHCb|t}xNX#?+#s-MhcQ=rjI}OAqK@J$kYF(A-<+UvGZ@ z<|i)m^<8s6-E&}fZtmy#7mi)neC@`<2Os`eJF&56hB@)YzNZgg`|~`C%q+|;);>LU G_QKysfA?ts diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/7.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/rs3/cross_sprites/7.png deleted file mode 100644 index c17114ae828d3f89b6b216099a54c12ce1abad53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15684 zcmeI3O^n+_6o9>gqOxi$Zis@wN+~KTj>qv&Vk=3t-E7%KWC`1?x|Kk5Y>yMu#16K% z$?l1^5)wCr09AquTq|+p!T~Da!ig)KsF0B0!T}+{DU9v>IFn?ww3QHOEG71vH}Acf z@69~h2fy9eeE#V2@nw$Vj&7{iw($9p_;>gr{QuPN1Bg!#ch@h49Cz&N__y@_>0^&` zTp7CCJJC-4MZ@wtd1(74%J(~6+#Bo8^t;fyf+F5TP1mdBe*6539Piqd+(oqx>fKe; za@Y3*bbfzx+uFZk>2~f+b-CO(u!9bYAm8t_z0l}aa*1C9U&qa2j!(KoS1P%cI3T}M zZ}6*rfOs{p36><6_@bVdRJ~MCp5qHZ(nO$(k|F@f0J;Gret6`n%lN7s*p9JPJ2wo6 zrAn?9MO{M_d%a%1C+Gd3DN4Goi=ZGD3IgsSgnM2D`+^sqNS%!Q)KF*zZZ~p$kB|LA z)8CCMxm+A*d<^H+>5c<=;gB7sDE47jl=48FXJlJro9=GVPKIV%B5I=!@}dyiNptPG zEkE+ZmcJn6SiLYX&PlyKjy-q0ozC3QVYGG?BN!r`YZ-3ub&b~tddow;{189aS zXMJRPl0NYMv0(%cb9rssH78LNKV5Ad*1RW6J3 zn&(>8d}}ve)+?TcLY#~+lO&v~WaFNN&FR*WqU~03Qu4NI8@8z<*(sWWDe1BxBSjOS zV%kEf2xPB>camj}5OrH_We-dJjo0(ASZk*da0(_i}^XQG~)=6%Y z;@X8lh~m;w$&G5qxEkZGHLssD`m;uyUa z@@SPIb(Qp5>?HJ^s0RbI(!_h_AVn+nI&DU}pT93Kqh$BB-Frwx2(R8-8dL~%$CP!! zv2{~`mSPJ!k`UhEvIbOHl7VWD(tOux&(xTz^ zQG2K6;%AC5z7t5=(1ujZHN3RQFrye6rm4!j3naI(v=zT;;Flb6{FXCwha2C2?&rm1 zM)%Vz;fnLd$RwKTdbp=G!TAas%8qVplN3>N`}E;3wnK7^LxB7o3EhKtUJ&@x;E z5W2{4(fJTshKm3~7a1-(A41D;5kTl7!$s#qXc;a72wh~j=zIt*!$kn0iwqZ?520na z2q1Kk;iB^)vIv+yI za1lW0A{E#2Yj zGj4L+qyD?EeRB@?eRZR@vfcl|{Btlk^T5fQcLsyOkq?f)68{Dt-@L}Xb!%1oaqz_E zXM?cx{o%*1e{$^BQvb;9#*I6N%%flae8~K2Y3<1mm!7@@U+31Yt-q{nee}+$&2QgB d&%6LGb3e5j5B_nXf#Y!8#@c4>)3cYa{|(ic^*I0l diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java index de4e89299c..b6af13221d 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java @@ -30,7 +30,6 @@ import com.google.inject.testing.fieldbinder.BoundFieldModule; import java.util.concurrent.ScheduledExecutorService; import javax.inject.Inject; import static net.runelite.api.ChatMessageType.GAMEMESSAGE; -import static net.runelite.api.ChatMessageType.TRADE; import net.runelite.api.Client; import net.runelite.api.events.ChatMessage; import net.runelite.client.config.ChatColorConfig; @@ -192,38 +191,4 @@ public class ChatCommandsPluginTest verify(configManager).setConfiguration(eq("personalbest.adam"), eq("kree'arra"), eq(181)); } - - @Test - public void testDuelArenaWin() - { - when(client.getUsername()).thenReturn("Adam"); - - ChatMessage chatMessageEvent = new ChatMessage(null, TRADE, "", "You won! You have now won 27 duels.", null, 0); - chatCommandsPlugin.onChatMessage(chatMessageEvent); - - verify(configManager).setConfiguration("killcount.adam", "duel arena wins", 27); - verify(configManager).setConfiguration("killcount.adam", "duel arena win streak", 1); - } - - @Test - public void testDuelArenaWin2() - { - when(client.getUsername()).thenReturn("Adam"); - - ChatMessage chatMessageEvent = new ChatMessage(null, TRADE, "", "You were defeated! You have won 22 duels.", null, 0); - chatCommandsPlugin.onChatMessage(chatMessageEvent); - - verify(configManager).setConfiguration("killcount.adam", "duel arena wins", 22); - } - - @Test - public void testDuelArenaLose() - { - when(client.getUsername()).thenReturn("Adam"); - - ChatMessage chatMessageEvent = new ChatMessage(null, TRADE, "", "You have now lost 999 duels.", null, 0); - chatCommandsPlugin.onChatMessage(chatMessageEvent); - - verify(configManager).setConfiguration("killcount.adam", "duel arena losses", 999); - } -} +} \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 17f88f3eb3..d33785c9e7 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -1034,8 +1034,4 @@ public interface RSClient extends RSGameShell, Client @Import("viewportWalking") void setViewportWalking(boolean viewportWalking); - - @Import("crossSprites") - @Override - RSSprite[] getCrossSprites(); }