diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-06-16 16:08:01 -0400 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-06-18 16:54:00 -0400 |
commit | cdfcdf9d5e9cbdad30c591d1b58d4259a1fa3a38 (patch) | |
tree | 2132e766de013b45b4cedcb33c0c32a73d832ed9 /src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java | |
parent | 163905a63d840a4dd17b29bb53c6e7be0bf55c03 (diff) | |
download | Skyblocker-cdfcdf9d5e9cbdad30c591d1b58d4259a1fa3a38.tar.gz Skyblocker-cdfcdf9d5e9cbdad30c591d1b58d4259a1fa3a38.tar.bz2 Skyblocker-cdfcdf9d5e9cbdad30c591d1b58d4259a1fa3a38.zip |
Track Museum Item Donations
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java index a7685ffc..7fdb5738 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java @@ -11,6 +11,7 @@ import de.hysky.skyblocker.skyblock.experiment.UltrasequencerSolver; import de.hysky.skyblocker.skyblock.garden.VisitorHelper; import de.hysky.skyblocker.skyblock.item.ItemProtection; import de.hysky.skyblocker.skyblock.item.ItemRarityBackgrounds; +import de.hysky.skyblocker.skyblock.item.MuseumItemCache; import de.hysky.skyblocker.skyblock.item.WikiLookup; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; import de.hysky.skyblocker.skyblock.item.slottext.SlotTextManager; @@ -248,17 +249,27 @@ public abstract class HandledScreenMixin<T extends ScreenHandler> extends Screen ci.cancel(); return; } - if (this.handler instanceof GenericContainerScreenHandler genericContainerScreenHandler && genericContainerScreenHandler.getRows() == 6) { - VisitorHelper.onSlotClick(slot, slotId, title, genericContainerScreenHandler.getSlot(13).getStack()); - - // Prevent selling to NPC shops - ItemStack sellStack = this.handler.slots.get(49).getStack(); - if (sellStack.getName().getString().equals("Sell Item") || ItemUtils.getLoreLineIf(sellStack, text -> text.contains("buyback")) != null) { - if (slotId != 49 && ItemProtection.isItemProtected(stack)) { - ci.cancel(); - return; + + switch (this.handler) { + case GenericContainerScreenHandler genericContainerScreenHandler when genericContainerScreenHandler.getRows() == 6 -> { + VisitorHelper.onSlotClick(slot, slotId, title, genericContainerScreenHandler.getSlot(13).getStack()); + + // Prevent selling to NPC shops + ItemStack sellStack = this.handler.slots.get(49).getStack(); + if (sellStack.getName().getString().equals("Sell Item") || ItemUtils.getLoreLineIf(sellStack, text -> text.contains("buyback")) != null) { + if (slotId != 49 && ItemProtection.isItemProtected(stack)) { + ci.cancel(); + return; + } } } + + case GenericContainerScreenHandler genericContainerScreenHandler when title.equals(MuseumItemCache.DONATION_CONFIRMATION_SCREEN_TITLE) -> { + //Museum Item Cache donation tracking + MuseumItemCache.handleClick(slot, slotId, genericContainerScreenHandler.slots); + } + + case null, default -> {} } if (currentSolver != null) { |