mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-19 15:09:15 +00:00
1
.gitignore
vendored
1
.gitignore
vendored
@@ -30,3 +30,4 @@ build/
|
|||||||
!/libs/*.jar
|
!/libs/*.jar
|
||||||
!/gradle/wrapper/*.jar
|
!/gradle/wrapper/*.jar
|
||||||
.vscode/settings.json
|
.vscode/settings.json
|
||||||
|
/runPaper/
|
||||||
@@ -1,8 +1,12 @@
|
|||||||
import net.minecrell.pluginyml.paper.PaperPluginDescription
|
import net.minecrell.pluginyml.paper.PaperPluginDescription
|
||||||
|
import xyz.jpenilla.runpaper.task.RunServer
|
||||||
|
import xyz.jpenilla.runtask.pluginsapi.DownloadPluginsSpec
|
||||||
|
import java.net.URI
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.gradleup.shadow") version "9.2.2"
|
id("com.gradleup.shadow") version "9.2.2"
|
||||||
id("de.eldoria.plugin-yml.paper") version "0.7.1"
|
id("de.eldoria.plugin-yml.paper") version "0.7.1"
|
||||||
|
id("xyz.jpenilla.run-paper") version "2.3.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
@@ -170,3 +174,58 @@ tasks {
|
|||||||
relocate("io.netty.handler.codec.http2", "net.momirealms.craftengine.libraries.netty.handler.codec.http2")
|
relocate("io.netty.handler.codec.http2", "net.momirealms.craftengine.libraries.netty.handler.codec.http2")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register Run Dev Server Tasks
|
||||||
|
*/
|
||||||
|
listOf(
|
||||||
|
"1.21.10",
|
||||||
|
"1.21.8",
|
||||||
|
"1.21.5",
|
||||||
|
"1.21.4",
|
||||||
|
"1.21.2",
|
||||||
|
"1.21.1",
|
||||||
|
"1.20.6",
|
||||||
|
"1.20.4",
|
||||||
|
"1.20.2",
|
||||||
|
"1.20.1",
|
||||||
|
).forEach {
|
||||||
|
registerPaperTask(it)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun registerPaperTask(
|
||||||
|
version: String,
|
||||||
|
dirName: String = version,
|
||||||
|
javaVersion : Int = 21,
|
||||||
|
serverJar: File? = null,
|
||||||
|
downloadPlugins: Action<DownloadPluginsSpec>? = null
|
||||||
|
) {
|
||||||
|
listOf(version, "${version}-with-viaversion").forEach { taskName ->
|
||||||
|
tasks.register(taskName, RunServer::class) {
|
||||||
|
group = "run dev server"
|
||||||
|
minecraftVersion(version)
|
||||||
|
serverJar?.let { serverJar(it) }
|
||||||
|
pluginJars.from(tasks.shadowJar.flatMap { it.archiveFile })
|
||||||
|
runDirectory = rootProject.layout.projectDirectory.dir("runPaper/${dirName}")
|
||||||
|
javaLauncher = javaToolchains.launcherFor {
|
||||||
|
vendor = JvmVendorSpec.JETBRAINS
|
||||||
|
languageVersion = JavaLanguageVersion.of(javaVersion)
|
||||||
|
}
|
||||||
|
systemProperties["com.mojang.eula.agree"] = true
|
||||||
|
jvmArgs("-Ddisable.watchdog=true")
|
||||||
|
jvmArgs("-Xlog:redefine+class*=info")
|
||||||
|
jvmArgs("-XX:+AllowEnhancedClassRedefinition")
|
||||||
|
downloadPlugins?.let { downloadPlugins(it) }
|
||||||
|
downloadPlugins {
|
||||||
|
url("https://ci.viaversion.com/job/ViaVersion/lastBuild/artifact/build/libs/${getJenkinsArtifactFileName("https://ci.viaversion.com/job/ViaVersion/lastSuccessfulBuild/api/json?tree=artifacts[*]")}")
|
||||||
|
url("https://ci.viaversion.com/view/ViaBackwards/job/ViaBackwards/662/artifact/build/libs/${getJenkinsArtifactFileName("https://ci.viaversion.com/job/ViaBackwards/lastSuccessfulBuild/api/json?tree=artifacts[*]")}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getJenkinsArtifactFileName(url: String): String {
|
||||||
|
val response = URI.create(url).toURL().readText()
|
||||||
|
val regex = """"fileName":"([^"]+)"""".toRegex()
|
||||||
|
return regex.find(response)?.groupValues?.get(1) ?: throw Exception("fileName not found")
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user