From fba1cae444847a5d532fb8b2f0cdff56bac2e2e5 Mon Sep 17 00:00:00 2001 From: vicisacat Date: Sun, 14 Jan 2024 13:51:20 +0100 Subject: Possible fix for kuudra, should work even with abiphone also comment out that one line that creates an unused list --- .../de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java | 1 + .../java/de/hysky/skyblocker/mixin/HandledScreensMixin.java | 11 ++++++++++- .../skyblock/dungeon/partyfinder/PartyFinderScreen.java | 5 ++--- 3 files changed, 13 insertions(+), 4 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java index 68440874..dd207dc0 100644 --- a/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java @@ -43,6 +43,7 @@ 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); diff --git a/src/main/java/de/hysky/skyblocker/mixin/HandledScreensMixin.java b/src/main/java/de/hysky/skyblocker/mixin/HandledScreensMixin.java index cd40af2b..47c25933 100644 --- a/src/main/java/de/hysky/skyblocker/mixin/HandledScreensMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixin/HandledScreensMixin.java @@ -26,7 +26,16 @@ public interface HandledScreensMixin { T screenHandler = type.create(id, player.getInventory()); if ((screenHandler instanceof GenericContainerScreenHandler containerScreenHandler) && PartyFinderScreen.possibleInventoryNames.contains(name.getString().toLowerCase())) { //player.sendMessage(Text.of("LESSGOOOOO " + containerScreenHandler.getRows())); - if (client.currentScreen != null && client.currentScreen.getTitle().getString().toLowerCase().contains("group builder")) return; + 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); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java index eccd234f..372a44da 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java @@ -17,7 +17,6 @@ import net.minecraft.client.item.TooltipContext; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.toast.SystemToast; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.network.packet.c2s.play.UpdateSignC2SPacket; import net.minecraft.screen.GenericContainerScreenHandler; @@ -41,6 +40,7 @@ public class PartyFinderScreen extends Screen { protected static final Logger LOGGER = LoggerFactory.getLogger(PartyFinderScreen.class); protected static final Identifier SEARCH_ICON_TEXTURE = new Identifier("icon/search"); protected static final Text SEARCH_TEXT = Text.translatable("gui.socialInteractions.search_hint").formatted(Formatting.ITALIC).formatted(Formatting.GRAY); + public static boolean isInKuudraPartyFinder = false; public static boolean DEBUG = false; public static final List possibleInventoryNames = List.of( @@ -418,8 +418,7 @@ public class PartyFinderScreen extends Screen { parties.add(new PartyEntry.YourParty(tooltips, this, deListSlotId)); } this.partyEntryListWidget.setEntries(parties); - List temp = handler.slots.stream().map(Slot::getStack).toList(); - //for (int i = 0; i < temp.size(); i++) System.out.println(i + " " + temp.get(i).toString() + " " + temp.get(i).getName().getString()); + //List temp = handler.slots.stream().map(Slot::getStack).toList();//for (int i = 0; i < temp.size(); i++) System.out.println(i + " " + temp.get(i).toString() + " " + temp.get(i).getName().getString()); } -- cgit