aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-06-18 09:54:24 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-06-18 09:54:24 +0200
commitf8c44bd3cc37ed479297f823284fbf515f45a2f3 (patch)
tree8105c6a84ef48cca9f6ccb69acc2cfb0f51c3614 /src/main/java/at/hannibal2
parent16dbd976dbd670d5210840b7cb8a91314ac74d23 (diff)
downloadskyhanni-f8c44bd3cc37ed479297f823284fbf515f45a2f3.tar.gz
skyhanni-f8c44bd3cc37ed479297f823284fbf515f45a2f3.tar.bz2
skyhanni-f8c44bd3cc37ed479297f823284fbf515f45a2f3.zip
Added debug option to copy rng meter values
Diffstat (limited to 'src/main/java/at/hannibal2')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/DevData.java6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/test/TestCopyRngMeterValues.kt38
3 files changed, 46 insertions, 4 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
index 7829607bd..4fbf8a619 100644
--- a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
+++ b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
@@ -66,10 +66,7 @@ import at.hannibal2.skyhanni.features.slayer.blaze.HellionShieldHelper
import at.hannibal2.skyhanni.features.summonings.SummoningMobManager
import at.hannibal2.skyhanni.features.summonings.SummoningSoulsName
import at.hannibal2.skyhanni.mixins.hooks.RenderLivingEntityHelper
-import at.hannibal2.skyhanni.test.PacketTest
-import at.hannibal2.skyhanni.test.ShowItemUuid
-import at.hannibal2.skyhanni.test.SkyHanniTestCommand
-import at.hannibal2.skyhanni.test.TestBingo
+import at.hannibal2.skyhanni.test.*
import at.hannibal2.skyhanni.test.command.CopyNearbyParticlesCommand
import at.hannibal2.skyhanni.utils.MinecraftConsoleFilter.Companion.initLogging
import at.hannibal2.skyhanni.utils.NEUVersionCheck.checkIfNeuIsLoaded
@@ -308,6 +305,7 @@ class SkyHanniMod {
loadModule(ButtonOnPause())
loadModule(PacketTest())
loadModule(TestBingo)
+ loadModule(TestCopyRngMeterValues)
}
@Mod.EventHandler
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/DevData.java b/src/main/java/at/hannibal2/skyhanni/config/features/DevData.java
index e8061e926..77a0fcf33 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/DevData.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/DevData.java
@@ -54,6 +54,12 @@ public class DevData {
public boolean showItemUuid = false;
@Expose
+ @ConfigOption(name = "Copy Rng Meter", desc = "Copies internal names and maxed xp needed from rng meter inventories in json format into the clipboard.")
+ @ConfigEditorBoolean
+ @ConfigAccordionId(id = 0)
+ public boolean copyRngMeter = false;
+
+ @Expose
public Position debugPos = new Position(10, 10, false, true);
@Expose
diff --git a/src/main/java/at/hannibal2/skyhanni/test/TestCopyRngMeterValues.kt b/src/main/java/at/hannibal2/skyhanni/test/TestCopyRngMeterValues.kt
new file mode 100644
index 000000000..7c858df7f
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/test/TestCopyRngMeterValues.kt
@@ -0,0 +1,38 @@
+package at.hannibal2.skyhanni.test
+
+import at.hannibal2.skyhanni.SkyHanniMod
+import at.hannibal2.skyhanni.config.ConfigManager
+import at.hannibal2.skyhanni.events.InventoryOpenEvent
+import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName
+import at.hannibal2.skyhanni.utils.ItemUtils.getLore
+import at.hannibal2.skyhanni.utils.LorenzUtils
+import at.hannibal2.skyhanni.utils.NumberUtil.formatNumber
+import at.hannibal2.skyhanni.utils.OSUtils
+import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+
+object TestCopyRngMeterValues {
+
+ @SubscribeEvent
+ fun onInventoryOpen(event: InventoryOpenEvent) {
+ if (!SkyHanniMod.feature.dev.copyRngMeter) return
+
+ val map = mutableMapOf<String, Long>()
+ val slayerPattern = "§7Slayer XP: §d.*§5/§d(?<xp>.*)".toPattern()
+ val dungeonPattern = "§7Dungeon Score: §d.*§5/§d(?<xp>.*)".toPattern()
+ for (item in event.inventoryItems.values) {
+ for (line in item.getLore()) {
+ slayerPattern.matchMatcher(line) {
+ map[item.getInternalName()] = group("xp").formatNumber()
+ }
+ dungeonPattern.matchMatcher(line) {
+ map[item.getInternalName()] = group("xp").formatNumber()
+ }
+ }
+ }
+ if (map.isEmpty()) return
+
+ OSUtils.copyToClipboard(ConfigManager.gson.toJson(map))
+ LorenzUtils.debug("${map.size} items saved to clipboard.")
+ }
+} \ No newline at end of file