plugins { id("geyser.platform-conventions") id("geyser.modrinth-uploading-conventions") alias(libs.plugins.runvelocity) } dependencies { annotationProcessor(libs.velocity.api) api(projects.core) compileOnly(libs.velocity.proxy) compileOnly(libs.netty.transport.native.io.uring) compileOnly(libs.netty.transport.native.kqueue) compileOnlyApi(libs.velocity.api) api(libs.cloud.velocity) } platformRelocate("it.unimi.dsi.fastutil") platformRelocate("net.kyori.adventure.text.serializer.gson.legacyimpl") platformRelocate("org.yaml") platformRelocate("org.spongepowered") platformRelocate("org.bstats") platformRelocate("org.incendo") platformRelocate("io.leangen.geantyref") // provided by cloud and Configurate, should also be relocated // These dependencies are already present on the platform provided(libs.velocity.api) tasks.withType { manifest.attributes["Main-Class"] = "org.geysermc.geyser.platform.velocity.GeyserVelocityMain" } tasks.withType { archiveBaseName.set("Geyser-Velocity") dependencies { exclude(dependency("com.google.*:.*")) exclude(dependency("io.netty:.*")) exclude(dependency("org.slf4j:.*")) exclude(dependency("org.ow2.asm:.*")) // Exclude all Kyori dependencies exclude(dependency("net.kyori:.*:.*")) } } modrinth { uploadFile.set(tasks.getByPath("shadowJar")) loaders.addAll("velocity") } tasks { runVelocity { version(libs.versions.runvelocityversion.get()) } }