The Spigot plugin ID has been renamed for consistency:
plugins {
- id("io.typst.spigradle") version "3.7.3"
+ id("io.typst.spigradle.spigot") version "4.0.2"
}All platform tasks have been renamed for clarity:
| Old (3.x) | New (4.x) |
|---|---|
detectSpigotMain |
detectSpigotEntrypoints |
detectBungeeMain |
detectBungeeEntrypoints |
detectNukkitMain |
detectNukkitEntrypoints |
generateSpigotDescription |
generateSpigotPluginDescription |
generateBungeeDescription |
generateBungeePluginDescription |
generateNukkitDescription |
generateNukkitPluginDescription |
Property names changed from plural to singular:
spigot {
- depends = listOf("Vault", "ProtocolLib")
- softDepends = listOf("WorldEdit")
+ depend = listOf("Vault", "ProtocolLib")
+ softDepend = listOf("WorldEdit")
}
debugSpigot {
- downloadSoftDepends = true
+ downloadSoftDepend = true
}The Load enum has been removed. Use string literals instead:
-import io.typst.spigradle.spigot.Load
spigot {
- load = Load.STARTUP // or Load.POST_WORLD
+ load = "STARTUP" // or "POSTWORLD"
}New base plugins provide extension and repository DSL without YAML generation:
io.typst.spigradle.spigot-baseio.typst.spigradle.bungee-baseio.typst.spigradle.nukkit-base
Use base plugins when you only need dependency shortcuts without automatic plugin.yml generation.
Version Catalogs are now available for managing Spigradle plugins and dependencies:
settings.gradle.kts
dependencyResolutionManagement {
repositories {
mavenCentral()
}
versionCatalogs {
create("spigots") {
from("io.typst:spigot-catalog:1.0.0")
}
create("commons") {
from("io.typst:common-catalog:1.1.0")
}
}
}build.gradle.kts
plugins {
java
alias(spigots.plugins.spigot)
alias(commons.plugins.ideaExt) // optional, for debug Run Configurations
}
repositories {
mavenCentral()
spigotRepos {
papermc()
jitpack()
}
}
dependencies {
compileOnly(spigots.paper.api)
compileOnly(spigots.protocolLib)
compileOnly(spigots.vault.api)
}Available catalogs:
io.typst:spigot-catalog- Spigot/Paper dependencies and pluginsio.typst:bungee-catalog- BungeeCord dependencies and pluginsio.typst:nukkit-catalog- NukkitX dependencies and pluginsio.typst:common-catalog- Common dependencies (Lombok, idea-ext, etc.)
- The groupId has been changed from
kr.entree.spigradletoio.typst.spigradle. - No more implicit repo/dep: need to declare repository(spigotmc)
- No more @Plugin annotation: the main class will be detected automatically.
- The Gradle version must be 8.x or higher (ex: 8.14.3)
- If you use gradle wrapper, edit the
distributionUrlingradle/wrapper/gradle-wrapper.propertiesex)gradle-8.14.3-all.zip
- If you use gradle wrapper, edit the
- The Gradle JVM version must be 17 or higher.
- The options
main,name,version,descriptionare changed type Property from String- Configuration example:
spigot { description.set("my description") }
- Configuration example:
- The task
spigotPluginYamlrenamed togenerateSpigotDescription - The annotation
@Pluginrepackaged to@io.typst.spigradle.annotations.Plugin.
