fix: Don't crash with newer fabric versions anymore

This commit is contained in:
Linnea Gräf
2025-02-17 20:47:56 +01:00
parent a23ac73272
commit 9cce9ddf26
5 changed files with 27 additions and 19 deletions

View File

@@ -440,6 +440,7 @@ tasks.processResources {
"version" to project.version.toString(),
"minecraft_version" to libs.versions.minecraft.get(),
"fabric_kotlin_version" to libs.versions.fabric.kotlin.get(),
"fabric_api_version" to libs.versions.fabric.api.get(),
"rei_version" to libs.versions.rei.get()
)
replacements.forEach { (key, value) -> inputs.property(key, value) }

View File

@@ -6,20 +6,20 @@
minecraft = "1.21.4"
# Update from https://kotlinlang.org/
kotlin = "2.1.0"
kotlin = "2.1.10"
# Update from https://github.com/google/ksp/releases
kotlin_ksp = "2.1.0-1.0.29"
kotlin_ksp = "2.1.10-1.0.30"
# Update from https://linkie.shedaniel.me/dependencies?loader=fabric
fabric_loader = "0.16.9"
fabric_api = "0.114.0+1.21.4"
yarn = "1.21.4+build.4"
modmenu = "13.0.0-beta.1"
fabric_loader = "0.16.10"
fabric_api = "0.117.0+1.21.4"
yarn = "1.21.4+build.8"
modmenu = "13.0.2"
architectury = "15.0.1"
rei = "18.0.796"
# Update from https://maven.fabricmc.net/net/fabricmc/fabric-language-kotlin/
fabric_kotlin = "1.13.0+kotlin.2.1.0"
fabric_kotlin = "1.13.1+kotlin.2.1.10"
# Update from https://maven.architectury.dev/dev/architectury/loom/dev.architectury.loom.gradle.plugin/
loom = "1.7.414" # TODO: port back to architectury (and) 1.9.424

View File

@@ -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"))
@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(
List<ModResourcePack> packs,
ResourceType type,
@Nullable String subPath,
CallbackInfo ci
FabricLoader fabricLoader, ResourceType type, @Nullable String subPath, CallbackInfoReturnable<List<ModResourcePack>> cir,
@Local ModResourcePackSorter sorter
) {
RepoModResourcePack.Companion.append(packs);
RepoModResourcePack.Companion.append(sorter);
}
}

View File

@@ -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> {

View File

@@ -48,7 +48,7 @@
"firmament.mixins.json"
],
"depends": {
"fabric": "*",
"fabric": ">=${fabric_api_version}",
"fabric-language-kotlin": ">=${fabric_kotlin_version}",
"minecraft": ">=${minecraft_version}"
},