plugins { id 'java' id("io.papermc.paperweight.userdev") version "2.0.0-beta.14" } group = 'de.blazemcworld' version = project.version repositories { mavenCentral() maven { name = "papermc-repo" url = "https://repo.papermc.io/repository/maven-public/" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/groups/public/" } } dependencies { // IMPORTANT IF YOU"RE ADDING OR UPDATING DEPENDENCIES!!!!!!!!! // add them in plugin.yml too so that they are loaded when running on a server paperweight.paperDevBundle("1.21.4-R0.1-SNAPSHOT") compileOnly "io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT" // ULID implementation 'io.azam.ulidj:ulidj:1.0.4' // JDA implementation "net.dv8tion:JDA:5.0.0-beta.23" implementation "club.minnced:discord-webhooks:0.8.4" // JS Runtime implementation "com.caoccao.javet:javet:3.1.2" implementation "com.github.ben-manes.caffeine:caffeine:3.1.8" // Web Server implementation "io.jsonwebtoken:jjwt-api:0.12.6" implementation "io.jsonwebtoken:jjwt-impl:0.12.6" implementation "io.jsonwebtoken:jjwt-gson:0.12.6" implementation "org.freemarker:freemarker:2.3.33" // Websocket server implementation 'org.java-websocket:Java-WebSocket:1.5.7' } def targetJavaVersion = 21 java { def javaVersion = JavaVersion.toVersion(targetJavaVersion) sourceCompatibility = javaVersion targetCompatibility = javaVersion if (JavaVersion.current() < javaVersion) { toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion) } } tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) { options.release.set(targetJavaVersion) } } processResources { def props = [ version: version, launchClass: ("true".equals(project.test)) ? project.testClass : project.mainClass ] inputs.properties props filteringCharset 'UTF-8' filesMatching('plugin.yml') { expand props } } tasks.assemble { dependsOn(reobfJar) }