Resclone/src/main/java/io/gitlab/jfronny/resclone/mixin/FileResourcePackProviderMix...

38 lines
1.5 KiB
Java
Raw Normal View History

2020-12-29 16:14:53 +01:00
package io.gitlab.jfronny.resclone.mixin;
import io.gitlab.jfronny.resclone.Resclone;
import io.gitlab.jfronny.resclone.RescloneResourcePack;
import io.gitlab.jfronny.resclone.data.PackMetaLoaded;
2022-12-07 22:59:57 +01:00
import net.minecraft.resource.*;
import net.minecraft.text.Text;
2023-02-26 14:00:38 +01:00
import org.spongepowered.asm.mixin.*;
2020-12-29 16:14:53 +01:00
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.function.Consumer;
@Mixin(FileResourcePackProvider.class)
public class FileResourcePackProviderMixin {
2021-10-09 13:19:41 +02:00
@Shadow @Final private ResourcePackSource source;
2022-12-07 22:59:57 +01:00
@Shadow @Final private ResourceType type;
2020-12-29 16:14:53 +01:00
2022-12-07 22:59:57 +01:00
@Inject(at = @At("TAIL"), method = "register(Ljava/util/function/Consumer;)V")
public void registerExtra(Consumer<ResourcePackProfile> consumer, CallbackInfo info) {
for (PackMetaLoaded meta : Resclone.DOWNLOADED_PACKS) {
2022-12-07 22:59:57 +01:00
ResourcePackProfile resourcePackProfile = ResourcePackProfile.create(
"resclone/" + meta.name(),
2022-12-07 22:59:57 +01:00
Text.literal(meta.name()),
meta.forceEnable(),
2023-09-22 20:34:51 +02:00
new RescloneResourcePack.Factory(meta.zipPath().toFile(), meta.name()),
2022-12-07 22:59:57 +01:00
type,
2020-12-29 16:14:53 +01:00
ResourcePackProfile.InsertionPosition.TOP,
2022-12-07 22:59:57 +01:00
source
2020-12-29 16:14:53 +01:00
);
if (resourcePackProfile != null) {
consumer.accept(resourcePackProfile);
}
}
}
}