fabric-resource-loader-v0-3.3.1+d4d4122a6f.jar
Download file
package net.fabricmc.fabric.mixin.resource.loader;
import java.util.Set;
import java.util.function.Predicate;
import net.fabricmc.fabric.impl.resource.loader.FabricResourcePackProfile;
import net.fabricmc.fabric.impl.resource.loader.ResourcePackSourceTracker;
import net.minecraft.class_3262;
import net.minecraft.class_3288;
import net.minecraft.class_9224;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin({class_3288.class})
abstract class ResourcePackProfileMixin implements FabricResourcePackProfile {
@Unique
private static final Predicate<Set<String>> DEFAULT_PARENT_PREDICATE = (parents) -> true;
@Unique
private Predicate<Set<String>> parentsPredicate;
ResourcePackProfileMixin() {
this.parentsPredicate = DEFAULT_PARENT_PREDICATE;
}
@Shadow
public abstract class_9224 method_56933();
@Inject(
method = {"method_14458()Lnet/minecraft/class_3262;"},
at = {@At("RETURN")}
)
private void onCreateResourcePack(CallbackInfoReturnable<class_3262> info) {
ResourcePackSourceTracker.setSource((class_3262)info.getReturnValue(), this.method_56933().comp_2331());
}
public boolean fabric_isHidden() {
return this.parentsPredicate != DEFAULT_PARENT_PREDICATE;
}
public boolean fabric_parentsEnabled(Set<String> enabled) {
return this.parentsPredicate.test(enabled);
}
public void fabric_setParentsPredicate(Predicate<Set<String>> predicate) {
this.parentsPredicate = predicate;
}
}
Download file