Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled
javaVersion=25
mcVersion=1.21.11
group=dev.slne.surf
version=1.21.11-2.61.0
version=1.21.11-2.62.0
relocationPrefix=dev.slne.surf.surfapi.libs
snapshot=false
2 changes: 2 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[versions]
# Paper
paper-api = "1.21.11-R0.1-SNAPSHOT"
canvas-api = "1.21.11-R0.1-SNAPSHOT"

# Hytale
hytale-server = "1.0.0"
Expand Down Expand Up @@ -77,6 +78,7 @@ dokka = "2.1.0"
[libraries]
# Paper
paper-api = { module = "io.papermc.paper:paper-api", version.ref = "paper-api" }
canvas-api = { module = "io.canvasmc.canvas:canvas-api", version.ref = "canvas-api" }

# Hytale
hytale-server = { module = "dev.hypixel:hytale-server", version.ref = "hytale-server" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ public abstract interface class dev/slne/surf/surfapi/bukkit/api/SurfBukkitApi :
public static final field Companion Ldev/slne/surf/surfapi/bukkit/api/SurfBukkitApi$Companion;
public abstract fun createScoreboard (Lnet/kyori/adventure/text/Component;)Ldev/slne/surf/surfapi/bukkit/api/scoreboard/SurfScoreboardBuilder;
public static fun getInstance ()Ldev/slne/surf/surfapi/bukkit/api/SurfBukkitApi;
public abstract fun isCanvasMc ()Z
public abstract fun isFolia ()Z
public abstract fun scoreboardLibrary ()Lnet/megavex/scoreboardlibrary/api/ScoreboardLibrary;
public fun sendPlayerToServer (Lorg/bukkit/entity/Player;Ljava/lang/String;)V
public abstract fun skipTimeSmoothly (JJLkotlin/coroutines/Continuation;)Ljava/lang/Object;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ import org.jetbrains.annotations.ApiStatus
@ApiStatus.NonExtendable
interface SurfBukkitApi : SurfCoreApi {

val isFolia: Boolean
val isCanvasMc: Boolean

@ObsoleteScoreboardApi
fun scoreboardLibrary(): ScoreboardLibrary

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ class SurfBukkitApiImpl : SurfCoreApiImpl(), SurfBukkitApi {
SurfBukkitHookManager.onEnable()
}

override val isFolia: Boolean by lazy { runCatching { Class.forName("io.papermc.paper.threadedregions.RegionizedServer") }.isSuccess }
override val isCanvasMc: Boolean by lazy { runCatching { Class.forName("io.canvasmc.canvas.event.EntityPortalAsyncEvent") }.isSuccess }

@ObsoleteScoreboardApi
override fun scoreboardLibrary() = plugin.getScoreboardLibrary()

Expand Down
12 changes: 7 additions & 5 deletions surf-api-gradle-plugin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ plugins {
group = groupId
version = buildString {
append(mcVersion)
append("-1.12.3")
append("-1.13.0")
if (snapshot) append("-SNAPSHOT")
}

Expand Down Expand Up @@ -109,14 +109,15 @@ val generateConstants by tasks.registering {
inputs.property("javaVersion", javaVersion)
inputs.property("mcVersion", mcVersion)
inputs.property("libs.paper.api", libs.paper.api.get().toString())
inputs.property("libs.canvas.api", libs.canvas.api.get().toString())
inputs.property("libs.velocity.api", libs.velocity.api.get().toString())
inputs.property("libs.auto.service.annotations", libs.auto.service.annotations.get().toString())
inputs.property("libs.versions.commandapi", libs.versions.commandapi.get().toString())
inputs.property("libs.versions.placeholder.api", libs.versions.placeholder.api.get().toString())
inputs.property("libs.versions.luckperms", libs.versions.luckperms.get().toString())
inputs.property("libs.versions.commandapi", libs.versions.commandapi.get())
inputs.property("libs.versions.placeholder.api", libs.versions.placeholder.api.get())
inputs.property("libs.versions.luckperms", libs.versions.luckperms.get())
inputs.property(
"libs.versions.packetevents",
libs.versions.packetevents.plugin.get().toString()
libs.versions.packetevents.plugin.get()
)
inputs.property(
"version",
Expand All @@ -134,6 +135,7 @@ val generateConstants by tasks.registering {
| const val SNAPSHOT_REPO_ID = "maven-releases"
| const val SNAPSHOT_REPO = "https://repo.slne.dev/repository/maven-releases"
| const val PAPER_API = "${libs.paper.api.get()}"
| const val CANVAS_API = "${libs.canvas.api.get()}"
| const val VELOCITY_API = "${libs.velocity.api.get()}"
| const val AUTO_SERVICE_ANNOTATIONS = "${libs.auto.service.annotations.get()}"
| const val AUTO_SERVICE = "${generator.group}:${generator.name}:${generator.version}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,13 @@ package dev.slne.surf.surfapi.gradle.platform.paper

import dev.slne.surf.surfapi.gradle.platform.core.CoreSurfExtension
import org.gradle.api.model.ObjectFactory
import org.gradle.kotlin.dsl.property

abstract class AbstractPaperSurfExtension(objects: ObjectFactory) : CoreSurfExtension(objects)
abstract class AbstractPaperSurfExtension(objects: ObjectFactory) : CoreSurfExtension(objects) {
val useCanvasMc = objects.property<Boolean>().convention(false)

fun useCanvasMc() {
useCanvasMc.set(true)
useCanvasMc.finalizeValue()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ package dev.slne.surf.surfapi.gradle.platform.paper
import dev.slne.surf.surfapi.gradle.generated.Constants
import dev.slne.surf.surfapi.gradle.platform.SurfApiPlatform
import dev.slne.surf.surfapi.gradle.platform.core.AbstractCoreSurfPlugin
import dev.slne.surf.surfapi.gradle.util.canvasMaven
import org.gradle.api.Project
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.repositories
import org.jetbrains.kotlin.gradle.utils.COMPILE_ONLY

internal abstract class AbstractPaperSurfPlugin<E : AbstractPaperSurfExtension>(platformName: String) :
Expand All @@ -15,8 +17,30 @@ internal abstract class AbstractPaperSurfPlugin<E : AbstractPaperSurfExtension>(
}

override fun Project.configure0() {
}

override fun Project.afterEvaluated1(extension: E) {
if (extension.useCanvasMc.get()) {
repositories {
canvasMaven()
}
}

dependencies {
add(COMPILE_ONLY, Constants.PAPER_API)
if (extension.useCanvasMc.get()) {
add(COMPILE_ONLY, Constants.CANVAS_API)
} else {
add(COMPILE_ONLY, Constants.PAPER_API)
}
}

if (extension.useCanvasMc.get()) {
configurations.all {
resolutionStrategy.capabilitiesResolution.withCapability("org.bukkit:bukkit") {
select(Constants.CANVAS_API)
}
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ internal class PaperPluginSurfPlugin :
main = extension.mainClass.get()
bootstrapper = extension.bootstrapper.orNull
apiVersion = Constants.MINECRAFT_VERSION
foliaSupported = extension.foliaSupported.get()
foliaSupported = extension.useCanvasMc.get() || extension.foliaSupported.get()

if (extension.generateLibraryLoader.get()) {
generateLibrariesJson = true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ inline fun RepositoryHandler.slnePublic(crossinline block: MavenArtifactReposito
block()
}

inline fun RepositoryHandler.canvasMaven(crossinline block: MavenArtifactRepository.() -> Unit = {}) =
maven("https://maven.canvasmc.io/snapshots") {
name = "Canvas"
block()
}

inline fun RepositoryHandler.slneReleases(crossinline block: MavenArtifactRepository.() -> Unit = {}) =
maven("https://repo.slne.dev/repository/maven-releases/") {
name = "maven-releases"
Expand Down
Loading