aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2024-01-20 15:31:28 -0500
committerGitHub <noreply@github.com>2024-01-20 15:31:28 -0500
commit2cf648baabfe10dcdb99e6544f5d3e71749d6cf5 (patch)
treeb5db07479f239d50c9c581fb4011a80106e50752 /src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java
parent8ccaa3b23a4e0c7eeb1365c7fca4e78cf9641a91 (diff)
parentf07dcf20d182c0f0e62ed576a79cffd3a2fa3f74 (diff)
downloadSkyblocker-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.java18
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