Skip to content

Commit

Permalink
fix default being set early
Browse files Browse the repository at this point in the history
  • Loading branch information
wagyourtail committed Nov 29, 2023
1 parent 07dada7 commit 2cafba1
Showing 1 changed file with 7 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
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
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
Expand Down Expand Up @@ -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<ModRemapProvider.() -> Unit> = ModsProvider::class.getField("default")!!.getDelegate(this) as FinalizeOnRead<ModRemapProvider.() -> 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) {
Expand Down

0 comments on commit 2cafba1

Please sign in to comment.