fix: Don't crash with newer fabric versions anymore
This commit is contained in:
@@ -1,28 +1,34 @@
|
||||
|
||||
package moe.nea.firmament.mixins;
|
||||
|
||||
import com.llamalad7.mixinextras.sugar.Local;
|
||||
import moe.nea.firmament.repo.RepoModResourcePack;
|
||||
import net.fabricmc.fabric.api.resource.ModResourcePack;
|
||||
import net.fabricmc.fabric.impl.resource.loader.ModResourcePackSorter;
|
||||
import net.fabricmc.fabric.impl.resource.loader.ModResourcePackUtil;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.resource.ResourceType;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mixin(ModResourcePackUtil.class)
|
||||
public class AppendRepoAsResourcePack {
|
||||
@Inject(method = "appendModResourcePacks", at = @At("TAIL"))
|
||||
private static void onAppendModResourcePack(
|
||||
List<ModResourcePack> packs,
|
||||
ResourceType type,
|
||||
@Nullable String subPath,
|
||||
CallbackInfo ci
|
||||
) {
|
||||
RepoModResourcePack.Companion.append(packs);
|
||||
}
|
||||
@Inject(
|
||||
method = "getModResourcePacks",
|
||||
at = @At(value = "INVOKE", target = "Lnet/fabricmc/fabric/impl/resource/loader/ModResourcePackSorter;getPacks()Ljava/util/List;"),
|
||||
require = 0
|
||||
)
|
||||
private static void onAppendModResourcePack(
|
||||
FabricLoader fabricLoader, ResourceType type, @Nullable String subPath, CallbackInfoReturnable<List<ModResourcePack>> cir,
|
||||
@Local ModResourcePackSorter sorter
|
||||
) {
|
||||
RepoModResourcePack.Companion.append(sorter);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
import java.util.*
|
||||
import net.fabricmc.fabric.api.resource.ModResourcePack
|
||||
import net.fabricmc.fabric.impl.resource.loader.ModResourcePackSorter
|
||||
import net.fabricmc.loader.api.FabricLoader
|
||||
import net.fabricmc.loader.api.metadata.ModMetadata
|
||||
import kotlin.io.path.exists
|
||||
@@ -28,9 +29,9 @@ import moe.nea.firmament.Firmament
|
||||
|
||||
class RepoModResourcePack(val basePath: Path) : ModResourcePack {
|
||||
companion object {
|
||||
fun append(packs: MutableList<in ModResourcePack>) {
|
||||
fun append(packs: ModResourcePackSorter) {
|
||||
Firmament.logger.info("Registering mod resource pack")
|
||||
packs.add(RepoModResourcePack(RepoDownloadManager.repoSavedLocation))
|
||||
packs.addPack(RepoModResourcePack(RepoDownloadManager.repoSavedLocation))
|
||||
}
|
||||
|
||||
fun createResourceDirectly(identifier: Identifier): Optional<Resource> {
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
"firmament.mixins.json"
|
||||
],
|
||||
"depends": {
|
||||
"fabric": "*",
|
||||
"fabric": ">=${fabric_api_version}",
|
||||
"fabric-language-kotlin": ">=${fabric_kotlin_version}",
|
||||
"minecraft": ">=${minecraft_version}"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user