diff options
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixin/HandledScreenProviderMixin.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/mixin/HandledScreenProviderMixin.java | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixin/HandledScreenProviderMixin.java b/src/main/java/de/hysky/skyblocker/mixin/HandledScreenProviderMixin.java deleted file mode 100644 index bf330d80..00000000 --- a/src/main/java/de/hysky/skyblocker/mixin/HandledScreenProviderMixin.java +++ /dev/null @@ -1,82 +0,0 @@ -package de.hysky.skyblocker.mixin; - - -import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.skyblock.auction.AuctionBrowserScreen; -import de.hysky.skyblocker.skyblock.auction.AuctionHouseScreenHandler; -import de.hysky.skyblocker.skyblock.auction.AuctionViewScreen; -import de.hysky.skyblocker.skyblock.dungeon.partyfinder.PartyFinderScreen; -import de.hysky.skyblocker.skyblock.item.SkyblockCraftingTableScreenHandler; -import de.hysky.skyblocker.skyblock.item.SkyblockCraftingTableScreen; -import de.hysky.skyblocker.utils.Utils; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.ingame.HandledScreens; -import net.minecraft.client.network.ClientPlayerEntity; -import net.minecraft.screen.GenericContainerScreenHandler; -import net.minecraft.screen.ScreenHandler; -import net.minecraft.screen.ScreenHandlerType; -import net.minecraft.text.Text; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(HandledScreens.Provider.class) -public interface HandledScreenProviderMixin<T extends ScreenHandler> { - @Inject(method = "open", at = @At("HEAD"), cancellable = true) - default void skyblocker$open(Text name, ScreenHandlerType<T> type, MinecraftClient client, int id, CallbackInfo ci) { - ClientPlayerEntity player = client.player; - if (player == null) return; - if (!Utils.isOnSkyblock()) return; - T screenHandler = type.create(id, player.getInventory()); - if (!(screenHandler instanceof GenericContainerScreenHandler containerScreenHandler)) return; - String nameLowercase = name.getString().toLowerCase(); - // Better party finder - if (SkyblockerConfigManager.get().general.betterPartyFinder && PartyFinderScreen.possibleInventoryNames.contains(nameLowercase)) { - if (client.currentScreen != null) { - String lowerCase = client.currentScreen.getTitle().getString().toLowerCase(); - if (lowerCase.contains("group builder")) return; - if (lowerCase.contains("select tier")) { - PartyFinderScreen.isInKuudraPartyFinder = true; - } else if (lowerCase.contains("catacombs")) { - PartyFinderScreen.isInKuudraPartyFinder = false; - } - } - if (PartyFinderScreen.isInKuudraPartyFinder) return; - client.player.currentScreenHandler = containerScreenHandler; - if (client.currentScreen instanceof PartyFinderScreen screen) { - screen.updateHandler(containerScreenHandler, name); - } else { - client.setScreen(new PartyFinderScreen(containerScreenHandler, player.getInventory(), name)); - } - - ci.cancel(); - // Fancy AH - } else if (SkyblockerConfigManager.get().general.fancyAuctionHouse.enabled && (nameLowercase.contains("auctions browser") || nameLowercase.contains("auctions: "))) { - AuctionHouseScreenHandler auctionHouseScreenHandler = AuctionHouseScreenHandler.of(containerScreenHandler, false); - client.player.currentScreenHandler = auctionHouseScreenHandler; - if (client.currentScreen instanceof AuctionBrowserScreen auctionBrowserScreen) { - auctionBrowserScreen.changeHandler(auctionHouseScreenHandler); - } else client.setScreen(new AuctionBrowserScreen(auctionHouseScreenHandler, client.player.getInventory())); - ci.cancel(); - } else if (SkyblockerConfigManager.get().general.fancyAuctionHouse.enabled && nameLowercase.contains("auction view")) { - AuctionHouseScreenHandler auctionHouseScreenHandler = AuctionHouseScreenHandler.of(containerScreenHandler, true); - client.player.currentScreenHandler = auctionHouseScreenHandler; - if (client.currentScreen instanceof AuctionViewScreen auctionViewScreen) { - auctionViewScreen.changeHandler(auctionHouseScreenHandler); - } else - client.setScreen(new AuctionViewScreen(auctionHouseScreenHandler, client.player.getInventory(), name)); - ci.cancel(); - } else if (SkyblockerConfigManager.get().general.fancyAuctionHouse.enabled && (nameLowercase.contains("confirm purchase") || nameLowercase.contains("confirm bid")) && client.currentScreen instanceof AuctionViewScreen auctionViewScreen) { - client.setScreen(auctionViewScreen.getConfirmPurchasePopup(name)); - client.player.currentScreenHandler = containerScreenHandler; - ci.cancel(); - // Fancy crafting table - } else if (SkyblockerConfigManager.get().general.fancyCraftingTable && name.getString().toLowerCase().contains("craft item")) { - SkyblockCraftingTableScreenHandler skyblockCraftingTableScreenHandler = new SkyblockCraftingTableScreenHandler(containerScreenHandler, player.getInventory()); - client.player.currentScreenHandler = skyblockCraftingTableScreenHandler; - client.setScreen(new SkyblockCraftingTableScreen(skyblockCraftingTableScreenHandler, player.getInventory(), Text.literal("Craft Item"))); - ci.cancel(); - } - } -} |