diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2024-01-20 15:31:28 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-20 15:31:28 -0500 |
commit | 2cf648baabfe10dcdb99e6544f5d3e71749d6cf5 (patch) | |
tree | b5db07479f239d50c9c581fb4011a80106e50752 /src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java | |
parent | 8ccaa3b23a4e0c7eeb1365c7fca4e78cf9641a91 (diff) | |
parent | f07dcf20d182c0f0e62ed576a79cffd3a2fa3f74 (diff) | |
download | Skyblocker-2cf648baabfe10dcdb99e6544f5d3e71749d6cf5.tar.gz Skyblocker-2cf648baabfe10dcdb99e6544f5d3e71749d6cf5.tar.bz2 Skyblocker-2cf648baabfe10dcdb99e6544f5d3e71749d6cf5.zip |
Merge pull request #487 from viciscat/dungeons_party_gui
Add a custom GUI for the Party Finder in dungeons
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java index 4abadcea..dd207dc0 100644 --- a/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java @@ -2,14 +2,19 @@ package de.hysky.skyblocker.mixin; import com.mojang.authlib.GameProfile; +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.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 org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -17,6 +22,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(ClientPlayerEntity.class) public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity { + @Shadow @Final protected MinecraftClient client; + public ClientPlayerEntityMixin(ClientWorld world, GameProfile profile) { super(world, profile); } @@ -33,4 +40,15 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity public void skyblocker$updateHealth(CallbackInfo ci) { HealingMelonIndicator.updateHealth(); } + + @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(); + } + } + } }
\ No newline at end of file |