nebius/SWE-rebench-V2-PRs huggingface dataset:
Repository: runelite/runelite
Pull request #17564 (2024-03-09 10:32:28)

Correct mining message pattern for runite ore
The mining plugin previously did not correctly track runite ore.


Patch:
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java
index 6a55d46b5..f51eb6ddf 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java
@@ -93,7 +93,7 @@ public class MiningPlugin extends Plugin
 			"(?:manage to|just)" +
 			" (?:mined?|quarry) " +
 			"(?:some|an?) " +
-			"(?:copper|tin|clay|iron|silver|coal|gold|mithril|adamantite|runeite|amethyst|sandstone|granite|barronite shards|barronite deposit|Opal|piece of Jade|Red Topaz|Emerald|Sapphire|Ruby|Diamond)" +
+			"(?:copper|tin|clay|iron|silver|coal|gold|mithril|adamantite|runite|amethyst|sandstone|granite|barronite shards|barronite deposit|Opal|piece of Jade|Red Topaz|Emerald|Sapphire|Ruby|Diamond)" +
 			"(?:\\.|!)");
 
 	@Inject


Test patch:
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/mining/MiningPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/mining/MiningPluginTest.java
index 2d5616d61..a14cc3585 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/mining/MiningPluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/mining/MiningPluginTest.java
@@ -83,6 +83,12 @@ public class MiningPluginTest
 		testMessage("You manage to mine some iron.");
 	}
 
+	@Test
+	public void testRunite()
+	{
+		testMessage("You manage to mine some runite.");
+	}
+
 	@Test
 	public void testSandstone()
 	{
Repository: runelite/runelite
Pull request #17895 (2024-05-29 12:42:01)

spec counter: add Elder Maul
Adds new elder maul spec to spec counter


Patch:
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterConfig.java
index 8af77dd7c..ab62b3e51 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterConfig.java
@@ -89,6 +89,17 @@ public interface SpecialCounterConfig extends Config
 		return 0;
 	}
 
+	@ConfigItem(
+		position = 15,
+		keyName = "elderMaulThreshold",
+		name = "Elder Maul",
+		description = "Threshold for Elder Maul (0 to disable)"
+	)
+	default int elderMaulThreshold()
+	{
+		return 0;
+	}
+
 	@ConfigItem(
 		position = 20,
 		keyName = "arclightThreshold",
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java
index 2628358bd..18b8288cb 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java
@@ -59,7 +59,13 @@ public enum SpecialWeapon
 		new int[]{ItemID.TONALZTICS_OF_RALOS},
 		false,
 		(distance) -> 50, //The hitsplat is always applied 2t after spec regardless of distance
-		(c) -> 0);
+		(c) -> 0
+	),
+	ELDER_MAUL("Elder Maul",
+		new int[]{ItemID.ELDER_MAUL, ItemID.ELDER_MAUL_OR},
+		false,
+		(distance) -> 50, //The hitsplat is applied 2t after spec unlike most melee weapons
+		SpecialCounterConfig::elderMaulThreshold);
 
 	private final String name;
 	private final int[] itemID;


Test patch:
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialWeaponTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialWeaponTest.java
index ee9f24218..b89c1d3f6 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialWeaponTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialWeaponTest.java
@@ -40,6 +40,7 @@ public class SpecialWeaponTest
 		assertRangeDelayEquals(1, BARRELCHEST_ANCHOR, 1);
 		assertRangeDelayEquals(1, BONE_DAGGER, 1);
 		assertRangeDelayEquals(1, BULWARK, 1);
+		assertRangeDelayEquals(2, ELDER_MAUL, 1);
 	}
 
 	@Test