package io.gitlab.jfronny.dynres.mixin; import io.gitlab.jfronny.dynres.DynRes; import io.gitlab.jfronny.dynres.Logger; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.network.packet.c2s.play.ResourcePackStatusC2SPacket; import net.minecraft.network.packet.s2c.play.ResourcePackSendS2CPacket; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(ClientPlayNetworkHandler.class) public class ClientPlayNetworkHandlerMixin { @Inject(at = @At("HEAD"), method = "sendResourcePackStatus(Lnet/minecraft/network/packet/c2s/play/ResourcePackStatusC2SPacket$Status;)V") public void logSentResourcePackStatus(ResourcePackStatusC2SPacket.Status packStatus, CallbackInfo info) { Logger.l.info("[SEND] ResourcePackStatus=" + packStatus); } @Inject(at = @At("HEAD"), method = "onResourcePackSend(Lnet/minecraft/network/packet/s2c/play/ResourcePackSendS2CPacket;)V") public void logResourcePackStatus(ResourcePackSendS2CPacket status, CallbackInfo info) { Logger.l.info("[RECEIVE] ResourcePackUrl=" + status.getURL()); Logger.l.info("[RECEIVE] ResourcePackSha1=" + status.getSHA1()); } @Inject(at = @At("RETURN"), method = "validateResourcePackUrl(Ljava/lang/String;)Z") public void logUrlValid(String url, CallbackInfoReturnable info) { Logger.l.info("[CHECK] ResourcePackUrlValid=" + info.getReturnValue()); } }