Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spigradle/spigradle
Intelligent Gradle plugin for Bukkit, Bungeecord and NukkitX.
https://github.com/spigradle/spigradle
bukkit bungeecord gradle gradle-plugin kotlin minecraft nukkit nukkitx paper spigot spigot-gradle
Last synced: 29 minutes ago
JSON representation
Intelligent Gradle plugin for Bukkit, Bungeecord and NukkitX.
- Host: GitHub
- URL: https://github.com/spigradle/spigradle
- Owner: spigradle
- License: apache-2.0
- Created: 2019-12-13T16:13:29.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-11T19:44:31.000Z (6 months ago)
- Last Synced: 2024-08-01T21:48:52.167Z (3 months ago)
- Topics: bukkit, bungeecord, gradle, gradle-plugin, kotlin, minecraft, nukkit, nukkitx, paper, spigot, spigot-gradle
- Language: Kotlin
- Homepage:
- Size: 1.3 MB
- Stars: 117
- Watchers: 3
- Forks: 5
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Spigradle
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
[![License](https://img.shields.io/github/license/EntryPointKR/Spigradle.svg)](https://github.com/EntryPointKR/Spigradle/blob/master/LICENSE)
[![Gradle Plugin Portal](https://img.shields.io/gradle-plugin-portal/v/kr.entree.spigradle)](https://plugins.gradle.org/plugin/kr.entree.spigradle)
[![TeamCity CI](https://ci.entree.dev/app/rest/builds/buildType(id:Spigradle_Build)/statusIcon)](https://ci.entree.dev/buildConfiguration/Spigradle_Build?branch=%3Cdefault%3E&buildTypeTab=overview&mode=builds&guest=1)An intelligent Gradle plugin used to develop plugins for Spigot, Bungeecord and NukkitX.
# Benefits
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
- [Description file](https://entree.dev/spigradle/docs/spigradle/kr.entree.spigradle.module.spigot/-spigot-extension/index.html) generation: `plugin.yml` and/or `bungee.yml`
- Main class detection
- Debug tasks
- Shortcuts for [repository](#repositories) and [dependency](#dependencies)
```groovy
plugins {
id 'java'
id 'kr.entree.spigradle' version '2.4.3'
}group 'org.sample'
version '1.0-SNAPSHOT'dependencies {
compileOnly spigot('1.16.5')
}spigot {
depends 'ProtocolLib'
softDepends 'SomeLibrary'
commands {
create('mycmd') {
aliases 'cmd'
}
}
}
```# Table of contents
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
- [Plugins](#plugins)
- [Spigot](#spigot)
- [Bungeecord](#bungeecord)
- [NukkitX](#nukkitx)
- [Requirements](#requirements)
- [Repositories](#repositories)
- [Dependencies](#dependencies)
- [See also](#see-also)
- [Supporters](#supporters)
- [The Spigot plugin](docs/spigot_plugin.md)
- [The Bungeecord plugin](docs/bungeecord_plugin.md)
- [The Nukkit plugin](docs/nukkit_plugin.md)
- [Sample](https://github.com/spigradle/spigradle-sample)# Plugins
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
## Spigot
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
[Documentation](docs/spigot_plugin.md)
### Demo
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
- [Groovy - build.gradle](https://github.com/spigradle/spigradle-sample/tree/master/spigot/spigot.gradle)
- [Kotlin - build.gradle.kts](https://github.com/spigradle/spigradle-sample/tree/master/spigot-kotlin/spigot-kotlin.gradle.kts)Groovy DSL
```groovy
plugins {
id 'java'
id 'kr.entree.spigradle' version '2.4.3'
}dependencies {
compileOnly spigot('1.16.5')
}spigot {
depends 'ProtocolLib'
softDepends 'SomeLibrary'
commands {
create('mycmd') {
aliases 'cmd'
}
}
// if you want to exclude all [spigot.libraries]:
// `excludeLibraries = ['*']`
}
```Kotlin DSL
```kotlin
import kr.entree.spigradle.kotlin.*plugins {
kotlin("jvm") version "1.3.72"
id("kr.entree.spigradle") version "2.4.3"
}dependencies {
implementation(kotlin("stdlib-jdk8"))
compileOnly(spigot("1.16.5"))
}spigot {
depends = listOf("ProtocolLib")
softDepends = listOf("SomeLibrary")
commands {
create("mycmd") {
aliases = listOf("cmd")
}
}
// if you want to exclude all [spigot.libraries]:
// `excludeLibraries = listOf("*")`
}
```Groovy Legacy
```groovy
buildscript {
repositories {
gradlePluginPortal()
}
dependencies {
classpath 'kr.entree:spigradle:2.4.3'
}
}apply plugin: 'kr.entree.spigradle'
```Kotlin Legacy
```groovy
buildscript {
repositories {
gradlePluginPortal()
}
dependencies {
classpath("kr.entree:spigradle:2.4.3")
}
}apply(plugin = "kr.entree.spigradle")
```## Bungeecord
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
[Documentation](docs/bungeecord_plugin.md)
### Demo
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
- [Groovy - build.gradle](https://github.com/spigradle/spigradle-sample/tree/master/bungeecord/bungeecord.gradle)
- [Kotlin - build.gradle.kts](https://github.com/spigradle/spigradle-sample/tree/master/bungeecord-kotlin/bungeecord-kotlin.gradle.kts)Groovy DSL
```groovy
plugins {
id 'java'
id 'kr.entree.spigradle.bungee' version '2.4.3'
}dependencies {
compileOnly bungeecord('1.15')
}
```Kotlin DSL
```kotlin
plugins {
kotlin("jvm") version "1.3.72"
id("kr.entree.spigradle.bungee") version "2.4.3"
}dependencies {
implementation(kotlin("stdlib-jdk8"))
compileOnly(bungeecord("1.15"))
}
```Groovy Legacy
```groovy
buildscript {
repositories {
gradlePluginPortal()
}
dependencies {
classpath 'kr.entree:spigradle:2.4.3'
}
}apply plugin: 'kr.entree.spigradle.bungee'
```Kotlin Legacy
```groovy
buildscript {
repositories {
gradlePluginPortal()
}
dependencies {
classpath("kr.entree:spigradle:2.4.3")
}
}apply(plugin = "kr.entree.spigradle.bungee")
```## NukkitX
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
[Documentation](docs/nukkit_plugin.md)
### Demo
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
- [Groovy - build.gradle](https://github.com/spigradle/spigradle-sample/tree/master/nukkit/nukkit.gradle)
- [Kotlin - build.gradle.kts](https://github.com/spigradle/spigradle-sample/tree/master/nukkit-kotlin/nukkit-kotlin.gradle.kts)Groovy DSL
```groovy
plugins {
id 'java'
id 'kr.entree.spigradle.nukkit' version '2.4.3'
}dependencies {
compileOnly nukkit('1.0')
}
```Kotlin DSL
```kotlin
plugins {
kotlin("jvm") version "1.3.72"
id("kr.entree.spigradle.nukkit") version "2.4.3"
}dependencies {
implementation(kotlin("stdlib-jdk8"))
compileOnly(bungeecord("1.15"))
}
```Groovy Legacy
```groovy
buildscript {
repositories {
gradlePluginPortal()
}
dependencies {
classpath 'kr.entree:spigradle:2.4.3'
}
}apply plugin: 'kr.entree.spigradle.nukkit'
```Kotlin Legacy
```groovy
buildscript {
repositories {
gradlePluginPortal()
}
dependencies {
classpath("kr.entree:spigradle:2.4.3")
}
}apply(plugin = "kr.entree.spigradle.nukkit")
```# Requirements
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
All the plugins requires Gradle 5.4.2+, recommends the latest.
To update your gradle wrapper:
```
gradlew wrapper --gradle-version 6.9.1 --distribution-type all
```# Repositories
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
| Name | URL | Relations | Aliases |
|---------------|----------------------------------------------------------------|-----------------------------------------|---------------|
| spigotmc() | https://hub.spigotmc.org/nexus/content/repositories/snapshots/ | | spigot() |
| sonaytype() | https://oss.sonatype.org/content/repositories/snapshots/ | | bungeecord() |
| papermc() | https://papermc.io/repo/repository/maven-public/ | | paper() |
| jitpack() | https://jitpack.io | Vault | vault() |
| protocolLib() | https://repo.dmulloy2.net/nexus/repository/public/ | | |
| enginehub() | https://maven.enginehub.org/repo/ | worldguard, worldedit, commandhelper... | |
| codemc() | https://repo.codemc.org/repository/maven-public/ | BStats | bStats() |
| enderZone() | https://ci.ender.zone/plugin/repository/everything/ | EssentialsX | essentialsX() |
| frostcast() | https://ci.frostcast.net/plugin/repository/everything | BanManager | banManager() |
| nukkitX() | https://repo.nukkitx.com/maven-snapshots | NukkitX | |### Groovy usage
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
```groovy
repositories {
engienhub()
}
```### Kotiln usage
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
```kotlin
import kr.entree.spigradle.kotlin.*repositories {
enginehub()
}
```# Dependencies
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
| Name | Signature | Default version | Official repository |
|-------------------|--------------------------------------------------|--------------------------|--------------------------|
| spigot(version) | org.spigotmc:spigot-api:$version | 1.16.1-R0.1-SNAPSHOT | spigotmc() |
| spigotAll() | org.spigotmc:spigot:$version | 1.16.1-R0.1-SNAPSHOT | spigotmc() |
| bungeecord() | net.md-5:bungeecord-api:$version | 1.16-R0.4-SNAPSHOT | spigotmc() |
| minecraftServer() | org.spigotmc:minecraft-server:$version | 1.16.1-SNAPSHOT | mavenLocal(), BuildTools |
| paper() | com.destroystokyo.paper:paper-api:$version | 1.16.1-R0.1-SNAPSHOT | papermc() |
| bukkit() | org.bukkit:bukkit:$version | 1.16.1-R0.1-SNAPSHOT | mavenLocal(), BuildTools |
| craftbukkit() | org.bukkit:craftbukkit:$version | 1.16.1-R0.1-SNAPSHOT | mavenLocal(), BuildTools |
| lombok() | org.projectlombok:lombok:$version | 1.18.12 | mavenCentral() |
| spigradle() | kr.entree:spigradle:$version | 2.4.3 | mavenCentral() |
| protocolLib() | com.comphenix.protocol:ProtocolLib:$version | 4.5.1 | protocolLib() |
| vault() | com.github.MilkBowl:VaultAPI:$version | 1.7 | jitpack() |
| vaultAll() | com.github.MilkBowl:Vault:$version | 1.7.3 | jitpack() |
| luckPerms() | me.lucko.luckperms:luckperms-api:$version | 5.1 | mavenCentral() |
| worldedit() | com.sk89q.worldedit:worldedit-bukkit:$version | 7.1.0 | enginehub() |
| worldguard() | com.sk89q.worldguard:worldguard-bukkit:$version | 7.0.3 | enginehub() |
| essentialsX() | net.ess3:EssentialsX:$version | 2.17.2 | enderZone() |
| banManager() | me.confuser.banmanager:BanManagerBukkit:$version | 7.3.0-SNAPSHOT | frostcast() |
| commandhelper() | com.sk89q:commandhelper:$version | 3.3.4-SNAPSHOT | enginehub() |
| bStats() | org.bstats:bstats-bukkit:$version | 1.7 | codemc() |
| bStatsLite() | org.bstats:bstats-bukkit-lite:$version | 1.7 | codemc() |
| nukkit | cn.nukkit:nukkit:$version | 2.0.0-SNAPSHOT | nukkitX() |### Groovy usage
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
```groovy
dependencies {
compileOnly spigot("1.16.5") // or just spigot()
}
```### Kotlin usage
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
```kotlin
import kr.entree.spigradle.kotlin.*dependencies {
compileOnly(spigot("1.16.5")) // or just spigot()
}
```# See also
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)
- [The Spigot plugin](docs/spigot_plugin.md)
- [The Bungeecord plugin](docs/bungeecord_plugin.md)
- [The Nukkit plugin](docs/nukkit_plugin.md)
- [Gradle Kotlin DSL Primer](https://docs.gradle.org/current/userguide/kotlin_dsl.html)# Supporters
[comment]: <> (!! Do not edit this file but 'docs/templates' or 'docs/root-templates', See [CONTRIBUTING.md] !!)