Gradle utilities for easier writing Bukkit plugins
libraries
.Full Changelog: https://github.com/EndlessCodeGroup/BukkitGradle/compare/0.10.0...0.10.1
All plugin's tasks reworked to use actual Gradle APIs:
Use .set
instead of =
:
bukkit {
meta {
- desctiption = "My plugin's description"
+ description.set("My plugin's description")
}
}
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
}
}
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()
}
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.
:rebuildServerCore
, use :buildServerCore --rerun-tasks
insteadDependencyHandler.craftbukkit()
, use DependencyHandler.spigot()
insteadmavenLocal()
apply, you should apply it manually if you need itRepositoryHandler.vault()
, use RepositoryHandler.jitpack()
instead and read VaultAPI README
bukkit.run
renamed to bukkit.server
. The old name is deprecatednogui
argument by default to bukkitArgs
server.jvmArgs
and server.bukkitArgs
changed from String
to List<String>
.
It makes it easier to add arguments without overriding defaults<groupId>.<lowercased name>.<name>
to <groupId>.<name>
Now you can choose bukkit.run.core
. It can be spigot
or paper
.
Also added task :downloadPaperclip
to download paperclip (wow! unexpected).
To host paper versions build was created this gist.
Added function paperApi()
to include Paper as dependency.
Read updated README for more information.
BREAKING CHANGES: Properties bukkit.buildtools
and bukkit.run.dir
was removed.
Now you can define it in local.properties
file (that was automatically created in project root on refresh):
# Absolute path to directory that contains BuildTools.jar
buildtools.dir=/path/to/buildtools/
# Absolute path to dev server
server.dir=/path/to/buildtools/
Or you can define it globally (for all projects that uses BukkitGradle) with environment variables
BUKKIT_DEV_SERVER_HOME
and BUILDTOOLS_HOME
.
q
and qq
functionsThese functions was added after this issue: #13 Usage:
meta {
name = qq "double quoted value" // Will be - name: "double quoted value"
description = q "single quoted value" // Will be - description: `single quoted value`
}
Note: In Groovy you can use functions with two ways: normal - q("value")
and without braces - q "value"
NPE on PrepareServer
Using build tools instead of dowloading core from Yive's mirror. Now you should specify path to BuildTools in build script:
bukkit {
buildtools = '/path/to/BuildTools.jar'
}
Also added tasks:
:buildServerCore
- Build server core only if it not contains in local maven repo
:rebuildServerCore
- Force rebuild server core
Now you should manually add api dependencies. Possible APIs:
dependencies {
compileOnly spigot()
compileOnly spigotApi()
compileOnly bukkit()
compileOnly craftbukkit()
}