diff options
-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 |