package net.fabricmc.fabric.mixin.resource.loader.client;

import java.util.function.Consumer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.impl.resource.loader.ModResourcePackCreator;
import net.minecraft.class_1065;
import net.minecraft.class_3288;
import net.minecraft.class_7678;
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;

@Environment(EnvType.CLIENT)
@Mixin({class_7678.class})
public class VanillaResourcePackProviderMixin {
   @Inject(
      method = {"method_14453(Ljava/util/function/Consumer;)V"},
      at = {@At("RETURN")}
   )
   private void addBuiltinResourcePacks(Consumer<class_3288> consumer, CallbackInfo ci) {
      if (this instanceof class_1065) {
         ModResourcePackCreator.CLIENT_RESOURCE_PACK_PROVIDER.method_14453(consumer);
      }

   }
}
