diff options
author | jani270 <69345714+jani270@users.noreply.github.com> | 2025-01-05 17:44:50 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2025-01-07 14:12:27 +0100 |
commit | 0ee8a4fdfedf20d543f42ab52a2f24af089271ac (patch) | |
tree | 2a09900de052e3907192f7b458e50537696f3f9e | |
parent | f1b3f3602e2caa51a5dc946e3fbfbf49809fdfbb (diff) | |
download | LocalTransactionLedger-0ee8a4fdfedf20d543f42ab52a2f24af089271ac.tar.gz LocalTransactionLedger-0ee8a4fdfedf20d543f42ab52a2f24af089271ac.tar.bz2 LocalTransactionLedger-0ee8a4fdfedf20d543f42ab52a2f24af089271ac.zip |
feat: Accessory Swapper Detection
-rw-r--r-- | src/main/kotlin/moe/nea/ledger/Ledger.kt | 2 | ||||
-rw-r--r-- | src/main/kotlin/moe/nea/ledger/TransactionType.kt | 1 | ||||
-rw-r--r-- | src/main/kotlin/moe/nea/ledger/modules/AccessorySwapperDetection.kt | 34 |
3 files changed, 37 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/ledger/Ledger.kt b/src/main/kotlin/moe/nea/ledger/Ledger.kt index 5682797..2980258 100644 --- a/src/main/kotlin/moe/nea/ledger/Ledger.kt +++ b/src/main/kotlin/moe/nea/ledger/Ledger.kt @@ -11,6 +11,7 @@ import moe.nea.ledger.events.LateWorldLoadEvent import moe.nea.ledger.events.RegistrationFinishedEvent import moe.nea.ledger.events.WorldSwitchEvent import moe.nea.ledger.gen.BuildConfig +import moe.nea.ledger.modules.AccessorySwapperDetection import moe.nea.ledger.modules.AuctionHouseDetection import moe.nea.ledger.modules.BankDetection import moe.nea.ledger.modules.BazaarDetection @@ -116,6 +117,7 @@ class Ledger { di.registerSingleton(gson) di.register(LedgerConfig::class.java, DIProvider { managedConfig.instance }) di.registerInjectableClasses( + AccessorySwapperDetection::class.java, AuctionHouseDetection::class.java, BankDetection::class.java, BazaarDetection::class.java, diff --git a/src/main/kotlin/moe/nea/ledger/TransactionType.kt b/src/main/kotlin/moe/nea/ledger/TransactionType.kt index 26749d6..560ff17 100644 --- a/src/main/kotlin/moe/nea/ledger/TransactionType.kt +++ b/src/main/kotlin/moe/nea/ledger/TransactionType.kt @@ -1,6 +1,7 @@ package moe.nea.ledger enum class TransactionType { + ACCESSORIES_SWAPPING, AUCTION_BOUGHT, AUCTION_LISTING_CHARGE, AUCTION_SOLD, diff --git a/src/main/kotlin/moe/nea/ledger/modules/AccessorySwapperDetection.kt b/src/main/kotlin/moe/nea/ledger/modules/AccessorySwapperDetection.kt new file mode 100644 index 0000000..1c228ff --- /dev/null +++ b/src/main/kotlin/moe/nea/ledger/modules/AccessorySwapperDetection.kt @@ -0,0 +1,34 @@ +package moe.nea.ledger.modules + +import moe.nea.ledger.ItemChange +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.gen.ItemIds +import moe.nea.ledger.useMatcher +import moe.nea.ledger.utils.di.Inject +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class AccessorySwapperDetection { + + val swapperUsed = "Swapped .* enrichments to .*!".toPattern() + + @Inject + lateinit var logger: LedgerLogger + + @SubscribeEvent + fun onChat(event: ChatReceived) { + swapperUsed.useMatcher(event.message) { + logger.logEntry( + LedgerEntry( + TransactionType.ACCESSORIES_SWAPPING, + event.timestamp, + listOf( + ItemChange.lose(ItemIds.TALISMAN_ENRICHMENT_SWAPPER, 1) + ) + ) + ) + } + } +}
\ No newline at end of file |