fabric-lifecycle-events-v1-2.6.9+33df5e6e6f.jar

Download file
    package net.fabricmc.fabric.mixin.event.lifecycle;

import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
import net.minecraft.class_2535;
import net.minecraft.class_3222;
import net.minecraft.class_3324;
import net.minecraft.class_8792;
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;

@Mixin({class_3324.class})
public class PlayerManagerMixin {
   @Inject(
      method = {"method_14570(Lnet/minecraft/class_2535;Lnet/minecraft/class_3222;Lnet/minecraft/class_8792;)V"},
      at = {@At(
   value = "NEW",
   target = "Lnet/minecraft/class_2788;"
)}
   )
   private void hookOnPlayerConnect(class_2535 connection, class_3222 player, class_8792 arg, CallbackInfo ci) {
      ((ServerLifecycleEvents.SyncDataPackContents)ServerLifecycleEvents.SYNC_DATA_PACK_CONTENTS.invoker()).onSyncDataPackContents(player, true);
   }

   @Inject(
      method = {"method_14572()V"},
      at = {@At(
   value = "INVOKE",
   target = "Lnet/minecraft/class_2790;<init>(Ljava/util/Map;)V"
)}
   )
   private void hookOnDataPacksReloaded(CallbackInfo ci) {
      for(class_3222 player : ((class_3324)this).method_14571()) {
         ((ServerLifecycleEvents.SyncDataPackContents)ServerLifecycleEvents.SYNC_DATA_PACK_CONTENTS.invoker()).onSyncDataPackContents(player, false);
      }

   }
}
    
Download file