v0.9.0 - Rework
Reworked tasks hierarchy
All plugin's tasks reworked to use actual Gradle APIs:
- Task Configuration Avoidance.
Plugin's tasks will be created and configured only when it needed - Up-to-date checks.
Tasks will not re-run if input data not changed - Optimized work in offline mode.
Property syntax to configure meta fields
Use .set instead of =:
bukkit {
meta {
- desctiption = "My plugin's description"
+ description.set("My plugin's description")
}
}Improved Bukkit version management
Field bukkit.version is deprecated now, you should use bukkit.apiVersion instead.
Also, you can specify a version for dev server different from apiVersion:
bukkit {
apiVersion = "1.16.4"
server {
version = "1.15.2" // Want to test plugin on older minecraft version
}
}If bukkit.server.version is not specified, will be used bukkit.apiVersion for server.
Now, BukkitGradle adds api-version field to plugin.yml.
It will be parsed from bukkit.apiVersion but you can override it with bukkit.meta.apiVersion if need:
bukkit {
apiVersion = "1.16.4" // Inferred api-version is 1.16
meta {
apiVersion.set("1.13") // But here you can override it
}
}Smarter plugin.yml generation
BukkitGradle will not "eat" your existing plugin.yml file.
Its content will be used if you've not configured bukkit.meta in BukkitGradle.
If you don't want plugin.yml generation at all, you can disable it:
bukkit {
disableMetaGeneration()
}Re-written in Kotlin
The plugin has been converted to Kotlin to make support easier.
The plugin still can be configured with Groovy DSL but
now it is friendly to Kotlin DSL.
Removed
- Removed task
:rebuildServerCore, use:buildServerCore --rerun-tasksinstead - Removed extension
DependencyHandler.craftbukkit(), useDependencyHandler.spigot()instead - Removed automatic
mavenLocal()apply, you should apply it manually if you need it - Removed repository extension
RepositoryHandler.vault(), useRepositoryHandler.jitpack()instead and read VaultAPI README
Changed
bukkit.runrenamed tobukkit.server. The old name is deprecated- Add
noguiargument by default tobukkitArgs - Type of properties
server.jvmArgsandserver.bukkitArgschanged fromStringtoList<String>.
It makes it easier to add arguments without overriding defaults - Default main class pattern changed from
<groupId>.<lowercased name>.<name>to<groupId>.<name>
Housekeeping
- Default bukkit version now is 1.16.4
- Update Gradle to 6.7.1