aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/ledger/modules/DungeonChestDetection.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/moe/nea/ledger/modules/DungeonChestDetection.kt')
-rw-r--r--src/main/kotlin/moe/nea/ledger/modules/DungeonChestDetection.kt70
1 files changed, 0 insertions, 70 deletions
diff --git a/src/main/kotlin/moe/nea/ledger/modules/DungeonChestDetection.kt b/src/main/kotlin/moe/nea/ledger/modules/DungeonChestDetection.kt
deleted file mode 100644
index feb452e..0000000
--- a/src/main/kotlin/moe/nea/ledger/modules/DungeonChestDetection.kt
+++ /dev/null
@@ -1,70 +0,0 @@
-package moe.nea.ledger.modules
-
-import moe.nea.ledger.ExpiringValue
-import moe.nea.ledger.ItemChange
-import moe.nea.ledger.ItemId
-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.events.ExtraSupplyIdEvent
-import moe.nea.ledger.events.GuiClickEvent
-import moe.nea.ledger.getDisplayNameU
-import moe.nea.ledger.unformattedString
-import moe.nea.ledger.useMatcher
-import moe.nea.ledger.utils.di.Inject
-import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
-import java.time.Instant
-import kotlin.time.Duration.Companion.seconds
-
-class DungeonChestDetection @Inject constructor(val logger: LedgerLogger) : ChestDetection() {
-
- @SubscribeEvent
- fun onKismetClick(event: GuiClickEvent) {
- val slot = event.slotIn ?: return
- if (!slot.inventory.displayName.unformattedText.unformattedString().endsWith(" Chest")) return
- val stack = slot.stack ?: return
- if (stack.getDisplayNameU() == "§aReroll Chest") {
- logger.logEntry(
- LedgerEntry(
- TransactionType.KISMET_REROLL,
- Instant.now(),
- listOf(
- ItemChange.lose(ItemId.KISMET_FEATHER, 1)
- )
- )
- )
- }
- }
-
-
- var lastOpenedChest = ExpiringValue.empty<ChestCost>()
-
- @SubscribeEvent
- fun supplyExtraIds(event: ExtraSupplyIdEvent) {
- event.store("Dungeon Chest Key", ItemId("DUNGEON_CHEST_KEY"))
- event.store("Kismet Feather", ItemId("KISMET_FEATHER"))
- }
-
- @SubscribeEvent
- fun onRewardChestClick(event: GuiClickEvent) {
- lastOpenedChest = ExpiringValue(scrapeChestReward(event.slotIn ?: return) ?: return)
- }
-
- val rewardMessage = " .* CHEST REWARDS".toPattern()
-
- @SubscribeEvent
- fun onChatMessage(event: ChatReceived) {
- if (event.message == "You don't have that many coins in the bank!") {
- lastOpenedChest.take()
- }
- rewardMessage.useMatcher(event.message) {
- val chest = lastOpenedChest.consume(3.seconds) ?: return
- logger.logEntry(LedgerEntry(
- TransactionType.DUNGEON_CHEST_OPEN,
- chest.timestamp,
- chest.diff,
- ))
- }
- }
-}