summaryrefslogtreecommitdiff
path: root/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle.kts')
-rw-r--r--build.gradle.kts71
1 files changed, 71 insertions, 0 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000..6d075c8
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,71 @@
+import net.minecrell.pluginyml.bukkit.BukkitPluginDescription
+import net.minecrell.pluginyml.paper.PaperPluginDescription
+
+plugins {
+ alias(libs.plugins.kotlin.jvm)
+ alias(libs.plugins.plugin.yml.paper)
+ alias(libs.plugins.run.paper)
+ alias(libs.plugins.spotless)
+}
+
+group = "dev.mikka.cortex.help"
+
+version = "1.0-SNAPSHOT"
+
+repositories {
+ mavenCentral()
+ maven("https://repo.papermc.io/repository/maven-public/")
+ maven("https://repo.codemc.io/repository/maven-releases/")
+}
+
+dependencies {
+ compileOnly(libs.paper.api)
+ paperLibrary(libs.kotlin.stdlib)
+
+ compileOnly(
+ libs.luckperms.api
+ ) // Bukkit SPI - It would be actually safer to include the API on the server, however we can't for this demonstration
+ compileOnly(libs.protocollib) // Direct Ref
+ paperLibrary(libs.packetevents.spigot) // Library with initializer
+}
+
+kotlin { jvmToolchain(17) }
+
+paper {
+ name = "TestPlugin"
+ version = "0.1.0"
+ description = "Accessing other plugins"
+ author = "devmikka"
+ main = "dev.mikka.cortex.help.TestPlugin"
+ loader = "dev.mikka.cortex.help.loader.TestPluginLoader"
+ generateLibrariesJson = true
+ apiVersion = "1.20"
+ load = BukkitPluginDescription.PluginLoadOrder.STARTUP
+
+ serverDependencies {
+ register("LuckPerms") {
+ load = PaperPluginDescription.RelativeLoadOrder.BEFORE
+ required = false
+ }
+ register("ProtocolLib") {
+ load = PaperPluginDescription.RelativeLoadOrder.BEFORE
+ required = true
+ joinClasspath = true
+ }
+ }
+}
+
+spotless {
+ kotlin { ktfmt().kotlinlangStyle().configure { it.setMaxWidth(120) } }
+ kotlinGradle { ktfmt().kotlinlangStyle().configure { it.setMaxWidth(140) } }
+ java {
+ removeUnusedImports()
+ importOrder()
+ formatAnnotations()
+ palantirJavaFormat()
+ }
+}
+
+tasks.generatePaperPluginDescription { useDefaultCentralProxy() }
+
+tasks.runServer { minecraftVersion("1.20.1") }