Merge remote-tracking branch 'runelite/master'

This commit is contained in:
ThatGamerBlue
2020-09-08 18:36:30 +01:00
38 changed files with 525 additions and 930 deletions

View File

@@ -27,6 +27,9 @@ package net.runelite.client;
import io.reactivex.rxjava3.core.Completable;
import io.reactivex.rxjava3.core.Observable;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.UUID;
import lombok.AllArgsConstructor;
import net.runelite.http.api.RuneLiteAPI;
@@ -34,6 +37,7 @@ import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
@AllArgsConstructor
class SessionClient
@@ -54,7 +58,10 @@ class SessionClient
try (Response response = okHttpClient.newCall(request).execute())
{
return RuneLiteAPI.GSON.fromJson(response.body().string(), UUID.class);
ResponseBody body = response.body();
InputStream in = body.byteStream();
return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in, StandardCharsets.UTF_8), UUID.class);
}
});
}

View File

@@ -28,9 +28,11 @@ import com.google.gson.Gson;
import io.reactivex.rxjava3.schedulers.Schedulers;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.time.Instant;
import java.util.UUID;
@@ -87,7 +89,7 @@ public class SessionManager
try (FileInputStream in = new FileInputStream(SESSION_FILE))
{
session = new Gson().fromJson(new InputStreamReader(in), AccountSession.class);
session = new Gson().fromJson(new InputStreamReader(in, StandardCharsets.UTF_8), AccountSession.class);
log.debug("Loaded session for {}", session.getUsername());
}
@@ -128,7 +130,7 @@ public class SessionManager
return;
}
try (FileWriter fw = new FileWriter(SESSION_FILE, StandardCharsets.UTF_8))
try (Writer fw = new OutputStreamWriter(new FileOutputStream(SESSION_FILE), StandardCharsets.UTF_8))
{
new Gson().toJson(accountSession, fw);

View File

@@ -28,7 +28,6 @@ import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.collect.ImmutableMap;
import io.reactivex.rxjava3.core.Completable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import java.awt.Color;
import java.awt.image.BufferedImage;
@@ -216,13 +215,6 @@ public class ItemManager
eventbus.subscribe(GameStateChanged.class, this, this::onGameStateChanged);
eventbus.subscribe(PostItemDefinition.class, this, this::onPostItemDefinition);
Completable.fromAction(ItemVariationMapping::load)
.subscribeOn(Schedulers.computation())
.subscribe(
() -> log.debug("Loaded {} item variations", ItemVariationMapping.getSize()),
ex -> log.warn("Error loading item variations", ex)
);
}
private void loadPrices()

View File

@@ -192,7 +192,7 @@ public enum ItemMapping
ITEM_RING_OF_ENDURANCE(RING_OF_ENDURANCE_UNCHARGED_24844, RING_OF_ENDURANCE),
// Infinity colour kits
ITEM_INFINITY_TOP(INFINITY_TOP, INFINITY_TOP_10605, INFINITY_TOP_20574, DARK_INFINITY_TOP, LIGHT_INFINITY_TOP),
ITEM_INFINITY_TOP(INFINITY_TOP, INFINITY_TOP_20574, DARK_INFINITY_TOP, LIGHT_INFINITY_TOP),
ITEM_INFINITY_TOP_LIGHT_COLOUR_KIT(LIGHT_INFINITY_COLOUR_KIT, LIGHT_INFINITY_TOP),
ITEM_INFINITY_TOP_DARK_COLOUR_KIT(DARK_INFINITY_COLOUR_KIT, DARK_INFINITY_TOP),
ITEM_INFINITY_BOTTOMS(INFINITY_BOTTOMS, INFINITY_BOTTOMS_20575, DARK_INFINITY_BOTTOMS, LIGHT_INFINITY_BOTTOMS),

View File

