plugins { id 'java' } group = 'best.lolicon.felis' version = '0.1.0' // JDK 17 is the ceiling the whole plugin suite targets (Velocity 3.3.0 is a // Java-17 line); we run Gradle on JDK 17 and compile to 17 bytecode rather than // provisioning a separate toolchain. java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } repositories { mavenCentral() maven { name = 'papermc' url = 'https://repo.papermc.io/repository/maven-public/' } } dependencies { // velocity-api is compile-only (the proxy provides it at runtime); the // annotation processor turns @Plugin into the generated velocity-plugin.json. compileOnly 'com.velocitypowered:velocity-api:3.3.0-SNAPSHOT' annotationProcessor 'com.velocitypowered:velocity-api:3.3.0-SNAPSHOT' } // The platform-agnostic link core lives in ../shared and is compiled straight // into this jar. The core has zero third-party dependencies, so source-sharing // keeps every loader self-contained with nothing to shade. sourceSets { main { java { srcDir '../shared/src/main/java' } } } tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' }