mirror of
https://github.com/plexusorg/plugin-yml.git
synced 2024-12-22 16:25:06 +00:00
169 lines
4.4 KiB
Markdown
169 lines
4.4 KiB
Markdown
# plugin-yml
|
|
[plugin-yml] is a simple Gradle plugin that generates the `plugin.yml` plugin description file for Bukkit plugins
|
|
or `bungee.yml` for Bungee plugins based on the Gradle project. Various properties are set automatically (e.g. project
|
|
name, version or description) and additional properties can be added using a simple DSL.
|
|
|
|
## Usage
|
|
[plugin-yml] requires at least **Gradle 4.2**. Using the latest version of Gradle is recommended.
|
|
|
|
### Default values
|
|
|
|
| Property | Value |
|
|
| ------------- | ------------- |
|
|
| Plugin name | Project name |
|
|
| Plugin version | Project version |
|
|
| Plugin description | Project description |
|
|
| Plugin URL (Bukkit only) | `url` project property |
|
|
| Plugin author | `author` project property |
|
|
|
|
### Bukkit
|
|
|
|
#### Groovy
|
|
|
|
```groovy
|
|
plugins {
|
|
id 'net.minecrell.plugin-yml.bukkit' version '0.2.0'
|
|
}
|
|
|
|
bukkit {
|
|
// Default values can be overridden if needed
|
|
// name = 'TestPlugin'
|
|
// version = '1.0'
|
|
// description = 'This is a test plugin'
|
|
// website = 'https://example.com'
|
|
// author = 'Notch'
|
|
|
|
// Plugin main class (required)
|
|
main = 'com.example.testplugin.TestPlugin'
|
|
|
|
// Other possible properties from plugin.yml (optional)
|
|
load = 'STARTUP' // or 'POSTWORLD'
|
|
authors = ['Notch', 'Notch2']
|
|
depend = ['WorldEdit']
|
|
softDepend = ['Essentials']
|
|
loadBefore = ['BrokenPlugin']
|
|
prefix = 'TEST'
|
|
defaultPermission = 'OP' // 'TRUE', 'FALSE', 'OP' or 'NOT_OP'
|
|
|
|
commands {
|
|
test {
|
|
description = 'This is a test command!'
|
|
aliases = ['t']
|
|
permission = 'testplugin.test'
|
|
usage = 'Just run the command!'
|
|
// permissionMessage = 'You may not test this command!'
|
|
}
|
|
// ...
|
|
}
|
|
|
|
permissions {
|
|
'testplugin.*' {
|
|
children = ['testplugin.test']
|
|
}
|
|
'testplugin.test' {
|
|
description = 'Allows you to run the test command'
|
|
setDefault('OP') // 'TRUE', 'FALSE', 'OP' or 'NOT_OP'
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
#### kotlin-dsl
|
|
|
|
```kotlin
|
|
plugins {
|
|
id("net.minecrell.plugin-yml.bukkit") version "0.2.0"
|
|
}
|
|
|
|
bukkit {
|
|
// Default values can be overridden if needed
|
|
// name = "TestPlugin"
|
|
// version = "1.0"
|
|
// description = "This is a test plugin"
|
|
// website = "https://example.com"
|
|
// author = "Notch"
|
|
|
|
// Plugin main class (required)
|
|
main = "com.example.testplugin.TestPlugin"
|
|
|
|
// Other possible properties from plugin.yml (optional)
|
|
load = BukkitPluginDescription.PluginLoadOrder.STARTUP // or POSTWORLD
|
|
authors = listOf("Notch", "Notch2")
|
|
depend = listOf("WorldEdit")
|
|
softDepend = listOf("Essentials")
|
|
loadBefore = listOf("BrokenPlugin")
|
|
prefix = "TEST"
|
|
defaultPermission = BukkitPluginDescription.Permission.Default.OP // TRUE, FALSE, OP or NOT_OP
|
|
|
|
commands {
|
|
"test" {
|
|
description = "This is a test command!"
|
|
aliases = listOf("t")
|
|
permission = "testplugin.test"
|
|
usage = "Just run the command!"
|
|
// permissionMessage = "You may not test this command!"
|
|
}
|
|
// ...
|
|
}
|
|
|
|
permissions {
|
|
"testplugin.*" {
|
|
children = listOf("testplugin.test")
|
|
}
|
|
"testplugin.test" {
|
|
description = "Allows you to run the test command"
|
|
default = BukkitPluginDescription.Permission.Default.OP // TRUE, FALSE, OP or NOT_OP
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Bungee
|
|
|
|
#### Groovy
|
|
|
|
```groovy
|
|
plugins {
|
|
id 'net.minecrell.plugin-yml.bungee' version '0.2.0'
|
|
}
|
|
|
|
bungee {
|
|
// Default values can be overridden if needed
|
|
// name = 'TestPlugin'
|
|
// version = '1.0'
|
|
// description = 'This is a test plugin'
|
|
|
|
// Plugin main class (required)
|
|
main = 'com.example.testplugin.TestPlugin'
|
|
|
|
// Other possible properties from bungee.yml
|
|
author = 'Notch'
|
|
depends = ['Yamler']
|
|
softDepends = ['ServerListPlus']
|
|
}
|
|
```
|
|
|
|
#### kotlin-dsl
|
|
|
|
```kotlin
|
|
plugins {
|
|
id("net.minecrell.plugin-yml.bungee") version "0.2.0"
|
|
}
|
|
|
|
bungee {
|
|
// Default values can be overridden if needed
|
|
// name = "TestPlugin"
|
|
// version = "1.0"
|
|
// description = "This is a test plugin"
|
|
|
|
// Plugin main class (required)
|
|
main = "com.example.testplugin.TestPlugin"
|
|
|
|
// Other possible properties from bungee.yml
|
|
author = "Notch"
|
|
depends = setOf("Yamler")
|
|
softDepends = setOf("ServerListPlus")
|
|
}
|
|
```
|
|
|
|
[plugin-yml]: https://github.com/Minecrell/plugin-yml
|