diff --git a/cache/pom.xml b/cache/pom.xml
index e0a9693db1f..fd81c21dcb4 100644
--- a/cache/pom.xml
+++ b/cache/pom.xml
@@ -29,7 +29,7 @@
net.runelite
runelite-parent
- 1.12.7
+ 1.12.8
cache
diff --git a/pom.xml b/pom.xml
index 4faca1a8dd6..5391e2f2570 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
net.runelite
runelite-parent
- 1.12.7
+ 1.12.8
pom
RuneLite
diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml
index afcadf71246..d3b85c76d0e 100644
--- a/runelite-api/pom.xml
+++ b/runelite-api/pom.xml
@@ -29,7 +29,7 @@
net.runelite
runelite-parent
- 1.12.7
+ 1.12.8
runelite-api
diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java
index 1fc458cf93a..e45ecaf8cf5 100644
--- a/runelite-api/src/main/java/net/runelite/api/ItemID.java
+++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java
@@ -16021,5 +16021,10 @@ public final class ItemID
public static final int STEEL_NAILS_32923 = 32923;
public static final int CRATE_OF_ARROWTIPS_32924 = 32924;
public static final int CRATE_OF_CLOTHES_32925 = 32925;
+ public static final int SERVING_PLATTER = 32926;
+ public static final int LOVLEY_JUBBLY_BIB = 32928;
+ public static final int BEER_BELLY_SWEATER = 32930;
+ public static final int JAD_JUMPER = 32932;
+ public static final int CHRISTMAS_DINNER = 32934;
/* This file is automatically generated. Do not edit. */
}
\ No newline at end of file
diff --git a/runelite-api/src/main/java/net/runelite/api/NpcID.java b/runelite-api/src/main/java/net/runelite/api/NpcID.java
index d5b4ce22d53..208db49a95b 100644
--- a/runelite-api/src/main/java/net/runelite/api/NpcID.java
+++ b/runelite-api/src/main/java/net/runelite/api/NpcID.java
@@ -12983,5 +12983,24 @@ public final class NpcID
public static final int TRADER_CREWMEMBER_15544 = 15544;
public static final int TRADER_CREWMEMBER_15545 = 15545;
public static final int TRADER_CREWMEMBER_15546 = 15546;
+ public static final int STOOL = 15548;
+ public static final int SIR_PRYSIN_15549 = 15549;
+ public static final int AGGIE_15550 = 15550;
+ public static final int JOBLESS_JIM_15551 = 15551;
+ public static final int HANS_15552 = 15552;
+ public static final int KARIM_15553 = 15553;
+ public static final int OZIACH_15554 = 15554;
+ public static final int ROMMIK_15555 = 15555;
+ public static final int DORIS_15556 = 15556;
+ public static final int HERQUIN_15557 = 15557;
+ public static final int PUFFIN_15558 = 15558;
+ public static final int COOK_15559 = 15559;
+ public static final int COOK_15560 = 15560;
+ public static final int BARTENDER_15561 = 15561;
+ public static final int WOMAN_15562 = 15562;
+ public static final int JONNY_THE_BEARD_15563 = 15563;
+ public static final int DR_HARLOW_15564 = 15564;
+ public static final int BARBARIAN_15565 = 15565;
+ public static final int MOD_FREDDIE = 15566;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/NullItemID.java b/runelite-api/src/main/java/net/runelite/api/NullItemID.java
index 0cf7d23084a..0508753d71a 100644
--- a/runelite-api/src/main/java/net/runelite/api/NullItemID.java
+++ b/runelite-api/src/main/java/net/runelite/api/NullItemID.java
@@ -16678,5 +16678,10 @@ public final class NullItemID
public static final int NULL_32919 = 32919;
public static final int NULL_32920 = 32920;
public static final int NULL_32922 = 32922;
+ public static final int NULL_32927 = 32927;
+ public static final int NULL_32929 = 32929;
+ public static final int NULL_32931 = 32931;
+ public static final int NULL_32933 = 32933;
+ public static final int NULL_32935 = 32935;
/* This file is automatically generated. Do not edit. */
}
\ No newline at end of file
diff --git a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java
index 35a4c0af240..f7e22939838 100644
--- a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java
+++ b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java
@@ -2444,6 +2444,7 @@ public final class NullNpcID
public static final int NULL_14804 = 14804;
public static final int NULL_14805 = 14805;
public static final int NULL_14806 = 14806;
+ public static final int NULL_14814 = 14814;
public static final int NULL_14827 = 14827;
public static final int NULL_14830 = 14830;
public static final int NULL_14833 = 14833;
@@ -2451,6 +2452,8 @@ public final class NullNpcID
public static final int NULL_14839 = 14839;
public static final int NULL_14842 = 14842;
public static final int NULL_14862 = 14862;
+ public static final int NULL_14864 = 14864;
+ public static final int NULL_14865 = 14865;
public static final int NULL_14884 = 14884;
public static final int NULL_14941 = 14941;
public static final int NULL_14943 = 14943;
@@ -2493,11 +2496,20 @@ public final class NullNpcID
public static final int NULL_15111 = 15111;
public static final int NULL_15123 = 15123;
public static final int NULL_15151 = 15151;
+ public static final int NULL_15178 = 15178;
+ public static final int NULL_15179 = 15179;
+ public static final int NULL_15180 = 15180;
+ public static final int NULL_15181 = 15181;
+ public static final int NULL_15182 = 15182;
+ public static final int NULL_15183 = 15183;
+ public static final int NULL_15184 = 15184;
+ public static final int NULL_15185 = 15185;
public static final int NULL_15186 = 15186;
public static final int NULL_15187 = 15187;
public static final int NULL_15188 = 15188;
public static final int NULL_15189 = 15189;
public static final int NULL_15190 = 15190;
+ public static final int NULL_15237 = 15237;
public static final int NULL_15240 = 15240;
public static final int NULL_15241 = 15241;
public static final int NULL_15242 = 15242;
@@ -2545,5 +2557,6 @@ public final class NullNpcID
public static final int NULL_15493 = 15493;
public static final int NULL_15494 = 15494;
public static final int NULL_15495 = 15495;
+ public static final int NULL_15547 = 15547;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java
index 552c945410e..fd6446485da 100644
--- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java
+++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java
@@ -31286,5 +31286,17 @@ public final class NullObjectID
public static final int NULL_60550 = 60550;
public static final int NULL_60565 = 60565;
public static final int NULL_60569 = 60569;
+ public static final int NULL_60581 = 60581;
+ public static final int NULL_60582 = 60582;
+ public static final int NULL_60583 = 60583;
+ public static final int NULL_60584 = 60584;
+ public static final int NULL_60601 = 60601;
+ public static final int NULL_60602 = 60602;
+ public static final int NULL_60603 = 60603;
+ public static final int NULL_60604 = 60604;
+ public static final int NULL_60605 = 60605;
+ public static final int NULL_60606 = 60606;
+ public static final int NULL_60607 = 60607;
+ public static final int NULL_60615 = 60615;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java
index ba1734f4b2e..229454862da 100644
--- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java
+++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java
@@ -29283,5 +29283,34 @@ public final class ObjectID
public static final int SHRIMP = 60573;
public static final int HAROLD = 60574;
public static final int TENTACLE_60575 = 60575;
+ public static final int TABLE_60576 = 60576;
+ public static final int TABLE_60577 = 60577;
+ public static final int TABLE_60578 = 60578;
+ public static final int TABLE_60579 = 60579;
+ public static final int TABLE_60580 = 60580;
+ public static final int BAR_60585 = 60585;
+ public static final int BAR_60586 = 60586;
+ public static final int BAR_60587 = 60587;
+ public static final int BAR_60588 = 60588;
+ public static final int BAR_60589 = 60589;
+ public static final int BAR_60590 = 60590;
+ public static final int BAR_60591 = 60591;
+ public static final int BAR_60592 = 60592;
+ public static final int BAR_60593 = 60593;
+ public static final int BAR_60594 = 60594;
+ public static final int BAR_60595 = 60595;
+ public static final int BAR_60596 = 60596;
+ public static final int BAR_60597 = 60597;
+ public static final int BAR_60598 = 60598;
+ public static final int BAR_60599 = 60599;
+ public static final int BAR_60600 = 60600;
+ public static final int CRATE_60608 = 60608;
+ public static final int CRATE_60609 = 60609;
+ public static final int CRATE_60610 = 60610;
+ public static final int CRATE_60611 = 60611;
+ public static final int CRATE_60612 = 60612;
+ public static final int CRATE_60613 = 60613;
+ public static final int CRATE_60614 = 60614;
+ public static final int SNOWBALL_PILE_60616 = 60616;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/ScriptID.java b/runelite-api/src/main/java/net/runelite/api/ScriptID.java
index 57921c24880..f1f53fd8e00 100644
--- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java
+++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java
@@ -477,7 +477,7 @@ public final class ScriptID
@ScriptArguments(integer = 3)
public static final int POTIONSTORE_DOSE_CHANGE = 6555;
- @ScriptArguments(integer = 5)
+ @ScriptArguments(integer = 6)
public static final int FAIRYRINGS_SORT_UPDATE = 402;
@ScriptArguments(integer = 1, string = 1)
diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/AnimationID.java b/runelite-api/src/main/java/net/runelite/api/gameval/AnimationID.java
index 2cb67272d86..86ae3717d18 100644
--- a/runelite-api/src/main/java/net/runelite/api/gameval/AnimationID.java
+++ b/runelite-api/src/main/java/net/runelite/api/gameval/AnimationID.java
@@ -13693,5 +13693,10 @@ public final class AnimationID
public static final int VFX_WIND_SAIL_3X10_SPEEDBOOST01 = 13693;
public static final int HUMAN_WORKBENCH_CRAFTING_LOOP = 13694;
public static final int TURTLE_IDLE01_LOOP = 13695;
+ public static final int HUMAN_XMAS25_CHRISTMAS_DINNER_READY = 13696;
+ public static final int HUMAN_XMAS25_CHRISTMAS_DINNER_WALK_F = 13697;
+ public static final int HUMAN_XMAS25_CHRISTMAS_DINNER_WALK_B = 13698;
+ public static final int HUMAN_XMAS25_CHRISTMAS_DINNER_RUN = 13699;
+ public static final int HUMAN_XMAS25_CHRISTMAS_DINNER_ATTACK = 13700;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java b/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java
index 68799bcb63b..e9747857fcd 100644
--- a/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java
+++ b/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java
@@ -438,6 +438,7 @@ public static final class Row
public static final int HALLOWEEN_2024 = 3935;
public static final int XMAS_2024 = 4228;
public static final int BIRTHDAY_2025 = 4318;
+ public static final int XMAS_2025 = 4968;
public static final int EASTER_2025 = 5107;
public static final int HALLOWEEN_2025 = 6989;
}
@@ -5724,6 +5725,7 @@ public static final class Row
public static final int MUSIC_THE_HEIST = 3971;
public static final int MUSIC_HEAVY_SECURITY = 3972;
public static final int MUSIC_THE_PLUNDERED_TOMB = 3973;
+ public static final int MUSIC_CHRISTMAS_2025 = 4969;
public static final int MUSIC_YAMA_COMBAT = 5154;
public static final int MUSIC_TLATI_RAINFOREST = 5377;
public static final int MUSIC_AUBURN_VALLEY_1 = 5378;
diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java b/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java
index d5081f7b2a4..e7569c168b9 100644
--- a/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java
+++ b/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java
@@ -14590,7 +14590,7 @@ public static final class FairyringsLog
public static final int SORT_1 = 0x017d_0004;
public static final int SORT_2 = 0x017d_0005;
public static final int TITLEBOX_TEXT1 = 0x017d_0006;
- public static final int TITLEBOX_GRAPHIC2 = 0x017d_0007;
+ public static final int SEARCH = 0x017d_0007;
public static final int CONTENTS = 0x017d_0008;
public static final int FAVES = 0x017d_0009;
public static final int DIVIDER = 0x017d_000a;
diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/ItemID.java b/runelite-api/src/main/java/net/runelite/api/gameval/ItemID.java
index e9eae18c44a..4876a4e9b88 100644
--- a/runelite-api/src/main/java/net/runelite/api/gameval/ItemID.java
+++ b/runelite-api/src/main/java/net/runelite/api/gameval/ItemID.java
@@ -86066,6 +86066,31 @@ public final class ItemID
*/
public static final int CARGO_CRATE_CLOTHES_VOID_KNIGHTS_OUTPOST = 32925;
+ /**
+ * Serving platter
+ */
+ public static final int XMAS25_SERVING_PLATTER = 32926;
+
+ /**
+ * Lovley jubbly bib
+ */
+ public static final int XMAS25_BIB = 32928;
+
+ /**
+ * Beer belly sweater
+ */
+ public static final int XMAS25_BEER_BELLY_SWEATER = 32930;
+
+ /**
+ * Jad jumper
+ */
+ public static final int XMAS25_CONTEST_JUMPER = 32932;
+
+ /**
+ * Christmas dinner
+ */
+ public static final int XMAS25_CHRISTMAS_DINNER = 32934;
+
public static final class Cert
{
public static final int TWPART1 = 7;
@@ -100145,6 +100170,11 @@ public static final class Placeholder
public static final int IRONWOOD_LOGS = 32909;
public static final int ROSEWOOD_LOGS = 32912;
public static final int JAR_OF_FEATHERS = 32922;
+ public static final int XMAS25_SERVING_PLATTER = 32927;
+ public static final int XMAS25_BIB = 32929;
+ public static final int XMAS25_BEER_BELLY_SWEATER = 32931;
+ public static final int XMAS25_CONTEST_JUMPER = 32933;
+ public static final int XMAS25_CHRISTMAS_DINNER = 32935;
}
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/NpcID.java b/runelite-api/src/main/java/net/runelite/api/gameval/NpcID.java
index df29c4fce58..02343a37bc0 100644
--- a/runelite-api/src/main/java/net/runelite/api/gameval/NpcID.java
+++ b/runelite-api/src/main/java/net/runelite/api/gameval/NpcID.java
@@ -64330,6 +64330,7 @@ public final class NpcID
* Rusty chest
*/
public static final int REINFORCED_PIRATE_THIEVING_CHEST_GLE = 14813;
+ public static final int XMAS25_QUEUE_NPC_1 = 14814;
/**
* Spooky chair
@@ -64547,6 +64548,8 @@ public final class NpcID
* Elder Nama
*/
public static final int SLAYER_GRYPHON_BOSS_GUARDIAN_VIS = 14863;
+ public static final int XMAS25_QUEUE_NPC_2 = 14864;
+ public static final int XMAS25_QUEUE_NPC_3 = 14865;
/**
* Henderson
@@ -65939,6 +65942,14 @@ public final class NpcID
* Sailing cat
*/
public static final int SAILING_CHARTING_DRINK_CRATE_SAILING_CAT_EFFECT = 15177;
+ public static final int XMAS25_QUEUE_NPC_4 = 15178;
+ public static final int XMAS25_QUEUE_NPC_5 = 15179;
+ public static final int XMAS25_QUEUE_NPC_6 = 15180;
+ public static final int XMAS25_QUEUE_NPC_7 = 15181;
+ public static final int XMAS25_QUEUE_NPC_8 = 15182;
+ public static final int XMAS25_QUEUE_NPC_9 = 15183;
+ public static final int XMAS25_TABLE_NPC_1 = 15184;
+ public static final int XMAS25_TABLE_NPC_2 = 15185;
public static final int BOAT_HP_NPC_TINY = 15186;
public static final int BOAT_HP_NPC_SMALL = 15187;
public static final int BOAT_HP_NPC_MEDIUM = 15188;
@@ -66174,6 +66185,7 @@ public final class NpcID
* Dolphin calf
*/
public static final int SAILING_DOLPHIN_BABY = 15236;
+ public static final int XMAS25_TABLE_NPC_3 = 15237;
/**
* Junior Jim
@@ -67531,5 +67543,101 @@ public final class NpcID
* Trader Crewmember
*/
public static final int SAILING_TRANSPORT_TRADER_STAN_CREW_WOMAN3_PORT_ROBERTS = 15546;
+ public static final int XMAS25_TABLE_NPC_4 = 15547;
+
+ /**
+ * <col=00ffff>Stool
+ */
+ public static final int XMAS25_STOOL_EMPTY = 15548;
+
+ /**
+ * Sir Prysin
+ */
+ public static final int XMAS25_SIR_PRYSIN = 15549;
+
+ /**
+ * Aggie
+ */
+ public static final int XMAS25_AGGIE = 15550;
+
+ /**
+ * Jobless Jim
+ */
+ public static final int XMAS25_JOBLESS_JIM = 15551;
+
+ /**
+ * Hans
+ */
+ public static final int XMAS25_HANS = 15552;
+
+ /**
+ * Karim
+ */
+ public static final int XMAS25_KARIM = 15553;
+
+ /**
+ * Oziach
+ */
+ public static final int XMAS25_OZIACH = 15554;
+
+ /**
+ * Rommik
+ */
+ public static final int XMAS25_ROMMIK = 15555;
+
+ /**
+ * Doris
+ */
+ public static final int XMAS25_DORIS = 15556;
+
+ /**
+ * Herquin
+ */
+ public static final int XMAS25_HERQUIN = 15557;
+
+ /**
+ * Puffin
+ */
+ public static final int XMAS25_PUFFIN = 15558;
+
+ /**
+ * Cook
+ */
+ public static final int XMAS25_CUTSCENE_CHEF_WITH_PLATE = 15559;
+
+ /**
+ * Cook
+ */
+ public static final int XMAS25_CUTSCENE_CHEF_NO_PLATE = 15560;
+
+ /**
+ * Bartender
+ */
+ public static final int XMAS25_CUTSCENE_BARTENDER = 15561;
+
+ /**
+ * Woman
+ */
+ public static final int XMAS25_CUTSCENE_WOMAN1 = 15562;
+
+ /**
+ * Jonny the Beard
+ */
+ public static final int XMAS25_CUTSCENE_JONNY = 15563;
+
+ /**
+ * Dr Harlow
+ */
+ public static final int XMAS25_CUTSCENE_DR_HARLOW = 15564;
+
+ /**
+ * Barbarian
+ */
+ public static final int XMAS25_CUTSCENE_BARBARIAN = 15565;
+
+ /**
+ * Mod_Freddie
+ */
+ public static final int XMAS25_CUTSCENE_FREDDIE = 15566;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java b/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java
index 20dd16d4305..68253e1606f 100644
--- a/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java
+++ b/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java
@@ -77888,5 +77888,162 @@ class ObjectID1
* Tentacle
*/
public static final int HAZARDOUS_WATER_PROFANE_GHOST = 60575;
+
+ /**
+ * Table
+ */
+ public static final int XMAS25_TABLE01_EMPTY01 = 60576;
+
+ /**
+ * Table
+ */
+ public static final int XMAS25_TABLE01_EMPTY01_OP1 = 60577;
+
+ /**
+ * Table
+ */
+ public static final int XMAS25_TABLE01_DRINK01 = 60578;
+
+ /**
+ * Table
+ */
+ public static final int XMAS25_TABLE01_FOOD01 = 60579;
+
+ /**
+ * Table
+ */
+ public static final int XMAS25_TABLE01_VEGETABLE01 = 60580;
+ public static final int XMAS25_TABLE_1 = 60581;
+ public static final int XMAS25_TABLE_2 = 60582;
+ public static final int XMAS25_TABLE_3 = 60583;
+ public static final int XMAS25_TABLE_4 = 60584;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_DRINKS_BAR_MIDDLE = 60585;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_DRINKS_BAR_MIDDLE_INTERACT = 60586;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_DRINKS_BAR_MIDDLE2 = 60587;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_DRINKS_BAR_MIDDLE2_INTERACT = 60588;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_DRINKS_BAR_LEFT = 60589;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_DRINKS_BAR_LEFT_INTERACT = 60590;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_DRINKS_BAR_RIGHT = 60591;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_DRINKS_BAR_RIGHT_INTERACT = 60592;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_BAR_MIDDLE = 60593;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_BAR_MIDDLE_INTERACT = 60594;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_BAR_MIDDLE2 = 60595;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_BAR_MIDDLE2_INTERACT = 60596;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_BAR_MIDDLE3 = 60597;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_BAR_MIDDLE3_INTERACT = 60598;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_BAR_LEFT = 60599;
+
+ /**
+ * Bar
+ */
+ public static final int XMAS25_BLUE_INN_BAR_RIGHT = 60600;
+ public static final int XMAS25_BAR_DRINKS_MIDDLE = 60601;
+ public static final int XMAS25_BAR_DRINKS_MIDDLE2 = 60602;
+ public static final int XMAS25_BAR_DRINKS_LEFT = 60603;
+ public static final int XMAS25_BAR_DRINKS_RIGHT = 60604;
+ public static final int XMAS25_BAR_MIDDLE = 60605;
+ public static final int XMAS25_BAR_MIDDLE2 = 60606;
+ public static final int XMAS25_BAR_MIDDLE3 = 60607;
+
+ /**
+ * Crate
+ */
+ public static final int XMAS25_CRATE01_CARROT01 = 60608;
+
+ /**
+ * Crate
+ */
+ public static final int XMAS25_CRATE01_TOMATO01 = 60609;
+
+ /**
+ * Crate
+ */
+ public static final int XMAS25_CRATE01_VEGETABLE01 = 60610;
+
+ /**
+ * Crate
+ */
+ public static final int XMAS25_CRATE01_BROCCOLI01 = 60611;
+
+ /**
+ * Crate
+ */
+ public static final int XMAS25_CRATE01_FRUIT01 = 60612;
+
+ /**
+ * Crate
+ */
+ public static final int XMAS25_CRATE01_FISH01 = 60613;
+
+ /**
+ * Crate
+ */
+ public static final int XMAS25_CRATE01_MEAT01 = 60614;
+ public static final int XMAS22_DECORATION_HOLLYWREATH01_WALL01 = 60615;
+
+ /**
+ * Snowball pile
+ */
+ public static final int XMAS25_SNOWBALL_PILE = 60616;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/VarClientID.java b/runelite-api/src/main/java/net/runelite/api/gameval/VarClientID.java
index 0ac3857db57..ab09a0a779a 100644
--- a/runelite-api/src/main/java/net/runelite/api/gameval/VarClientID.java
+++ b/runelite-api/src/main/java/net/runelite/api/gameval/VarClientID.java
@@ -1348,5 +1348,6 @@ public final class VarClientID
public static final int CAMERA_ZOOM_BIG_MAX = 1341;
public static final int SAILING_LAST_BOAT_HP = 1342;
public static final int SETTINGS_DEV_EXAMPLE_INT = 1343;
+ public static final int FAIRYRINGS_SEARCHSTRING = 1344;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java b/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java
index 451b9cfedf5..ae12726b374 100644
--- a/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java
+++ b/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java
@@ -2582,5 +2582,8 @@ public final class VarPlayerID
public static final int SAILING_BOAT_CARGOHOLD_SIDE_WHITELIST = 5205;
public static final int PORT_TASKS_COMPLETED = 5207;
public static final int SAILING_SHIPWRECK_RAREITEMS = 5208;
+ public static final int XMAS_25_1 = 5214;
+ public static final int XMAS_25_2 = 5215;
+ public static final int XMAS_25_3 = 5216;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java b/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java
index 9a94ad6475f..12cb7851675 100644
--- a/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java
+++ b/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java
@@ -11122,6 +11122,7 @@ public final class VarbitID
public static final int SETTINGS_HD_NEW_RENDERER_TOGGLE = 16617;
public static final int SETTINGS_HD_WARNING_SHOWN = 16618;
public static final int SETTINGS_SD_BETA_ENABLED = 16619;
+ public static final int SAILING_WARNING_TELEPORTOFFBOAT = 16620;
public static final int SETTINGS_WORLD_MAP_HOTKEY_DISABLED = 16621;
public static final int CHARGES_EYE_OF_AYAK_QUANTITY = 16623;
public static final int PMOON_EYATLALLI_VIS = 16624;
@@ -13842,7 +13843,33 @@ public final class VarbitID
public static final int SETTINGS_IRONMAN_CARGO_WARNING_TEMP = 19612;
public static final int SAILING_CREW_GHOST_JENKINS_VISIBILITY_CONTROL = 19613;
public static final int SETTINGS_CARGO_HOLD_PRIVACY = 19614;
- public static final int SAILING_LIKELY_BOTTER_IDENTIFIED = 19615;
public static final int BOAT_REPAIR_COST_WARNING_DISMISSED = 19616;
+ public static final int XMAS_25_MAIN = 19618;
+ public static final int XMAS_25_NPC_QUEUE = 19619;
+ public static final int XMAS_25_SEAT_ID_1 = 19620;
+ public static final int XMAS_25_SEAT_ID_2 = 19621;
+ public static final int XMAS_25_SEAT_ID_3 = 19622;
+ public static final int XMAS_25_SEAT_ID_4 = 19623;
+ public static final int XMAS25_CURRENT_TABLE = 19624;
+ public static final int XMAS25_FOOD_CORRECT_MAIN = 19625;
+ public static final int XMAS25_FOOD_CORRECT_SIDE_1 = 19626;
+ public static final int XMAS_25_TABLE_ID_1 = 19627;
+ public static final int XMAS_25_TABLE_ID_2 = 19628;
+ public static final int XMAS_25_TABLE_ID_3 = 19629;
+ public static final int XMAS_25_TABLE_ID_4 = 19630;
+ public static final int XMAS_25_BAR_INTERACTABLE = 19631;
+ public static final int XMAS_25_BAR_DRINKS = 19632;
+ public static final int XMAS_25_BAR_CORRECT_DRINK = 19633;
+ public static final int XMAS25_TABLE_1_STATE = 19634;
+ public static final int XMAS25_TABLE_2_STATE = 19635;
+ public static final int XMAS25_TABLE_3_STATE = 19636;
+ public static final int XMAS25_TABLE_4_STATE = 19637;
+ public static final int XMAS25_FOOD_CORRECT_SIDE_2 = 19638;
+ public static final int XMAS25_FOOD_CORRECT_SIDE_3 = 19639;
+ public static final int XMAS25_FOOD_MAIN = 19640;
+ public static final int XMAS25_FOOD_SIDE_1 = 19641;
+ public static final int XMAS25_FOOD_SIDE_2 = 19642;
+ public static final int XMAS25_FOOD_SIDE_3 = 19643;
+ public static final int SAILING_UNEXPECTED_INPUT_LOGGED = 19645;
/* This file is automatically generated. Do not edit. */
}
diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml
index bc2b8b3f5be..18fe7b4c6d9 100644
--- a/runelite-client/pom.xml
+++ b/runelite-client/pom.xml
@@ -29,7 +29,7 @@
net.runelite
runelite-parent
- 1.12.7
+ 1.12.8
client
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java
index 11a4fdd819a..60204c5495c 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java
@@ -1206,7 +1206,7 @@ public class CrypticClue extends ClueScroll implements NpcClueScroll, ObjectClue
.text("Robin wishes to see your finest ranged equipment.")
.location(new WorldPoint(3673, 3492, 0))
.npc("Robin")
- .solution("Robin at the inn in Port Phasmatys. Speak to him with +181 in ranged attack bonus. Bonus granted by the toxic blowpipe is ignored.")
+ .solution("Robin at the inn in Port Phasmatys. Speak to him with +180 in ranged attack bonus. Bonus granted by the toxic blowpipe is ignored.")
.build(),
CrypticClue.builder()
.itemId(ItemID.TRAIL_CLUE_HARD_RIDDLE001)
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java
index c3694ac87cc..6b9fb0c0a5d 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java
@@ -152,6 +152,7 @@ public enum HotColdLocation
SAIL_GREAT_CONCH(MASTER, new WorldPoint(3249, 2349, 0), OCEAN, "In the south-eastern mine of the Great Conch", BRASSICAN_MAGE),
SAIL_ISLE_OF_SERPENTS(MASTER, new WorldPoint(1856, 2415, 0), OCEAN, "On the Isle of Serpents", BRASSICAN_MAGE),
SAIL_DRUMSTICK_ISLE(MASTER, new WorldPoint(2139, 3562, 0), OCEAN, "On Drumstick Isle", BRASSICAN_MAGE),
+ SAIL_BUCCANEERS_HAVEN(MASTER, new WorldPoint(2078, 3665, 0), OCEAN, "On Buccaneers' Haven", BRASSICAN_MAGE),
VARLAMORE_BAZAAR(MASTER, new WorldPoint(1680, 3107, 0), VARLAMORE, "In the centre of the Bazaar in Civitas illa Fortis.", BRASSICAN_MAGE),
VARLAMORE_LOCUS_OASIS(MASTER, new WorldPoint(1695, 2990, 0), VARLAMORE, "Amongst the trees at the Locus Oasis.", BRASSICAN_MAGE),
VARLAMORE_RAINFOREST_CENTRE(MASTER, new WorldPoint(1312, 3108, 0), VARLAMORE, "In the centre of the Tlati Rainforest.", BRASSICAN_MAGE),
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingConfig.java
index ddc3ab8c16a..c533fc225ec 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingConfig.java
@@ -26,21 +26,10 @@
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
-import net.runelite.client.config.ConfigItem;
@ConfigGroup(FairyRingConfig.CONFIG_GROUP)
public interface FairyRingConfig extends Config
{
String CONFIG_GROUP = "fairyrings";
String CONFIG_GROUP_TAGS = "fairyringtags";
-
- @ConfigItem(
- keyName = "autoOpen",
- name = "Open search automatically",
- description = "Open the search widget every time you enter a fairy ring."
- )
- default boolean autoOpen()
- {
- return true;
- }
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java
index 6aba4ce7f0d..3d43ee0379b 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java
@@ -125,11 +125,6 @@ public void onWidgetLoaded(WidgetLoaded widgetLoaded)
if (widgetLoaded.getGroupId() == InterfaceID.FAIRYRINGS_LOG)
{
setWidgetTextToDestination();
-
- if (config.autoOpen())
- {
- clientThread.invokeLater(() -> openSearch());
- }
}
}
@@ -156,9 +151,10 @@ private void setWidgetTextToDestination()
private void openSearch()
{
- var widget = client.getWidget(InterfaceID.FairyringsLog.TITLEBOX_GRAPHIC2);
+ var widget = client.getWidget(InterfaceID.FairyringsLog.SEARCH);
if (widget != null)
{
+ client.setVarcStrValue(VarClientID.MESLAYERINPUT, "");
client.createScriptEvent(widget.getOnOpListener())
.setOp(1)
.run();
@@ -193,7 +189,7 @@ else if ("fairyringFilterDbrow".equals(ev.getEventName()))
tags = ring.getTags();
}
- var filter = client.getVarcStrValue(VarClientID.MESLAYERINPUT).toLowerCase();
+ var filter = client.getVarcStrValue(VarClientID.FAIRYRINGS_SEARCHSTRING).toLowerCase();
if (code.toLowerCase().contains(filter)
|| tags != null && tags.contains(filter)
@@ -270,10 +266,7 @@ private void setTagMenuOpen(MenuEntry menuEntry)
.onDone(s ->
{
setConfigTags(code, s);
- if (config.autoOpen())
- {
- clientThread.invokeLater(this::openSearch);
- }
+ clientThread.invokeLater(() -> clientThread.invokeLater(this::openSearch));
})
.build();
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java
index fee9d2dc770..dae3ce22ca8 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java
@@ -1048,8 +1048,6 @@ public void drawZoneOpaque(Projection entityProjection, Scene scene, int zx, int
@Override
public void drawZoneAlpha(Projection entityProjection, Scene scene, int level, int zx, int zz)
{
- updateEntityProjection(entityProjection);
-
SceneContext ctx = context(scene);
if (ctx == null)
{
@@ -1065,6 +1063,9 @@ public void drawZoneAlpha(Projection entityProjection, Scene scene, int level, i
return;
}
+ updateEntityProjection(entityProjection);
+ glUniform4i(uniEntityTint, scene.getOverrideHue(), scene.getOverrideSaturation(), scene.getOverrideLuminance(), scene.getOverrideAmount());
+
int offset = scene.getWorldViewId() == -1 ? (SCENE_OFFSET >> 3) : 0;
int dx = ctx.cameraX - ((zx - offset) << 10);
int dz = ctx.cameraZ - ((zz - offset) << 10);
@@ -1076,7 +1077,7 @@ public void drawZoneAlpha(Projection entityProjection, Scene scene, int level, i
z.multizoneLocs(scene, zx - offset, zz - offset, ctx.cameraX, ctx.cameraZ, ctx.zones);
}
- z.renderAlpha(zx - offset, zz - offset, cameraYaw, cameraPitch, ctx.minLevel, ctx.level, ctx.maxLevel, level, ctx.hideRoofIds, !close);
+ z.renderAlpha(zx - offset, zz - offset, cameraYaw, cameraPitch, ctx.minLevel, ctx.level, ctx.maxLevel, level, ctx.hideRoofIds, !close || (scene.getOverrideAmount() > 0));
checkGLErrors();
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotPlugin.java
index 2a75a27d809..16f46397145 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotPlugin.java
@@ -50,7 +50,6 @@
import java.awt.image.BufferedImage;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
-import java.time.Instant;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -304,7 +303,7 @@ public void onGameStateChanged(GameStateChanged gameStateChanged)
final Client client = Microbot.getClient();
if (client != null) {
int[] currentRegions = client.getTopLevelWorldView().getMapRegions();
- boolean wasLoggedIn = LoginManager.isLoggedIn();
+ boolean wasLoggedIn = LoginManager.getLastKnownGameState() == GameState.LOGGED_IN;
if (!wasLoggedIn) {
LoginManager.markLoggedIn();
Rs2RunePouch.fullUpdate();
@@ -315,7 +314,6 @@ public void onGameStateChanged(GameStateChanged gameStateChanged)
if (currentRegions != null) {
Microbot.setLastKnownRegions(currentRegions.clone());
}
- LoginManager.markLoggedIn();
}
}
if (gameStateChanged.getGameState() == GameState.HOPPING || gameStateChanged.getGameState() == GameState.LOGIN_SCREEN || gameStateChanged.getGameState() == GameState.CONNECTION_LOST)
@@ -329,6 +327,8 @@ public void onGameStateChanged(GameStateChanged gameStateChanged)
}
Microbot.setLastKnownRegions(null);
}
+ // update last known game state to track login/logout transitions
+ LoginManager.setLastKnownGameState(gameStateChanged.getGameState());
}
@Subscribe
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/security/LoginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/security/LoginManager.java
index 865e1247d1c..9f21ad74a91 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/security/LoginManager.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/security/LoginManager.java
@@ -39,21 +39,31 @@ public final class LoginManager {
private static final Object LOGIN_LOCK = new Object();
private static final AtomicBoolean LOGIN_ATTEMPT_ACTIVE = new AtomicBoolean(false);
private static final AtomicReference LAST_LOGIN_ATTEMPT = new AtomicReference<>(null);
+ private static final AtomicReference LAST_KNOWN_GAME_STATE = new AtomicReference<>(GameState.UNKNOWN);
- @Getter
- private static Instant lastLoginTimestamp = null;
-
+ private static final AtomicReference lastLoginTimestamp = new AtomicReference<>(null);
@Setter
public static ConfigProfile activeProfile = null;
public static ConfigProfile getActiveProfile() {
return Microbot.getConfigManager().getProfile();
+ }
+
+ public static Instant getLastLoginTimestamp() {
+ return lastLoginTimestamp.get();
+ }
+
+ public static GameState getLastKnownGameState() {
+ return LAST_KNOWN_GAME_STATE.get();
+ }
+ public static void setLastKnownGameState(GameState gameState) {
+ LAST_KNOWN_GAME_STATE.set(gameState);
}
private LoginManager() {
- // Utility class
+ throw new IllegalStateException("Unable to instantiate utility class");
}
/**
@@ -86,7 +96,7 @@ public static void markLoggedIn() {
// Only set timestamp if client reports logged in.
if (isLoggedIn()) {
LOGIN_ATTEMPT_ACTIVE.set(false);
- lastLoginTimestamp = Instant.now();
+ lastLoginTimestamp.set(Instant.now());
}
}
@@ -101,10 +111,10 @@ public static void markLoggedOut() {
* Returns the duration the account has been logged in for. Equivalent to Microbot.getLoginTime().
*/
public static Duration getLoginDuration() {
- if (lastLoginTimestamp == null || !isLoggedIn()) {
+ if (getLastLoginTimestamp() == null || !isLoggedIn()) {
return Duration.of(0, ChronoUnit.MILLIS);
}
- return Duration.between(lastLoginTimestamp, Instant.now());
+ return Duration.between(getLastLoginTimestamp(), Instant.now());
}
/**
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java
index 1e2381f6db5..92273b527ff 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java
@@ -157,7 +157,7 @@ protected void shutDown()
@Subscribe
public void onVarbitChanged(VarbitChanged event)
{
- if (inMlm)
+ if (inMlm && event.getVarbitId() == VarbitID.MOTHERLODE_SACK_TRANSMIT)
{
int lastSackValue = curSackSize;
refreshSackValues();
diff --git a/runelite-client/src/main/scripts/fairyrings_sort_update.hash b/runelite-client/src/main/scripts/fairyrings_sort_update.hash
index 68dda177ddc..7d63867f61f 100644
--- a/runelite-client/src/main/scripts/fairyrings_sort_update.hash
+++ b/runelite-client/src/main/scripts/fairyrings_sort_update.hash
@@ -1 +1 @@
-7245804424EB949F248D65FB11DDA8AB75D26B7390D2F7C4BD8FABB15F2FCF62
\ No newline at end of file
+7ED1D781716DC9AF9DEE535F03E7FEAFF265EEC4839EAF4937636FC5B3CC096C
\ No newline at end of file
diff --git a/runelite-client/src/main/scripts/fairyrings_sort_update.rs2asm b/runelite-client/src/main/scripts/fairyrings_sort_update.rs2asm
index be44b65293e..031199f2082 100644
--- a/runelite-client/src/main/scripts/fairyrings_sort_update.rs2asm
+++ b/runelite-client/src/main/scripts/fairyrings_sort_update.rs2asm
@@ -38,24 +38,29 @@ LABEL22:
iconst 773
iconst 788
invoke 31
- jump LABEL45
+ jump LABEL49
LABEL32:
+ iload 3
+ iconst 0
+ if_icmpeq LABEL36
+ jump LABEL49
+LABEL36:
iconst 2266
iconst 1
iconst 0
sound_synth
get_varc_int 54
iconst 1
- if_icmpeq LABEL40
- jump LABEL43
-LABEL40:
+ if_icmpeq LABEL44
+ jump LABEL47
+LABEL44:
iconst 0
set_varc_int 54
- jump LABEL45
-LABEL43:
+ jump LABEL49
+LABEL47:
iconst 1
set_varc_int 54
-LABEL45:
+LABEL49:
iconst -1
istore 6
iconst -1
@@ -69,15 +74,15 @@ LABEL45:
istore 9
iload 9
iconst 0
- if_icmple LABEL60
- jump LABEL62
-LABEL60:
+ if_icmple LABEL64
+ jump LABEL66
+LABEL64:
iconst 143
istore 9
-LABEL62:
+LABEL66:
iload 0
cc_deleteall
- iload 4
+ iload 5
cc_deleteall
iconst 17
istore 10
@@ -91,12 +96,12 @@ LABEL62:
istore 14
invoke 8081
ostore 0
-LABEL78:
+LABEL82:
iload 12
iconst 10
- if_icmplt LABEL82
+ if_icmplt LABEL86
jump LABEL241
-LABEL82:
+LABEL86:
iconst 105
iconst 73
iconst 1297
@@ -115,16 +120,11 @@ LABEL82:
iload 12
enum
istore 7
- iload 5
- iconst 1
- if_icmpeq LABEL104
- jump LABEL126
-LABEL104:
oload 0
string_length
iconst 0
if_icmpgt LABEL109
- jump LABEL125
+ jump LABEL126
LABEL109:
iload 6
if_gettext
@@ -275,7 +275,7 @@ LABEL236:
iconst 1
add
istore 12
- jump LABEL78
+ jump LABEL82
LABEL241:
iload 13
iconst 0
@@ -288,13 +288,13 @@ LABEL245:
istore 11
LABEL249:
iload 13
- iload 3
+ iload 4
if_sethide
iconst 0
iload 11
iconst 1
iconst 0
- iload 4
+ iload 5
if_setsize
iconst -1
istore 15
@@ -315,7 +315,7 @@ LABEL273:
iload 17
iconst -1
if_icmpne LABEL277
- jump LABEL360
+ jump LABEL356
LABEL277:
iload 17
iconst 364608
@@ -325,19 +325,14 @@ LABEL277:
iload 15
iconst -1
if_icmpne LABEL286
- jump LABEL357
+ jump LABEL353
LABEL286:
- iload 5
- iconst 1
- if_icmpeq LABEL290
- jump LABEL312
-LABEL290:
oload 0
string_length
iconst 0
- if_icmpgt LABEL295
- jump LABEL311
-LABEL295:
+ if_icmpgt LABEL291
+ jump LABEL308
+LABEL291:
iload 15
if_gettext
lowercase
@@ -347,27 +342,27 @@ LABEL295:
iconst 0
string_indexof_string
iconst -1
- if_icmpne LABEL306
- jump LABEL309
-LABEL306:
+ if_icmpne LABEL302
+ jump LABEL305
+LABEL302:
iconst 1
istore 14
- jump LABEL311
-LABEL309:
+ jump LABEL307
+LABEL305:
iconst 0
istore 14
-LABEL311:
+LABEL307:
iload 17 ;
iload 14 ;
sconst "fairyringFilterDbrow" ;
runelite_callback ;
istore 14 ;
pop_int ;
- jump LABEL314
-LABEL312:
+ jump LABEL310
+LABEL308:
iconst 1
istore 14
-LABEL314:
+LABEL310:
iload 17
iconst 364624
iconst 0
@@ -377,26 +372,26 @@ LABEL314:
if_gettext
string_length
iconst 0
- if_icmpgt LABEL325
- jump LABEL347
-LABEL325:
+ if_icmpgt LABEL321
+ jump LABEL343
+LABEL321:
iload 14
iconst 1
- if_icmpeq LABEL329
- jump LABEL347
-LABEL329:
+ if_icmpeq LABEL325
+ jump LABEL343
+LABEL325:
iconst 0
iload 15
if_sethide
iload 7
iconst -1
- if_icmpne LABEL336
- jump LABEL339
-LABEL336:
+ if_icmpne LABEL332
+ jump LABEL335
+LABEL332:
iconst 0
iload 7
if_sethide
-LABEL339:
+LABEL335:
iload 16
iload 15
set_array_int 1
@@ -404,42 +399,42 @@ LABEL339:
iconst 1
add
istore 16
- jump LABEL357
-LABEL347:
+ jump LABEL353
+LABEL343:
iconst 1
iload 15
if_sethide
iload 7
iconst -1
- if_icmpne LABEL354
- jump LABEL357
-LABEL354:
+ if_icmpne LABEL350
+ jump LABEL353
+LABEL350:
iconst 1
iload 7
if_sethide
-LABEL357:
+LABEL353:
db_findnext
istore 17
jump LABEL273
-LABEL360:
+LABEL356:
iload 16
iconst 0
- if_icmpgt LABEL364
- jump LABEL382
-LABEL364:
+ if_icmpgt LABEL360
+ jump LABEL378
+LABEL360:
get_varc_int 54
iconst 1
- if_icmpeq LABEL368
- jump LABEL375
-LABEL368:
+ if_icmpeq LABEL364
+ jump LABEL371
+LABEL364:
oload 1
iconst 0
iload 16
iconst 1
sub
invoke 1341
- jump LABEL382
-LABEL375:
+ jump LABEL378
+LABEL371:
oload 1
iconst 0
iload 16
@@ -447,15 +442,15 @@ LABEL375:
sub
iconst 823
invoke 1342
-LABEL382:
+LABEL378:
iload 0
cc_deleteall
-LABEL384:
+LABEL380:
iload 18
iload 16
- if_icmplt LABEL388
- jump LABEL508
-LABEL388:
+ if_icmplt LABEL384
+ jump LABEL504
+LABEL384:
iconst 364608
iload 18
get_array_int 1
@@ -466,9 +461,9 @@ LABEL388:
istore 17
iload 17
iconst -1
- if_icmpne LABEL400
- jump LABEL410
-LABEL400:
+ if_icmpne LABEL396
+ jump LABEL406
+LABEL396:
iload 17
iconst 364624
iconst 0
@@ -479,7 +474,7 @@ LABEL400:
iconst 0
db_getfield
ostore 2
-LABEL410:
+LABEL406:
iload 18
get_array_int 1
if_gettext
@@ -493,16 +488,16 @@ LABEL410:
istore 10
iload 7
iconst -1
- if_icmpne LABEL425
- jump LABEL431
-LABEL425:
+ if_icmpne LABEL421
+ jump LABEL427
+LABEL421:
iconst 2
iload 11
iconst 0
iconst 0
iload 7
if_setposition
-LABEL431:
+LABEL427:
iload 9
iload 10
iconst 0
@@ -579,22 +574,17 @@ LABEL431:
iconst 1
add
istore 18
- jump LABEL384
-LABEL508:
+ jump LABEL380
+LABEL504:
iconst 24969356
if_gettext
ostore 2
- iload 5
- iconst 1
- if_icmpeq LABEL515
- jump LABEL536
-LABEL515:
oload 0
string_length
iconst 0
- if_icmpgt LABEL520
- jump LABEL536
-LABEL520:
+ if_icmpgt LABEL512
+ jump LABEL528
+LABEL512:
iconst 24969356
if_gettext
lowercase
@@ -604,27 +594,27 @@ LABEL520:
iconst 0
string_indexof_string
iconst -1
- if_icmpne LABEL531
- jump LABEL534
-LABEL531:
+ if_icmpne LABEL523
+ jump LABEL526
+LABEL523:
iconst 1
istore 14
- jump LABEL536
-LABEL534:
+ jump LABEL528
+LABEL526:
iconst 0
istore 14
-LABEL536:
+LABEL528:
oload 2
string_length
iconst 0
- if_icmpgt LABEL541
- jump LABEL591
-LABEL541:
+ if_icmpgt LABEL533
+ jump LABEL583
+LABEL533:
iload 14
iconst 1
- if_icmpeq LABEL545
- jump LABEL591
-LABEL545:
+ if_icmpeq LABEL537
+ jump LABEL583
+LABEL537:
iconst 0
iconst 24969356
if_sethide
@@ -670,30 +660,30 @@ LABEL545:
iconst 3
add
istore 11
- jump LABEL594
-LABEL591:
+ jump LABEL586
+LABEL583:
iconst 1
iconst 24969356
if_sethide
-LABEL594:
+LABEL586:
iload 11
iconst 0
- if_icmpgt LABEL598
- jump LABEL602
-LABEL598:
+ if_icmpgt LABEL590
+ jump LABEL594
+LABEL590:
iload 11
iconst 3
sub
istore 11
-LABEL602:
+LABEL594:
iload 0
if_getheight
istore 10
iload 11
iconst 0
- if_icmple LABEL609
- jump LABEL640
-LABEL609:
+ if_icmple LABEL601
+ jump LABEL632
+LABEL601:
iload 0
iconst 4
iload 18
@@ -725,12 +715,12 @@ LABEL609:
iconst 1
add
istore 18
-LABEL640:
+LABEL632:
iload 11
iload 10
- if_icmpgt LABEL644
- jump LABEL659
-LABEL644:
+ if_icmpgt LABEL636
+ jump LABEL651
+LABEL636:
iconst 0
iload 11
iload 0
@@ -741,21 +731,21 @@ LABEL644:
istore 10
get_varc_int
iload 10
- if_icmpgt LABEL656
- jump LABEL658
-LABEL656:
+ if_icmpgt LABEL648
+ jump LABEL650
+LABEL648:
iload 10
set_varc_int
-LABEL658:
- jump LABEL665
-LABEL659:
+LABEL650:
+ jump LABEL657
+LABEL651:
iconst 0
iconst 0
iload 0
if_setscrollsize
iconst 0
set_varc_int
-LABEL665:
+LABEL657:
iload 1
iload 0
get_varc_int
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/motherlode/MotherlodePluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/motherlode/MotherlodePluginTest.java
index 45d96bc4cc5..3b8be817e6c 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/motherlode/MotherlodePluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/motherlode/MotherlodePluginTest.java
@@ -103,8 +103,10 @@ public void testOreCounter()
motherlodePlugin.onGameStateChanged(gameStateChanged);
// Initial sack count
+ VarbitChanged sackVarbit = new VarbitChanged();
+ sackVarbit.setVarbitId(VarbitID.MOTHERLODE_SACK_TRANSMIT);
when(client.getVarbitValue(VarbitID.MOTHERLODE_SACK_TRANSMIT)).thenReturn(42);
- motherlodePlugin.onVarbitChanged(new VarbitChanged());
+ motherlodePlugin.onVarbitChanged(sackVarbit);
// Create before inventory
ItemContainer inventory = mock(ItemContainer.class);
@@ -123,7 +125,7 @@ public void testOreCounter()
// Withdraw 20
when(client.getVarbitValue(VarbitID.MOTHERLODE_SACK_TRANSMIT)).thenReturn(22);
- motherlodePlugin.onVarbitChanged(new VarbitChanged());
+ motherlodePlugin.onVarbitChanged(sackVarbit);
inventory = mock(ItemContainer.class);
// +1 rune, +4 nugget, +2 coal, +1 addy
diff --git a/runelite-jshell/pom.xml b/runelite-jshell/pom.xml
index 23470d1f39e..d0ecbc9000c 100644
--- a/runelite-jshell/pom.xml
+++ b/runelite-jshell/pom.xml
@@ -30,7 +30,7 @@
net.runelite
runelite-parent
- 1.12.7
+ 1.12.8
jshell
diff --git a/runelite-maven-plugin/pom.xml b/runelite-maven-plugin/pom.xml
index 13115af3fe6..1e6f4da09dc 100644
--- a/runelite-maven-plugin/pom.xml
+++ b/runelite-maven-plugin/pom.xml
@@ -29,7 +29,7 @@
net.runelite
runelite-parent
- 1.12.7
+ 1.12.8
runelite-maven-plugin