diff options
author | jani270 <69345714+jani270@users.noreply.github.com> | 2024-12-30 14:26:02 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-12-30 20:00:32 +0100 |
commit | 8a3d7b0c13439a426c1ae58cffeee029c7e9b888 (patch) | |
tree | 71cf430b7956362679626a2b5b0834dbf1e8ce31 /src/main/kotlin/moe/nea/ledger/modules/GodPotionMixinDetection.kt | |
parent | a913eeffce5055fa330e358d197eaad8f915e505 (diff) | |
download | LocalTransactionLedger-8a3d7b0c13439a426c1ae58cffeee029c7e9b888.tar.gz LocalTransactionLedger-8a3d7b0c13439a426c1ae58cffeee029c7e9b888.tar.bz2 LocalTransactionLedger-8a3d7b0c13439a426c1ae58cffeee029c7e9b888.zip |
feat: God Pot and God Pot Mixin Detection
Diffstat (limited to 'src/main/kotlin/moe/nea/ledger/modules/GodPotionMixinDetection.kt')
-rw-r--r-- | src/main/kotlin/moe/nea/ledger/modules/GodPotionMixinDetection.kt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/ledger/modules/GodPotionMixinDetection.kt b/src/main/kotlin/moe/nea/ledger/modules/GodPotionMixinDetection.kt new file mode 100644 index 0000000..b96a24a --- /dev/null +++ b/src/main/kotlin/moe/nea/ledger/modules/GodPotionMixinDetection.kt @@ -0,0 +1,38 @@ +package moe.nea.ledger.modules + +import moe.nea.ledger.ItemChange +import moe.nea.ledger.ItemId +import moe.nea.ledger.ItemIdProvider +import moe.nea.ledger.LedgerEntry +import moe.nea.ledger.LedgerLogger +import moe.nea.ledger.TransactionType +import moe.nea.ledger.events.ChatReceived +import moe.nea.ledger.useMatcher +import moe.nea.ledger.utils.di.Inject +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class GodPotionMixinDetection { + + val godPotionMixinDrank = "SCHLURP! The (effects of the )?(?<what>.*?) (grants you effects|have been extended by) .*! They will pause if your God Potion expires.".toPattern() + + @Inject + lateinit var logger: LedgerLogger + + @Inject + lateinit var itemIdProvider: ItemIdProvider + + @SubscribeEvent + fun onChat(event: ChatReceived) { + godPotionMixinDrank.useMatcher(event.message) { + logger.logEntry( + LedgerEntry( + TransactionType.GOD_POTION_MIXIN_DRANK, + event.timestamp, + listOf( + ItemChange.lose(itemIdProvider.findForName(group("what")) ?: ItemId.NIL, 1) + ) + ) + ) + } + } +}
\ No newline at end of file |