Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eth-p/gradle-bukkit
A simple and easy-to-configure Gradle plugin for building Bukkit plugins.
https://github.com/eth-p/gradle-bukkit
bukkit gradle gradle-plugin minecraft papermc plugin spigot spigotmc
Last synced: about 2 months ago
JSON representation
A simple and easy-to-configure Gradle plugin for building Bukkit plugins.
- Host: GitHub
- URL: https://github.com/eth-p/gradle-bukkit
- Owner: eth-p
- License: mit
- Created: 2019-12-22T01:20:21.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-09-30T13:58:49.000Z (over 4 years ago)
- Last Synced: 2024-10-28T20:35:04.395Z (3 months ago)
- Topics: bukkit, gradle, gradle-plugin, minecraft, papermc, plugin, spigot, spigotmc
- Language: Java
- Homepage:
- Size: 264 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Gradle for Bukkit
A small, no-frills Gradle plugin that helps simplify Bukkit plugin development.*Gradle version required:* `5.3`
*Gradle version tested:* `6.6.1`## Features
- Generate the plugin manifest using a `build.gradle` DSL.
- Easily include common API dependencies (and their repositories).## Example
For a working "hello world" plugin that uses Gradle for Bukkit, check out [https://github.com/eth-p/bukkit-example](https://github.com/eth-p/bukkit-example).If you would prefer to start from scratch however, the following build.gradle file will get you started:
```groovy
plugins {
id 'java'
id 'dev.ethp.bukkit' version '0.2.2'
}dependencies {
bukkitApi() // or spigotApi()
vaultApi()
}version = '1.0'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'bukkit {
name 'my-plugin'
main 'com.example.BukkitPlugin'description 'A simple plugin.'
author 'John'
author 'Sally'api {
version '1.15'
}command 'ping', {
permission 'my-plugin.ping'
description 'Replies with "Pong!"'
usage 'Usage: /ping'
}
permission 'my-plugin.ping', {
description 'Gives access to /ping'
}
dependency 'Vault', OPTIONAL
dependency 'WorldEdit', REQUIRED
}
```## Dependency Functions
Gradle for Bukkit is capable of automatically resolving common plugin APIs.
All you need to do is call the function inside the `build.gradle` dependency block.### APIs
The following APIs are supported:|API|Function|
|:--|:--|
|[Bukkit](./doc/dependency/bukkit-api.md#bukkit-api)\*|`bukkitApi()`|
|[Spigot](./doc/dependency/bukkit-api.md#spigot-api)\*|`spigotApi()`|
|[Paper](./doc/dependency/bukkit-api.md#paper-api)\*|`paperApi()`|
|[Vault](./doc/dependency/vault.md)|`vaultApi()`|
|[PlaceholderAPI](./doc/dependency/placeholderapi.md)|`placeholderApi()`|\* The API version used is determined by the API version specified in the `api` DSL block.
### Libraries
|Library|Function|
|:--|:--|
|[BKCommonLib](./doc/dependency/bkcommonlib.md)|`libBkCommon()`|
|[ACF](./doc/dependency/acf.md)|`libACF()`|
|[GuiFramework](./doc/dependency/rose-gui.md)|`roseGui()`|
|[RoseGarden](./doc/dependency/rose-garden.md)|`roseGarden()`|## Documentation
**DSL:**
Documentation of Gradle for Bukkit DSL.
Examples use the Groovy DSL, but the Kotlin DSL should also work.- [Bukkit DSL](./doc/dsl/bukkit.md)
- [Bukkit API DSL](./doc/dsl/bukkit-api.md)
- [Bukkit Logger DSL](./doc/dsl/bukkit-logger.md)
- [Command DSL](./doc/dsl/command.md)
- [Dependency DSL](./doc/dsl/dependency.md)
- [Dependency Function DSL](./doc/dsl/dependency-function.md)
- [Permission DSL](./doc/dsl/permission.md)**Resources:**
Other documentation that might be useful.- [Shadow Transformer](./doc/shadow.md)
## Alternatives
Is there something that you need which Gradle for Bukkit isn't able to provide?
Try one of these alternatives!- [BukkitGradle](https://github.com/EndlessCodeGroup/BukkitGradle)