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") }