Scripts/lom/src/main/kotlin/io/gitlab/jfronny/scripts/LomExtension.kt

36 lines
999 B
Kotlin
Raw Normal View History

package io.gitlab.jfronny.scripts
2022-10-06 19:30:52 +02:00
import org.gradle.api.Project
import org.gradle.api.provider.Property
import java.util.*
interface LomExtension {
val loaderKind: Property<LoaderKind>
val minecraftVersion: Property<String>
val loaderVersion: Property<String>
val yarnBuild: Property<String>
2022-10-06 19:30:52 +02:00
fun yarn(yarnBuild: String) {
this.yarnBuild.set(Objects.requireNonNull(yarnBuild))
2022-10-06 19:30:52 +02:00
}
fun mojmap() {
yarnBuild.set(null)
2022-10-06 19:30:52 +02:00
}
fun check(proj: Project) {
yarnBuild.finalizeValue()
minecraftVersion.finalizeValue()
loaderVersion.finalizeValue()
loaderKind.finalizeValue()
}
fun copyFrom(ext: LomExtension) {
2024-03-21 13:26:56 +01:00
if (loaderKind.get() != ext.loaderKind.get()) {
throw IllegalArgumentException("Cannot copy from a config meant for a different loader")
}
yarnBuild.set(ext.yarnBuild)
minecraftVersion.set(ext.minecraftVersion)
loaderVersion.set(ext.loaderVersion)
2022-10-06 19:30:52 +02:00
}
}