From fdd8fd0f059bba93f70b6a317c27f2549b380fb6 Mon Sep 17 00:00:00 2001 From: devmikka <64923699+DevMikka@users.noreply.github.com> Date: Sat, 8 Nov 2025 10:23:57 +0100 Subject: v1 --- build.gradle.kts | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 build.gradle.kts (limited to 'build.gradle.kts') 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") } -- cgit v1.2.3-70-g09d2