add simpler integration with gradle version catalogues
This commit is contained in:
parent
b90330917c
commit
3f4c38d821
|
@ -9,6 +9,7 @@ import org.ecorous.esnesnon.nonsense_remapper.parser.ProguardParser
|
|||
import org.ecorous.esnesnon.nonsense_remapper.provider.MojmapProvider
|
||||
import org.ecorous.esnesnon.nonsense_remapper.provider.ParchmentProvider
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.provider.Provider
|
||||
import kotlin.io.path.notExists
|
||||
|
||||
fun Project.minecraft(
|
||||
|
@ -17,7 +18,8 @@ fun Project.minecraft(
|
|||
): Project { // return self to allow for chaining
|
||||
if (VersionChecker.validateVersion(version)) {
|
||||
println("Setting up Minecraft...")
|
||||
val parchment = parchmentVersion?: kotlin.runCatching { ParchmentProvider.findForMinecraftVersion(version) }.getOrDefault("")
|
||||
val parchment = parchmentVersion ?: kotlin.runCatching { ParchmentProvider.findForMinecraftVersion(version) }
|
||||
.getOrDefault("")
|
||||
PhytotelmaPlugin.minecraftVersion = version
|
||||
PhytotelmaPlugin.parchmentVersion = parchment
|
||||
println("Valid version! $version")
|
||||
|
@ -28,10 +30,19 @@ fun Project.minecraft(
|
|||
val applyAW = AccessWidener.needsUpdate(this)
|
||||
if (remappedJar.notExists() || applyAW) {
|
||||
println("Remapping the game...")
|
||||
val data = kotlin.runCatching { ProguardParser.read(MojmapProvider.get(version, clientJar.resolveSibling("client-$version.txt")).orElseThrow()).reverse() }.getOrNull()
|
||||
val paramMappings = if (parchment.isNotEmpty()) kotlin.runCatching { ParchmentProvider.getParchment(
|
||||
val data = kotlin.runCatching {
|
||||
ProguardParser.read(
|
||||
MojmapProvider.get(
|
||||
version,
|
||||
clientJar.resolveSibling("client-$version.txt")
|
||||
).orElseThrow()
|
||||
).reverse()
|
||||
}.getOrNull()
|
||||
val paramMappings = if (parchment.isNotEmpty()) kotlin.runCatching {
|
||||
ParchmentProvider.getParchment(
|
||||
version, parchment,
|
||||
PhytotelmaPlugin.nonsenseCacheDir.resolve("org/parchmentmc/parchment/$version/$parchment"))
|
||||
PhytotelmaPlugin.nonsenseCacheDir.resolve("org/parchmentmc/parchment/$version/$parchment")
|
||||
)
|
||||
}.getOrNull() else {
|
||||
println("Parameter mappings will not be present as no parchment version was found. It may be possible to declare it manually.")
|
||||
null
|
||||
|
@ -70,6 +81,17 @@ fun Project.minecraft(
|
|||
return this
|
||||
}
|
||||
|
||||
fun Project.minecraft(
|
||||
version: Provider<String>,
|
||||
parchmentVersion: Provider<String> = provider { null }
|
||||
): Project {
|
||||
return minecraft(version.get(), parchmentVersion.orNull)
|
||||
}
|
||||
|
||||
fun Project.loader(version: String) {
|
||||
dependencies.add("implementation", "org.ecorous.esnesnon:frogloader:$version")
|
||||
}
|
||||
|
||||
fun Project.loader(version: Provider<String>) {
|
||||
return loader(version.get())
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue