DynRes/src/client/java/io/gitlab/jfronny/dynres/mixin/ClientCommonNetworkHandlerM...

34 lines
1.6 KiB
Java
Raw Normal View History

package io.gitlab.jfronny.dynres.mixin;
2023-09-22 20:59:35 +02:00
import io.gitlab.jfronny.dynres.DynRes;
2023-09-22 21:12:55 +02:00
import net.minecraft.client.network.ClientCommonNetworkHandler;
2023-09-22 20:59:35 +02:00
import net.minecraft.network.packet.c2s.common.ResourcePackStatusC2SPacket;
import net.minecraft.network.packet.s2c.common.ResourcePackSendS2CPacket;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
2022-06-08 13:51:43 +02:00
import org.spongepowered.asm.mixin.injection.*;
2023-09-22 20:59:35 +02:00
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
2022-06-08 13:51:43 +02:00
2023-09-22 20:59:35 +02:00
import java.net.URL;
2023-09-22 21:12:55 +02:00
@Mixin(ClientCommonNetworkHandler.class)
public abstract class ClientCommonNetworkHandlerMixin {
@Shadow @Nullable protected static URL getParsedResourcePackUrl(String url) {
throw new RuntimeException("Mixin not applied");
}
@Inject(at = @At("HEAD"), method = "onResourcePackSend(Lnet/minecraft/network/packet/s2c/common/ResourcePackSendS2CPacket;)V")
public void logResourcePackStatus(ResourcePackSendS2CPacket status, CallbackInfo info) {
2024-04-25 19:46:53 +02:00
DynRes.LOGGER.info("[RECEIVE] ResourcePackUrl={0}", status.url());
DynRes.LOGGER.info("[RECEIVE] ResourcePackHash={0}", status.hash());
}
2023-09-22 21:12:55 +02:00
@Redirect(method = "onResourcePackSend(Lnet/minecraft/network/packet/s2c/common/ResourcePackSendS2CPacket;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientCommonNetworkHandler;getParsedResourcePackUrl(Ljava/lang/String;)Ljava/net/URL;"))
2022-06-21 19:03:25 +02:00
public URL logResourcePackStatus(String url) {
2023-09-22 21:12:55 +02:00
URL res = getParsedResourcePackUrl(url);
2024-04-25 19:46:53 +02:00
DynRes.LOGGER.info("[CHECK] ResourcePackUrlValid={0}", res != null);
2022-06-08 13:51:43 +02:00
return res;
}
}