From 43b89472d34b84ade88af1c05e8008d8c916e4b9 Mon Sep 17 00:00:00 2001 From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com> Date: Wed, 4 Oct 2023 04:17:32 +0200 Subject: [PATCH] Fixed modification of pinging textures --- .../gui/sprites/server_list/ping_1.png | Bin 0 -> 171 bytes .../gui/sprites/server_list/ping_2.png | Bin 0 -> 174 bytes .../gui/sprites/server_list/ping_3.png | Bin 0 -> 180 bytes .../gui/sprites/server_list/ping_4.png | Bin 0 -> 178 bytes .../gui/sprites/server_list/ping_5.png | Bin 0 -> 168 bytes .../gui/sprites/server_list/pinging_1.png | Bin 0 -> 171 bytes .../gui/sprites/server_list/pinging_2.png | Bin 0 -> 176 bytes .../gui/sprites/server_list/pinging_3.png | Bin 0 -> 178 bytes .../gui/sprites/server_list/pinging_4.png | Bin 0 -> 179 bytes .../gui/sprites/server_list/pinging_5.png | Bin 0 -> 171 bytes .../mixin/gui/client/MixinServerEntry.java | 17 +++++++---------- 11 files changed, 7 insertions(+), 10 deletions(-) create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/ping_1.png create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/ping_2.png create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/ping_3.png create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/ping_4.png create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/ping_5.png create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_1.png create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_2.png create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_3.png create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_4.png create mode 100644 src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_5.png diff --git a/src/main/resources/assets/viafabric/textures/gui/sprites/server_list/ping_1.png b/src/main/resources/assets/viafabric/textures/gui/sprites/server_list/ping_1.png new file mode 100644 index 0000000000000000000000000000000000000000..07d71116200e90862859dedfde3da7d13402d687 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^AT|dF8<0HkD{mW+Vk{1FcVbv~PUa<$!;&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3OabYIEH8hCohod=&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3OakbIEH8hCohod=w Ppm7YIu6{1-oD!M&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3VM3FIEH8hCohod=T6s1W_8(mnW*=BHPHZX4J{2_9HL6})tS$RgQn||yrk&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3c7o`IEH8hCohod=o+h7 zY}mH#U;j!0&&CL)rrv-KXGR_a!5{|a1mTaG4UB4RZf&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3fg+QIEH8hCohou@&CVlM-o%<2F4Xk0s`KD z{>uj|&SKIKKItOEmC(>Rfk}d4c85PBkAb0qkx^4*MJ5{?!}0{_Fs-6H;Xs2JJYD@< J);T3K0RWs7EqVX| literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_1.png b/src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f09128b92ce38e3bd18d3936775af38e18b7ab GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^AT|dF8<0HkD{mW+Vk{1FcVbv~PUa<$!;&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3OabYIEH8hCohod=U literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_2.png b/src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a53e8fd6842cc055755627ef8a032bbf217de346 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^AT|dF8<0HkD{mW+Vk{1FcVbv~PUa<$!;&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3c7l_IEH8hCohod=ak;g!B_5p$WO$!;=4yYv=Gio&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3c7o`IEH8hCohod=#d~e-Xneml+*7OwKjjO}wl=FTxyVN-*Ro*|BOcEE8DAm}Tm8=a)T$#!eZQ Uv-12dKqDDEUHx3vIVCg!0Q|Tz+W-In literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_4.png b/src/main/resources/assets/viafabric/textures/gui/sprites/server_list/pinging_4.png new file mode 100644 index 0000000000000000000000000000000000000000..eda419d016debb04a8cd9fa23d2093e2c859c84a GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^AT|dF8<0HkD{mW+Vk{1FcVbv~PUa<$!;&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3VL|DIEH8hCohod=&U>c zv7h@-A}f&3S>O>_%)r2R7=#&*=dVZs3OabYIEH8hCohl^@c#2(-o?1FGQy#x#3X`I z;>h+t#{)Xn9JqB$>Rg-lk);f5GdMIG7&mnO5Lv)5!zsqZx#n~|gHO8*OXQcmH-Kg_ Nc)I$ztaD0e0s#CUG_e2x literal 0 HcmV?d00001 diff --git a/viafabric-mc120/src/main/java/com/viaversion/fabric/mc120/mixin/gui/client/MixinServerEntry.java b/viafabric-mc120/src/main/java/com/viaversion/fabric/mc120/mixin/gui/client/MixinServerEntry.java index be8f87f..a8272f6 100644 --- a/viafabric-mc120/src/main/java/com/viaversion/fabric/mc120/mixin/gui/client/MixinServerEntry.java +++ b/viafabric-mc120/src/main/java/com/viaversion/fabric/mc120/mixin/gui/client/MixinServerEntry.java @@ -4,7 +4,6 @@ import com.viaversion.fabric.common.gui.ViaServerInfo; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import java.util.ArrayList; import java.util.List; -import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen; import net.minecraft.client.gui.screen.multiplayer.MultiplayerServerListWidget; import net.minecraft.client.network.ServerInfo; @@ -14,6 +13,7 @@ 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.ModifyArg; import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(MultiplayerServerListWidget.ServerEntry.class) @@ -22,18 +22,15 @@ public class MixinServerEntry { @Final private ServerInfo server; - @Redirect(method = "draw", at = @At(value = "INVOKE", ordinal = 0, - target = "Lnet/minecraft/client/gui/DrawContext;drawTexture(Lnet/minecraft/util/Identifier;IIFFIIII)V")) - private void redirectPingIcon(DrawContext instance, Identifier texture, int x, int y, float u, float v, int width, int height, int textureWidth, int textureHeight) { - if (texture.equals(GUI_ICONS_TEXTURES) && ((ViaServerInfo) this.server).isViaTranslating()) { - instance.drawTexture(new Identifier("viafabric:textures/gui/icons.png"), x, y, u, v, width, height, textureWidth, textureHeight); - return; + @ModifyArg(method = "render", at = @At(value = "INVOKE", ordinal = 0, + target = "Lnet/minecraft/client/gui/DrawContext;drawGuiTexture(Lnet/minecraft/util/Identifier;IIII)V")) + private Identifier redirectPingIcon(Identifier texture) { + if (((ViaServerInfo) this.server).isViaTranslating() && texture.getPath().startsWith("server_list/ping")) { + return new Identifier("viafabric", texture.getPath()); } - instance.drawTexture(texture, x, y, u, v, width, height, textureWidth, textureHeight); + return texture; } - private static final Identifier GUI_ICONS_TEXTURES = new Identifier("textures/gui/icons.png"); - @Redirect(method = "render", at = @At(value = "INVOKE", ordinal = 0, target = "Lnet/minecraft/client/gui/screen/multiplayer/MultiplayerScreen;setMultiplayerScreenTooltip(Ljava/util/List;)V")) private void addServerVer(MultiplayerScreen multiplayerScreen, List tooltipText) { ProtocolVersion proto = ProtocolVersion.getProtocol(((ViaServerInfo) this.server).getViaServerVer());