@@ -28,23 +28,54 @@ package net.runelite.client.game;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap;
import com.google.gson.stream.JsonReader;
import java.io.IOException;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
/**
* Converts variation items to it's base item counterparts
*/
@Slf4j
public class ItemVariationMapping
{
private static Map<Integer, Integer> MAPPINGS;
private static Multimap<Integer, Integer> INVERTED_MAPPINGS;
private static final Map<Integer, Integer> MAPPINGS;
private static final Multimap<Integer, Integer> INVERTED_MAPPINGS;
static
{
final Gson gson = new Gson();
final TypeToken<Map<String, Collection<Integer>>> typeToken = new TypeToken<Map<String, Collection<Integer>>>()
{
};
final InputStream geLimitData = ItemVariationMapping.class.getResourceAsStream("/item_variations.json");
final Map<String, Collection<Integer>> itemVariations = gson.fromJson(new InputStreamReader(geLimitData, StandardCharsets.UTF_8), typeToken.getType());
ImmutableMap.Builder<Integer, Integer> builder = new ImmutableMap.Builder<>();
ImmutableMultimap.Builder<Integer, Integer> invertedBuilder = new ImmutableMultimap.Builder<>();
for (Collection<Integer> value : itemVariations.values())
{
final Iterator<Integer> iterator = value.iterator();
final int base = iterator.next();
while (iterator.hasNext())
{
final int id = iterator.next();
builder.put(id, base);
invertedBuilder.put(base, id);
}
invertedBuilder.put(base, base);
}
INVERTED_MAPPINGS = invertedBuilder.build();
MAPPINGS = builder.build();
}
/**
* Get base item id for provided variation item id.
@@ -68,41 +99,6 @@ public class ItemVariationMapping
return INVERTED_MAPPINGS.asMap().getOrDefault(itemId, Collections.singletonList(itemId));
}
public static void load() throws IOException
{
try (JsonReader reader = new JsonReader(new InputStreamReader(ItemVariationMapping.class.getResourceAsStream("/item_variations.min.json"), StandardCharsets.UTF_8)))
{
ImmutableMap.Builder<Integer, Integer> builder = ImmutableMap.builderWithExpectedSize(5039);
ImmutableMultimap.Builder<Integer, Integer> invertedBuilder = new ImmutableMultimap.Builder<>();
reader.beginObject();
while (reader.hasNext())
{
// Names are useless
reader.skipValue();
reader.beginArray();
int base = reader.nextInt();
while (reader.hasNext())
{
final int id = reader.nextInt();
builder.put(id, base);
invertedBuilder.put(base, id);
}
invertedBuilder.put(base, base);
reader.endArray();
}
reader.endObject();
INVERTED_MAPPINGS = invertedBuilder.build();
MAPPINGS = builder.build();
}
}
static int getSize()
{
return MAPPINGS.size();

View File

@@ -40,9 +40,14 @@ public class MouseManager
private final List<MouseListener> mouseListeners = new CopyOnWriteArrayList<>();
private final List<MouseWheelListener> mouseWheelListeners = new CopyOnWriteArrayList<>();
private final RuneLiteConfig runeLiteConfig;
@Inject
private RuneLiteConfig runeLiteConfig;
private MouseManager(RuneLiteConfig runeLiteConfig)
{
this.runeLiteConfig = runeLiteConfig;
}
public void registerMouseListener(MouseListener mouseListener)
{
@@ -136,7 +141,7 @@ public class MouseManager
}
return mouseEvent;
}
private void checkExtraMouseButtons(MouseEvent mouseEvent)
{
// Prevent extra mouse buttons from being passed into the client,

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 2020, Hydrox6 <ikada@protonmail.ch>
* 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.timetracking;
import lombok.AllArgsConstructor;
@AllArgsConstructor
public enum TimeFormatMode
{
RELATIVE("Relative"),
ABSOLUTE_12H("12 Hour"),
ABSOLUTE_24H("24 Hour");
private final String name;
@Override
public String toString()
{
return name;
}
}

View File

@@ -28,6 +28,7 @@ package net.runelite.client.rs;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import lombok.AllArgsConstructor;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
@@ -55,7 +56,7 @@ class ClientConfigLoader
}
String str;
final BufferedReader in = new BufferedReader(new InputStreamReader(response.body().byteStream()));
final BufferedReader in = new BufferedReader(new InputStreamReader(response.body().byteStream(), StandardCharsets.UTF_8));
while ((str = in.readLine()) != null)
{
int idx = str.indexOf('=');

View File

@@ -98,7 +98,7 @@ public class ColorValueSlider extends JPanel
super.paint(g);
g.setColor(TRACK_COLOR);
g.fillRect(0, this.getHeight() / 2 - 2, this.getWidth() - KNOB_WIDTH, 5);
g.fillRect(0, this.getHeight() / 2 - 2, ColorUtil.MAX_RGB_VALUE + KNOB_WIDTH * 2, 5);
g.setColor(KNOB_COLOR);
g.fillRect(value - KNOB_WIDTH / 2, this.getHeight() / 2 - KNOB_HEIGHT / 2, KNOB_WIDTH, KNOB_HEIGHT);

View File

@@ -65,7 +65,7 @@ public class RuneliteColorPicker extends JDialog
{
static final String CONFIG_GROUP = "colorpicker";
private final static int FRAME_WIDTH = 400;
private final static int FRAME_WIDTH = 410;
private final static int FRAME_HEIGHT = 380;
private final static int TONE_PANEL_SIZE = 160;

View File

@@ -35,6 +35,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -219,7 +220,7 @@ public class ImageCapture
try (InputStream in = response.body().byteStream())
{
ImageUploadResponse imageUploadResponse = RuneLiteAPI.GSON
.fromJson(new InputStreamReader(in), ImageUploadResponse.class);
.fromJson(new InputStreamReader(in, StandardCharsets.UTF_8), ImageUploadResponse.class);
if (imageUploadResponse.isSuccess())
{

View File

@@ -339,7 +339,6 @@ public class WeaponMap
StyleMap.put(ItemID.ROCK_HAMMER, WeaponStyle.MELEE);
StyleMap.put(ItemID.ROYAL_SCEPTRE, WeaponStyle.MELEE);
StyleMap.put(ItemID.RUBBER_CHICKEN, WeaponStyle.MELEE);
StyleMap.put(ItemID.RUBBER_CHICKEN_10732, WeaponStyle.MELEE);
StyleMap.put(ItemID.RUBBER_CHICKEN_22666, WeaponStyle.MELEE);
StyleMap.put(ItemID.RUNE_2H_SWORD, WeaponStyle.MELEE);
StyleMap.put(ItemID.RUNE_AXE, WeaponStyle.MELEE);
@@ -370,7 +369,6 @@ public class WeaponMap
StyleMap.put(ItemID.SARADOMIN_SWORD, WeaponStyle.MELEE);
StyleMap.put(ItemID.SARAS_BLESSED_SWORD_FULL, WeaponStyle.MELEE);
StyleMap.put(ItemID.SCYTHE, WeaponStyle.MELEE);
StyleMap.put(ItemID.SCYTHE_10735, WeaponStyle.MELEE);
StyleMap.put(ItemID.SCYTHE_OF_VITUR, WeaponStyle.MELEE);
StyleMap.put(ItemID.SCYTHE_OF_VITUR_22664, WeaponStyle.MELEE);
StyleMap.put(ItemID.SCYTHE_OF_VITUR_UNCHARGED, WeaponStyle.MELEE);

View File

@@ -559,10 +559,6 @@
20199,
23303
],
"shade robe": [
548,
10634
],
"ghostspeak amulet": [
552,
4250
@@ -1666,18 +1662,13 @@
12445,
12447
],
"bunny ears": [
1037,
10734
],
"blue partyhat": [
1042,
2422
],
"cape of legends": [
1052,
8284,
10635
8284
],
"leather boots": [
1061,
@@ -1793,8 +1784,6 @@
1123,
2599,
2607,
10697,
10698,
20415,
23392,
23395,
@@ -1806,8 +1795,6 @@
1125,
2583,
2591,
10690,
10691,
23366,
23369,
23372,
@@ -1818,8 +1805,6 @@
1127,
2615,
2623,
10798,
10800,
20421,
23209,
23212,
@@ -1834,9 +1819,7 @@
"studded body": [
1133,
7362,
7364,
10680,
10681
7364
],
"green dhide body": [
1135,
@@ -1880,11 +1863,6 @@
10300,
10302,
10304,
10709,
10710,
10711,
10712,
10713,
20561
],
"rune helm": [
@@ -1895,12 +1873,7 @@
10288,
10290,
10292,
10294,
10704,
10705,
10706,
10707,
10708
10294
],
"black helm": [
1165,
@@ -1910,12 +1883,7 @@
10308,
10310,
10312,
10314,
10699,
10700,
10701,
10702,
10703
10314
],
"wooden shield": [
1171,
@@ -2144,10 +2112,6 @@
1410,
12658
],
"scythe": [
1419,
10735
],
"amulet of accuracy": [
1478,
20584
@@ -2252,7 +2216,6 @@
10358,
10360,
10362,
10719,
11964,
11966,
11976,
@@ -2269,8 +2232,7 @@
],
"amulet of magic": [
1727,
10366,
10738
10366
],
"amulet of defence": [
1729,
@@ -2718,10 +2680,6 @@
3718,
5604
],
"guthix cape": [
2413,
10720
],
"bronze key": [
2418,
5585,
@@ -2845,70 +2803,6 @@
20789,
20790
],
"ranger boots": [
2577,
10696
],
"wizard boots": [
2579,
10689
],
"robin hood hat": [
2581,
10796
],
"highwayman mask": [
2631,
10692
],
"blue beret": [
2633,
10693
],
"black beret": [
2635,
10694
],
"white beret": [
2637,
10695
],
"tan cavalier": [
2639,
10802
],
"dark cavalier": [
2641,
10804
],
"black cavalier": [
2643,
10806
],
"red headband": [
2645,
10768
],
"black headband": [
2647,
10770
],
"brown headband": [
2649,
10772
],
"pirates hat": [
2651,
10774
],
"zamorak platebody": [
2653,
10776
],
"guthix platebody": [
2669,
10780
],
"puzzle box": [
2795,
2798,
@@ -3121,10 +3015,6 @@
3054,
21200
],
"mime mask": [
3057,
10629
],
"black dart": [
3093,
3094,
@@ -3240,7 +3130,6 @@
],
"splitbark helm": [
3385,
10606,
20568
],
"unfinished potion": [
@@ -3270,10 +3159,6 @@
3434,
3436
],
"gilded platebody": [
3481,
10782
],
"shoe": [
3680,
3681,
@@ -3477,7 +3362,6 @@
4505,
4509,
4510,
10610,
11893,
11894,
11895,
@@ -3520,10 +3404,6 @@
20491,
24161
],
"yoyo": [
4079,
10733
],
"salve amulet": [
4081,
10588,
@@ -3544,9 +3424,6 @@
4089,
4099,
4109,
10601,
10602,
10603,
20562,
23047
],
@@ -3728,10 +3605,6 @@
4284,
4285
],
"ham shirt": [
4298,
11274
],
"teamcape": [
4315,
4317,
@@ -3782,8 +3655,7 @@
4407,
4409,
4411,
4413,
10638
4413
],
"guthix rest": [
4417,
@@ -3870,7 +3742,6 @@
],
"rubber chicken": [
4566,
10732,
22666
],
"book page": [
@@ -4444,10 +4315,6 @@
5518,
5519
],
"rogue mask": [
5554,
10612
],
"gear": [
5562,
5563,
@@ -4468,10 +4335,6 @@
13135,
13136
],
"initiate hauberk": [
5575,
10619
],
"metal spade": [
5586,
5587
@@ -4612,10 +4475,6 @@
6063,
20635
],
"mourner top": [
6065,
10621
],
"teleport crystal": [
6099,
6100,
@@ -4624,10 +4483,6 @@
13102,
23904
],
"ghostly boots": [
6106,
10607
],
"ghostly robe": [
6107,
6108
@@ -4636,35 +4491,11 @@
6119,
6120
],
"rockshell helm": [
6128,
10613
],
"spined helm": [
6131,
10614
],
"skeletal helm": [
6137,
10604
],
"raw pheasant": [
6178,
6179,
11704
],
"lederhosen top": [
6180,
10633
],
"princess blouse": [
6186,
10630
],
"frog mask": [
6188,
10721
],
"raw fishlike thing": [
6200,
6204
@@ -4728,10 +4559,7 @@
"tribal mask": [
6335,
6337,
6339,
10615,
10616,
10617
6339
],
"tribal top": [
6341,
@@ -4842,13 +4670,11 @@
],
"obsidian cape": [
6568,
10636,
20050
],
"fire cape": [
6570,
10566,
10637,
20445,
24223
],
@@ -4867,10 +4693,6 @@
6595,
6597
],
"white platebody": [
6617,
10618
],
"hand mirror": [
6639,
23775
@@ -4912,8 +4734,7 @@
],
"camo top": [
6654,
6657,
10632
6657
],
"camo bottoms": [
6655,
@@ -4962,7 +4783,6 @@
],
"zombie head": [
6722,
10731,
19912
],
"seers ring": [
@@ -5063,22 +4883,13 @@
6853,
6855
],
"bobble hat": [
6856,
9815
],
"bobble scarf": [
6857,
9816
],
"blue marionette": [
6865,
6868,
6875,
6876,
6877,
6878,
10730
6878
],
"green marionette": [
6866,
@@ -5125,7 +4936,6 @@
],
"infinity top": [
6916,
10605,
20574
],
"infinity bottoms": [
@@ -5231,65 +5041,26 @@
7218,
7220
],
"red boater": [
7319,
10758
],
"orange boater": [
7321,
10760
],
"green boater": [
7323,
10762
],
"blue boater": [
7325,
10764
],
"black boater": [
7327,
10766
],
"black shield": [
7332,
7338,
7344,
7350,
7356,
10665,
10668,
10671,
10674,
10677
7356
],
"adamant shield": [
7334,
7340,
7346,
7352,
7358,
10666,
10669,
10672,
10675,
10678
7358
],
"rune shield": [
7336,
7342,
7348,
7354,
7360,
10667,
10670,
10673,
10676,
10679
],
"enchanted top": [
7399,
10688
7360
],
"magic secateurs": [
7409,
@@ -5398,10 +5169,6 @@
7590,
7591
],
"zombie shirt": [
7592,
10631
],
"item": [
7597,
7598,
@@ -5721,10 +5488,6 @@
7914,
7916
],
"easter ring": [
7927,
10729
],
"fresh monkfish": [
7942,
7943
@@ -6260,7 +6023,6 @@
],
"void knight top": [
8839,
10611,
20465,
24177
],
@@ -6403,10 +6165,6 @@
9065,
20722
],
"moonclan hat": [
9069,
10608
],
"astral rune": [
9075,
11699
@@ -6415,10 +6173,6 @@
9094,
20799
],
"lunar helm": [
9096,
10609
],
"blurite bolts": [
9139,
9286,
@@ -6588,7 +6342,6 @@
],
"proselyte hauberk": [
9674,
10620,
20564
],
"proselyte cuisse": [
@@ -6617,118 +6370,92 @@
],
"attack cape": [
9747,
9748,
10639
9748
],
"strength cape": [
9750,
9751,
10640
9751
],
"defence cape": [
9753,
9754,
10641
9754
],
"ranging cape": [
9756,
9757,
10642
9757
],
"prayer cape": [
9759,
9760,
10643
9760
],
"magic cape": [
9762,
9763,
10644
9763
],
"runecraft cape": [
9765,
9766,
10645
9766
],
"hitpoints cape": [
9768,
9769,
10647
9769
],
"agility cape": [
9771,
9772,
10648,
13340,
13341
],
"herblore cape": [
9774,
9775,
10649
9775
],
"thieving cape": [
9777,
9778,
10650
9778
],
"crafting cape": [
9780,
9781,
10651
9781
],
"fletching cape": [
9783,
9784,
10652
9784
],
"slayer cape": [
9786,
9787,
10653
9787
],
"construct cape": [
9789,
9790,
10654
9790
],
"mining cape": [
9792,
9793,
10655
9793
],
"smithing cape": [
9795,
9796,
10656
9796
],
"fishing cape": [
9798,
9799,
10657
9799
],
"cooking cape": [
9801,
9802,
10658
9802
],
"firemaking cape": [
9804,
9805,
10659
],
"woodcutting cape": [
9807,
10660
9805
],
"farming cape": [
9810,
9811,
10661
9811
],
"quest point cape": [
9813,
10662,
13068
],
"oak cape rack": [
@@ -6792,38 +6519,9 @@
9911,
9912
],
"jack lantern mask": [
9920,
10723
],
"skeleton boots": [
9921,
10724
],
"skeleton gloves": [
9922,
10725
],
"skeleton leggings": [
9923,
10726
],
"skeleton shirt": [
9924,
10727
],
"skeleton mask": [
9925,
10728
],
"bomber jacket": [
9944,
11135
],
"hunter cape": [
9948,
9949,
10646
9949
],
"kebbit": [
9953,
@@ -6867,63 +6565,13 @@
10027,
10028
],
"kyatt top": [
10037,
10622
],
"larupia top": [
10043,
10623
],
"graahk top": [
10049,
10624
],
"wood camo top": [
10053,
10625
],
"jungle camo top": [
10057,
10626
],
"desert camo top": [
10061,
10627
],
"polar camo top": [
10065,
10628
],
"spotted cape": [
10069,
10073,
10663
10073
],
"spottier cape": [
10071,
10074,
10664
],
"bobs red shirt": [
10316,
10714
],
"bobs blue shirt": [
10318,
10715
],
"bobs green shirt": [
10320,
10716
],
"bobs black shirt": [
10322,
10717
],
"bobs purple shirt": [
10324,
10718
10074
],
"3rd age robe top": [
10338,
@@ -6933,74 +6581,10 @@
10340,
20577
],
"strength amulet": [
10364,
10736
],
"zamorak dhide body": [
10370,
10790
],
"saradomin dhide body": [
10386,
10792
],
"a powdered wig": [
10392,
10740
],
"flared trousers": [
10394,
10742
],
"pantaloons": [
10396,
10744
],
"sleeping cap": [
10398,
10746
],
"black elegant shirt": [
10400,
10748
],
"red elegant shirt": [
10404,
10750
],
"blue elegant shirt": [
10408,
10752
],
"green elegant shirt": [
10412,
10754
],
"purple elegant shirt": [
10416,
10756
],
"saradomin robe top": [
10458,
10784
],
"zamorak robe top": [
10460,
10786
],
"guthix robe top": [
10462,
10788
],
"avas accumulator": [
10499,
23609
],
"reindeer hat": [
10507,
10722
],
"fremennik sea boots": [
10510,
13129,
@@ -7161,16 +6745,6 @@
10598,
10599
],
"dhide body": [
10682,
10683,
10684,
10685
],
"wizard robe": [
10686,
10687
],
"yakhide armour": [
10822,
10824
@@ -7183,10 +6757,6 @@
10857,
24792
],
"hard hat": [
10862,
10883
],
"keg": [
10885,
10898
@@ -7219,10 +6789,6 @@
23563,
23565
],
"lumberjack top": [
10939,
10945
],
"skull staples": [
10950,
10951
@@ -7243,22 +6809,6 @@
10993,
10994
],
"chicken head": [
11015,
11021
],
"chicken feet": [
11016,
11019
],
"chicken wings": [
11017,
11020
],
"chicken legs": [
11018,
11022
],
"rotten barrel": [
11044,
11045
@@ -7374,14 +6924,6 @@
12768,
20408
],
"cavalier mask": [
11277,
11280
],
"beret mask": [
11278,
11282
],
"dragonfire shield": [
11283,
11284
@@ -7566,19 +7108,16 @@
],
"void mage helm": [
11663,
11674,
20477,
24183
],
"void ranger helm": [
11664,
11675,
20479,
24184
],
"void melee helm": [
11665,
11676,
20481,
24185
],
@@ -8312,8 +7851,7 @@
],
"music cape": [
13221,
13222,
13224
13222
],
"herb sack": [
13226,
@@ -8339,7 +7877,6 @@
],
"max cape": [
13280,
13282,
13342
],
"bank key": [

View File

@@ -1 +1 @@
BDBD51EF867D393E41B723CD28720A91E2ED34FAFF581AC69B37C648EAC7B714
12B91B740FE760F73A23EF34E1D4F53EA00F829EF7FC33E648F6FF5EA17417A0

View File

@@ -5,13 +5,16 @@
.string_var_count 1
get_varc_int 5
iconst 14
if_icmpeq LABEL4
jump LABEL7
LABEL4:
if_icmpeq LABEL7
get_varc_int 5
iconst 17
if_icmpeq LABEL7
jump LABEL10
LABEL7:
iconst 1
set_varc_int 66
return
LABEL7:
LABEL10:
iconst -1
istore 0
sconst ""
@@ -21,108 +24,108 @@ LABEL7:
istore 1
iload 1
iconst 0
if_icmpgt LABEL18
jump LABEL184
LABEL18:
if_icmpgt LABEL21
jump LABEL187
LABEL21:
get_varc_int 5
switch
1: LABEL21
2: LABEL44
3: LABEL44
4: LABEL23
5: LABEL23
6: LABEL44
7: LABEL107
8: LABEL111
9: LABEL117
10: LABEL120
11: LABEL176
12: LABEL136
13: LABEL154
15: LABEL117
16: LABEL181
jump LABEL183
LABEL21:
1: LABEL24
2: LABEL47
3: LABEL47
4: LABEL26
5: LABEL26
6: LABEL47
7: LABEL110
8: LABEL114
9: LABEL120
10: LABEL123
11: LABEL179
12: LABEL139
13: LABEL157
15: LABEL120
16: LABEL184
jump LABEL186
LABEL24:
return
jump LABEL183
LABEL23:
jump LABEL186
LABEL26:
ignore_count
iconst 0
if_icmplt LABEL27
jump LABEL30
LABEL27:
if_icmplt LABEL30
jump LABEL33
LABEL30:
sconst "Unable to update ignore list - system busy."
mes
jump LABEL43
LABEL30:
jump LABEL46
LABEL33:
get_varc_int 5
iconst 4
if_icmpeq LABEL34
jump LABEL37
LABEL34:
if_icmpeq LABEL37
jump LABEL40
LABEL37:
get_varc_string 359
ignore_add
jump LABEL43
LABEL37:
jump LABEL46
LABEL40:
get_varc_int 5
iconst 5
if_icmpeq LABEL41
jump LABEL43
LABEL41:
if_icmpeq LABEL44
jump LABEL46
LABEL44:
get_varc_string 359
ignore_del
LABEL43:
jump LABEL183
LABEL44:
LABEL46:
jump LABEL186
LABEL47:
friend_count
iconst 0
if_icmplt LABEL48
jump LABEL51
LABEL48:
if_icmplt LABEL51
jump LABEL54
LABEL51:
sconst "Unable to complete action - system busy."
mes
jump LABEL106
LABEL51:
jump LABEL109
LABEL54:
get_varc_int 5
iconst 2
if_icmpeq LABEL55
jump LABEL58
LABEL55:
if_icmpeq LABEL58
jump LABEL61
LABEL58:
get_varc_string 359
friend_add
jump LABEL106
LABEL58:
jump LABEL109
LABEL61:
get_varc_int 5
iconst 3
if_icmpeq LABEL62
jump LABEL65
LABEL62:
if_icmpeq LABEL65
jump LABEL68
LABEL65:
get_varc_string 359
friend_del
jump LABEL106
LABEL65:
jump LABEL109
LABEL68:
get_varc_int 5
iconst 6
if_icmpeq LABEL69
jump LABEL106
LABEL69:
if_icmpeq LABEL72
jump LABEL109
LABEL72:
get_varbit 8119
iconst 0
if_icmpeq LABEL73
jump LABEL79
LABEL73:
if_icmpeq LABEL76
jump LABEL82
LABEL76:
iconst 1
iconst 1
invoke 299
sconst "You must set a name before you can chat."
mes
return
LABEL79:
LABEL82:
chat_getfilter_private
iconst 2
if_icmpeq LABEL83
jump LABEL94
LABEL83:
if_icmpeq LABEL86
jump LABEL97
LABEL86:
chat_getfilter_public
iconst 1
chat_getfilter_trade
@@ -134,99 +137,99 @@ LABEL83:
invoke 84
iload 0
invoke 89
LABEL94:
LABEL97:
get_varbit 4394
iconst 1
if_icmpeq LABEL98
jump LABEL101
LABEL98:
get_varc_string 360
friend_del
if_icmpeq LABEL101
jump LABEL104
LABEL101:
get_varc_string 360
friend_del
jump LABEL107
LABEL104:
get_varc_string 360
get_varc_string 359
sconst "privateMessage" ; load event name
iconst 0 ; whether or not to skip
runelite_callback ; invoke callback
iconst 1
if_icmpeq LABEL104 ; if skipped, do not message
if_icmpeq LABEL107 ; if skipped, do not message
chat_sendprivate
LABEL104:
LABEL107:
clientclock
set_varc_int 61
LABEL106:
jump LABEL183
LABEL107:
LABEL109:
jump LABEL186
LABEL110:
get_varc_string 359
invoke 212
resume_countdialog
jump LABEL183
LABEL111:
jump LABEL186
LABEL114:
get_varc_string 359
removetags
set_varc_string 361
get_varc_string 359
resume_namedialog
jump LABEL183
LABEL117:
jump LABEL186
LABEL120:
get_varc_string 359
resume_stringdialog
jump LABEL183
LABEL120:
jump LABEL186
LABEL123:
get_varbit 8119
iconst 0
if_icmpeq LABEL124
jump LABEL130
LABEL124:
if_icmpeq LABEL127
jump LABEL133
LABEL127:
iconst 1
iconst 1
invoke 299
sconst "You must set a name before you can chat."
mes
return
LABEL130:
LABEL133:
get_varc_string 359
removetags
set_varc_string 362
get_varc_string 359
clan_joinchat
jump LABEL183
LABEL136:
jump LABEL186
LABEL139:
iload 1
iconst 10
if_icmpgt LABEL140
jump LABEL146
LABEL140:
if_icmpgt LABEL143
jump LABEL149
LABEL143:
get_varc_string 359
iconst 0
iconst 9
substring
sstore 0
jump LABEL148
LABEL146:
jump LABEL151
LABEL149:
get_varc_string 359
sstore 0
LABEL148:
LABEL151:
sload 0
lowercase
chat_setmessagefilter
invoke 553
invoke 84
jump LABEL183
LABEL154:
jump LABEL186
LABEL157:
get_varbit 8119
iconst 0
if_icmpeq LABEL158
jump LABEL164
LABEL158:
if_icmpeq LABEL161
jump LABEL167
LABEL161:
iconst 1
iconst 1
invoke 299
sconst "You must set a name before you can chat."
mes
return
LABEL164:
LABEL167:
get_varc_string 359
iconst 0
set_varc_int 62
@@ -238,33 +241,33 @@ LABEL164:
sconst "I1"
iconst 10616845
if_setontimer
jump LABEL183
LABEL176:
jump LABEL186
LABEL179:
iconst 0
iconst 1
invoke 299
return
jump LABEL183
LABEL181:
jump LABEL186
LABEL184:
get_varc_string 359
invoke 2061
LABEL183:
jump LABEL190
LABEL184:
LABEL186:
jump LABEL193
LABEL187:
get_varc_int 5
switch
16: LABEL189
7: LABEL187
8: LABEL187
9: LABEL187
15: LABEL187
jump LABEL190
LABEL187:
return
jump LABEL190
LABEL189:
return
16: LABEL192
7: LABEL190
8: LABEL190
9: LABEL190
15: LABEL190
jump LABEL193
LABEL190:
return
jump LABEL193
LABEL192:
return
LABEL193:
iconst 1
iconst 1
invoke 299

View File

@@ -1 +1 @@
55CFDE9983A73FA698E2F3CF4F79C0E62F40BF154E34A4F01112041928B01CB7
A9577B60999F586BCC424D2312B2D4A5D033DB0A3228719B9BA1DFD9742B92E7

View File

@@ -88,6 +88,10 @@ LABEL40:
iconst 1
iconst 10616887
if_sethide
iconst 0
iconst 0
iconst 10616885
if_setscrollpos
iconst 10616885
cc_deleteall
iconst 10616886
@@ -225,19 +229,19 @@ LABEL40:
if_setonclick
get_varc_int 41
iconst 1337
if_icmpeq LABEL215
jump LABEL219
LABEL215:
if_icmpeq LABEL219
jump LABEL223
LABEL219:
invoke 2526
pop_int
clientclock
set_varc_int 384
LABEL219:
LABEL223:
invoke 1972
iconst 1
if_icmpeq LABEL223
jump LABEL224
LABEL223:
if_icmpeq LABEL227
jump LABEL228
LABEL227:
invoke 2581
LABEL224:
LABEL228:
return

View File

@@ -340,10 +340,8 @@ public class ItemVariationMappingTest
}};
@Test
public void testMappedNames() throws Exception
public void testMappedNames()
{
ItemVariationMapping.load();
ITEMS_MAP.forEach((key, value) ->
assertEquals(value, (Integer) ItemVariationMapping.map(key)));
}