@@ -23,19 +23,8 @@ package com.demonwav.mcdev.creator.custom.derivation
2323import com.demonwav.mcdev.creator.custom.PropertyDerivation
2424import com.demonwav.mcdev.creator.custom.TemplateValidationReporter
2525import com.demonwav.mcdev.creator.custom.types.CreatorProperty
26- import com.demonwav.mcdev.update.PluginUtil
2726import com.demonwav.mcdev.util.MinecraftVersions
2827import com.demonwav.mcdev.util.SemanticVersion
29- import io.ktor.client.*
30- import io.ktor.client.request.*
31- import io.ktor.client.statement.*
32- import io.ktor.http.*
33- import kotlinx.coroutines.runBlocking
34- import kotlinx.serialization.json.Json
35- import kotlinx.serialization.json.int
36- import kotlinx.serialization.json.jsonArray
37- import kotlinx.serialization.json.jsonObject
38- import kotlinx.serialization.json.jsonPrimitive
3928
4029class FetchPaperDependencyVersionForMcVersion : PreparedDerivation {
4130
@@ -46,41 +35,13 @@ class FetchPaperDependencyVersionForMcVersion : PreparedDerivation {
4635 }
4736
4837 val isMaven = (parentValues[1 ] as String ) == " Maven"
49- if (isMaven) {
50- val latestBuild = fetchPaperBuildData(version.toString());
51- return " ${version} .build.${latestBuild.id} -${latestBuild.channel} "
38+ return if (isMaven) {
39+ " [${version} .build,)"
40+ } else {
41+ " ${version} .build.+"
5242 }
53- return " ${version} .build.+"
5443 }
5544
56- private fun fetchPaperBuildData (version : String ): PaperBuild {
57- return runBlocking {
58- val client = HttpClient ()
59- val response = client.get(" https://fill.papermc.io/v3/projects/paper/versions/${version} /builds" , block = {
60- this .header(
61- " User-Agent" ,
62- " minecraft-dev/${PluginUtil .pluginVersion} (https://github.com/minecraft-dev/MinecraftDev)"
63- )
64- })
65- if (response.status.isSuccess()) {
66- return @runBlocking Json .parseToJsonElement(response.bodyAsText()).jsonArray[0 ]
67- .let { build ->
68- return @let PaperBuild (
69- build.jsonObject[" id" ]!! .jsonPrimitive.int,
70- build.jsonObject[" channel" ]!! .jsonPrimitive.content.lowercase()
71- )
72- }
73- } else {
74- throw IllegalStateException (" Failed to fetch latest Paper build for version ${version} : ${response.bodyAsText()} " )
75- }
76- }
77- }
78-
79- private data class PaperBuild (
80- val id : Int ,
81- val channel : String ,
82- );
83-
8445 companion object : PropertyDerivationFactory {
8546
8647 override fun create (
0 commit comments