From 2cafba144b1cbed7c6b59eb94fc613d16bd71596 Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Tue, 28 Nov 2023 17:00:31 -0700 Subject: [PATCH] fix default being set early --- .../unimined/internal/mods/ModsProvider.kt | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/mods/kotlin/xyz/wagyourtail/unimined/internal/mods/ModsProvider.kt b/src/mods/kotlin/xyz/wagyourtail/unimined/internal/mods/ModsProvider.kt index 856fe6fa..2b230ade 100644 --- a/src/mods/kotlin/xyz/wagyourtail/unimined/internal/mods/ModsProvider.kt +++ b/src/mods/kotlin/xyz/wagyourtail/unimined/internal/mods/ModsProvider.kt @@ -1,7 +1,9 @@ package xyz.wagyourtail.unimined.internal.mods +import net.fabricmc.tinyremapper.TinyRemapper import org.gradle.api.Project import org.gradle.api.artifacts.Configuration +import org.jetbrains.annotations.ApiStatus import xyz.wagyourtail.unimined.api.mapping.MappingNamespaceTree import xyz.wagyourtail.unimined.api.minecraft.MinecraftConfig import xyz.wagyourtail.unimined.api.mod.ModRemapConfig @@ -9,6 +11,7 @@ import xyz.wagyourtail.unimined.api.mod.ModsConfig import xyz.wagyourtail.unimined.api.unimined import xyz.wagyourtail.unimined.util.FinalizeOnRead import xyz.wagyourtail.unimined.util.defaultedMapOf +import xyz.wagyourtail.unimined.util.getField import xyz.wagyourtail.unimined.util.withSourceSet import java.io.File import java.nio.file.Path @@ -42,18 +45,14 @@ class ModsProvider(val project: Project, val minecraft: MinecraftConfig) : ModsC remapConfigs[config.toSet()] = action } + @ApiStatus.Internal fun default(action: ModRemapConfig.() -> Unit) { - val old = default + val prev: FinalizeOnRead Unit> = ModsProvider::class.getField("default")!!.getDelegate(this) as FinalizeOnRead Unit> + val old: ModRemapProvider.() -> Unit = prev.value as ModRemapProvider.() -> Unit default = { - old() + old(this) action() } - for ((config, action) in remapConfigs) { - remapConfigs[config] = { - old() - action() - } - } } override fun modImplementation(action: ModRemapConfig.() -> Unit) {