diff options
author | Linnea Gräf <nea@nea.moe> | 2025-01-21 00:15:29 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2025-01-21 00:15:49 +0100 |
commit | ae6be122542f7970327fc67394115455555ae50d (patch) | |
tree | 8275a5d71759cc5b919881067d5222e89c278a4c /mod/src | |
parent | 219fe583725c01c777a8cbe7074ed0d2d34cefeb (diff) | |
download | LocalTransactionLedger-ae6be122542f7970327fc67394115455555ae50d.tar.gz LocalTransactionLedger-ae6be122542f7970327fc67394115455555ae50d.tar.bz2 LocalTransactionLedger-ae6be122542f7970327fc67394115455555ae50d.zip |
refactor: deduplicate code in bakn interest detection
Diffstat (limited to 'mod/src')
-rw-r--r-- | mod/src/main/kotlin/moe/nea/ledger/modules/BankInterestDetection.kt | 57 |
1 files changed, 25 insertions, 32 deletions
diff --git a/mod/src/main/kotlin/moe/nea/ledger/modules/BankInterestDetection.kt b/mod/src/main/kotlin/moe/nea/ledger/modules/BankInterestDetection.kt index 7bce432..5069930 100644 --- a/mod/src/main/kotlin/moe/nea/ledger/modules/BankInterestDetection.kt +++ b/mod/src/main/kotlin/moe/nea/ledger/modules/BankInterestDetection.kt @@ -10,42 +10,35 @@ import moe.nea.ledger.parseShortNumber import moe.nea.ledger.useMatcher import moe.nea.ledger.utils.di.Inject import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import java.util.regex.Matcher import java.util.regex.Pattern - class BankInterestDetection { - val bankInterestPattern = - Pattern.compile("You have just received (?<coins>$SHORT_NUMBER_PATTERN) coins as interest in your (co-op|personal) bank account!") - val offlineBankInterestPattern = - Pattern.compile("Since you've been away you earned (?<coins>$SHORT_NUMBER_PATTERN) coins as interest in your personal bank account!") + val bankInterestPattern = + Pattern.compile("You have just received (?<coins>$SHORT_NUMBER_PATTERN) coins as interest in your (co-op|personal) bank account!") + val offlineBankInterestPattern = + Pattern.compile("Since you've been away you earned (?<coins>$SHORT_NUMBER_PATTERN) coins as interest in your personal bank account!") + + @Inject + lateinit var logger: LedgerLogger + - @Inject - lateinit var logger: LedgerLogger + @SubscribeEvent + fun onChat(event: ChatReceived) { + fun Matcher.logInterest() { + logger.logEntry( + LedgerEntry( + TransactionType.BANK_INTEREST, + event.timestamp, + listOf( + ItemChange.gainCoins(parseShortNumber(group("coins"))), + ) + ) + ) + } - @SubscribeEvent - fun onChat(event: ChatReceived) { - bankInterestPattern.useMatcher(event.message) { - logger.logEntry( - LedgerEntry( - TransactionType.BANK_INTEREST, - event.timestamp, - listOf( - ItemChange.gainCoins(parseShortNumber(group("coins"))), - ) - ) - ) - } - offlineBankInterestPattern.useMatcher(event.message) { - logger.logEntry( - LedgerEntry( - TransactionType.BANK_INTEREST, - event.timestamp, - listOf( - ItemChange.gainCoins(parseShortNumber(group("coins"))), - ) - ) - ) - } - } + bankInterestPattern.useMatcher(event.message) { logInterest() } + offlineBankInterestPattern.useMatcher(event.message) { logInterest() } + } } |