Example Gradle Build

Template for project.

Replace "me.redtea" to your package. Also replace author in bukkit {}

plugins {
    kotlin("jvm") version "1.9.0"
    id("java")
    id("net.minecrell.plugin-yml.bukkit") version "0.6.0"
    id("org.jetbrains.kotlin.plugin.serialization") version "1.9.0"
    id("com.github.johnrengelman.shadow") version "7.1.2"
    id("xyz.jpenilla.run-paper") version "2.1.0"
    id("com.google.devtools.ksp") version "1.9.0-1.0.11"
}

group = "me.redtea"
version = "1.0.0-SNAPSHOT"

repositories {
    mavenCentral()
    maven {
        name = "spigotmc-repo"
        url = uri("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
    }
}

dependencies {
    compileOnly("org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT")
    library("org.jetbrains.kotlin:kotlin-stdlib")
    library("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.2")
    library("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1")
    library("org.jetbrains:annotations:24.0.0")
    library("com.github.cryptomorin:XSeries:9.2.0")
    //implementation files('libs/MiniMessages-0.1.0.jar')

    library("tech.carcadex:kotlinbukkitkit-architecture:[LATEST VERSION]")
    library("tech.carcadex:kotlinbukkitkit-extensions:[LATEST VERSION]")
    library("tech.carcadex:kotlinbukkitkit-serialization:[LATEST VERSION]")
    compileOnly("tech.carcadex:kotlinbukkitkit-genref:[LATEST VERSION]")
    library("tech.carcadex:kotlinbukkitkit-messages:[LATEST VERSION]")
    library("tech.carcadex:kotlinbukkitkit-commands:[LATEST VERSION]")
    library("tech.carcadex:kotlinbukkitkit-utility:[LATEST VERSION]")
    library("tech.carcadex:kotlinbukkitkit-menu:[LATEST VERSION]")
    ksp("tech.carcadex:kotlinbukkitkit-genref:[LATEST VERSION]")
}


bukkit {
    main = "${project.group}.${project.name.toLowerCase()}.${project.name}Plugin"
    author = "itzRedTea"
    apiVersion = "1.13"
}

tasks {
    runServer {
        minecraftVersion("1.16.5")
    }
}


tasks {
    shadowJar {
        dependencies {
            exclude(dependency("org.jetbrains:*:*"))
        }
    }
}

sourceSets {
    main {
        kotlin.srcDirs.add(File("build/generated/ksp"))
    }
}

Last updated