diff options
author | Zachary Jaser <76439587+Zickles@users.noreply.github.com> | 2024-03-04 16:11:22 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-04 22:11:22 +0100 |
commit | a8fe4fcd86b0abd646b719134f5606908cd516af (patch) | |
tree | 9834bd0791feac9f96d5ed273d35af9b674e994a /src/main/java/at/hannibal2/skyhanni/features | |
parent | 16facf4a91651c709e4c78e7b3f2c9973560feab (diff) | |
download | skyhanni-a8fe4fcd86b0abd646b719134f5606908cd516af.tar.gz skyhanni-a8fe4fcd86b0abd646b719134f5606908cd516af.tar.bz2 skyhanni-a8fe4fcd86b0abd646b719134f5606908cd516af.zip |
[Feat] Gfs message after supercrafting (#1097)
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/inventory/SuperCraftFeatures.kt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/SuperCraftFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/SuperCraftFeatures.kt new file mode 100644 index 000000000..85b6296b5 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/SuperCraftFeatures.kt @@ -0,0 +1,31 @@ +package at.hannibal2.skyhanni.features.inventory + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.api.GetFromSackAPI +import at.hannibal2.skyhanni.events.LorenzChatEvent +import at.hannibal2.skyhanni.utils.DelayedRun +import at.hannibal2.skyhanni.utils.NEUInternalName +import at.hannibal2.skyhanni.utils.PrimitiveItemStack +import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher +import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class SuperCraftFeatures { + private val craftedPattern by RepoPattern.pattern( + "inventory.supercrafting.craft", + "§eYou Supercrafted §r§r§r§.(?<item>[^§]+)(?:§r§8x(?<amount>\\d+))?§r§e!" + ) + private val config get() = SkyHanniMod.feature.inventory.gfs + + @SubscribeEvent + fun onChat(event: LorenzChatEvent) { + if (!config.superCraftGFS) return + val (internalName, amount) = craftedPattern.matchMatcher(event.message) { + NEUInternalName.fromItemName(this.group("item")) to (this.group("amount")?.toInt() ?: 1) + } ?: return + if (!GetFromSackAPI.sackListInternalNames.contains(internalName.asString())) return + DelayedRun.runNextTick { + GetFromSackAPI.getFromChatMessageSackItems(PrimitiveItemStack(internalName, amount)) + } + } +} |