plugins { id("java") id("org.jetbrains.gradle.plugin.idea-ext") version "1.3" id("xyz.jpenilla.run-velocity") version "3.0.0" } group = 'com.uravgcode' version = '1.0' repositories { mavenCentral() maven { name = "papermc-repo" url = "https://repo.papermc.io/repository/maven-public/" } } dependencies { compileOnly("com.velocitypowered:velocity-api:3.4.0-SNAPSHOT") annotationProcessor("com.velocitypowered:velocity-api:3.4.0-SNAPSHOT") } tasks { runVelocity { velocityVersion("3.4.0-SNAPSHOT") } } def targetJavaVersion = 21 java { toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion) } tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' options.release.set(targetJavaVersion) } def templateSource = file('src/main/templates') def templateDest = layout.buildDirectory.dir('generated/sources/templates') def generateTemplates = tasks.register('generateTemplates', Copy) { task -> def props = ['version': project.version] task.inputs.properties props task.from templateSource task.into templateDest task.expand props } sourceSets.main.java.srcDir(generateTemplates.map { it.outputs }) project.idea.project.settings.taskTriggers.afterSync generateTemplates