diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2024-02-14 14:56:55 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-14 14:56:55 -0500 |
commit | 41d02daf5f53a761043ae76f5be484f94ceb0128 (patch) | |
tree | e5c5028c11c135c187477ece01ef3b3c3d809e47 /src/main/java/de/hysky/skyblocker/mixin | |
parent | fd77289b711923ff23c31cc6a26f85fb96e68d4f (diff) | |
parent | cffa68314fc74fbedd97708df5ccb7c098eb638f (diff) | |
download | Skyblocker-41d02daf5f53a761043ae76f5be484f94ceb0128.tar.gz Skyblocker-41d02daf5f53a761043ae76f5be484f94ceb0128.tar.bz2 Skyblocker-41d02daf5f53a761043ae76f5be484f94ceb0128.zip |
Merge pull request #537 from olim88/Search-overlays
Search overlays for bz and ah
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixin')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java index 1d54b02c..2a4c38a7 100644 --- a/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java @@ -1,18 +1,20 @@ package de.hysky.skyblocker.mixin; import com.mojang.authlib.GameProfile; - import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.skyblock.dungeon.partyfinder.PartyFinderScreen; import de.hysky.skyblocker.skyblock.item.HotbarSlotLock; import de.hysky.skyblocker.skyblock.item.ItemProtection; import de.hysky.skyblocker.skyblock.rift.HealingMelonIndicator; +import de.hysky.skyblocker.skyblock.searchOverlay.OverlayScreen; +import de.hysky.skyblocker.skyblock.searchOverlay.SearchOverManager; import de.hysky.skyblocker.utils.Utils; import net.minecraft.block.entity.SignBlockEntity; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.client.world.ClientWorld; +import net.minecraft.text.Text; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -48,12 +50,28 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity } @Inject(method = "openEditSignScreen", at = @At("HEAD"), cancellable = true) - public void skyblocker$partyFinderRange(SignBlockEntity sign, boolean front, CallbackInfo callbackInfo) { - if (PartyFinderScreen.isInKuudraPartyFinder) return; - if (client.currentScreen instanceof PartyFinderScreen partyFinderScreen && !partyFinderScreen.isAborted()) { - if (sign.getText(front).getMessage(3, false).getString().toLowerCase().contains("level")) { - partyFinderScreen.updateSign(sign, front); - callbackInfo.cancel(); + public void skyblocker$redirectEditSignScreen(SignBlockEntity sign, boolean front, CallbackInfo callbackInfo) { + // Fancy Party Finder + if (!PartyFinderScreen.isInKuudraPartyFinder && client.currentScreen instanceof PartyFinderScreen partyFinderScreen && !partyFinderScreen.isAborted() && sign.getText(front).getMessage(3, false).getString().toLowerCase().contains("level")) { + partyFinderScreen.updateSign(sign, front); + callbackInfo.cancel(); + return; + } + + // Search Overlay + if (client.currentScreen != null) { + if (SkyblockerConfigManager.get().general.searchOverlay.enableAuctionHouse && client.currentScreen.getTitle().getString().toLowerCase().contains("auction")) { + if (sign.getText(front).getMessage(3, false).getString().equalsIgnoreCase("enter query")) { + SearchOverManager.updateSign(sign, front, true); + client.setScreen(new OverlayScreen(Text.of(""))); + callbackInfo.cancel(); + } + } else if (SkyblockerConfigManager.get().general.searchOverlay.enableBazaar && client.currentScreen.getTitle().getString().toLowerCase().contains("bazaar")) { + if (sign.getText(front).getMessage(3, false).getString().equalsIgnoreCase("enter query")) { + SearchOverManager.updateSign(sign, front, false); + client.setScreen(new OverlayScreen(Text.of(""))); + callbackInfo.cancel(); + } } } } |