mirror of
https://github.com/trainerlord/WorldSystem.git
synced 2024-12-02 13:23:21 +01:00
260 lines
7.0 KiB
Groovy
260 lines
7.0 KiB
Groovy
buildscript {
|
||
repositories {
|
||
jcenter() {
|
||
allowInsecureProtocol = true
|
||
}
|
||
mavenCentral()
|
||
}
|
||
}
|
||
|
||
plugins {
|
||
id 'com.github.johnrengelman.shadow' version '7.1.2'
|
||
id 'kr.entree.spigradle' version '2.4.2'
|
||
id 'io.freefair.lombok' version '6.5.0.3'
|
||
id 'java'
|
||
id 'jacoco'
|
||
}
|
||
|
||
apply from: "$rootDir/gradle/jacoco.gradle"
|
||
//apply from: "$rootDir/gradle/publish.gradle"
|
||
|
||
sourceCompatibility = 17
|
||
targetCompatibility = 17
|
||
|
||
ext {
|
||
mcVersion = project.property("mcVersion")
|
||
}
|
||
|
||
group project.property("group")
|
||
|
||
spigot {
|
||
name = project.property("pluginName")
|
||
authors = [project.property("author")]
|
||
apiVersion = project.property("apiVersion")
|
||
depends = [project.property("Vault")]
|
||
|
||
//Comands
|
||
|
||
commands {
|
||
"ws" {
|
||
description = 'All WorldSystem Commands'
|
||
permissionMessage = 'You do not have permission!'
|
||
}
|
||
}
|
||
permissions {
|
||
'ws.*' {
|
||
description = 'gives all Perms'
|
||
defaults = 'op'
|
||
children = [
|
||
'ws.tp.*':true,
|
||
'ws.get':true,
|
||
'ws.sethome':true,
|
||
'ws.tp.world':true,
|
||
'ws.tp.toother':true,
|
||
'ws.tp.other':true,
|
||
'ws.build':true,
|
||
'ws.gamemode':true,
|
||
'ws.delete':true,
|
||
'ws.lag':true,
|
||
'ws.big':true,
|
||
'ws.large':true,
|
||
'ws.confirm':true
|
||
]
|
||
}
|
||
'ws.sethome' {
|
||
description = 'You can set a different worldspawn'
|
||
defaults = true
|
||
}
|
||
'ws.tp' {
|
||
description = 'You can teleport everything'
|
||
defaults = 'op'
|
||
children = ['ws.tp.toother':true,'ws.tp.other':true,'ws.tp.world':true]
|
||
}
|
||
'ws.build' {
|
||
description = 'You can build on other Worlds without WorldPermissions'
|
||
defaults = 'op'
|
||
}
|
||
'ws.get' {
|
||
description = 'You can create a world via /ws get'
|
||
defaults = true
|
||
}
|
||
'ws.delete' {
|
||
description = 'You can delete a world'
|
||
defaults = 'op'
|
||
}
|
||
'ws.gamemode' {
|
||
description = 'You can change GameMode on other worlds'
|
||
defaults = 'op'
|
||
}
|
||
'ws.tp.other' {
|
||
description = 'You can teleport other persons'
|
||
defaults = 'op'
|
||
}
|
||
'ws.tp.toother' {
|
||
description = 'You can teleport across worlds'
|
||
defaults = 'op'
|
||
}
|
||
'ws.tp.world' {
|
||
description = 'You can teleport to without rights World'
|
||
defaults = 'op'
|
||
}
|
||
'ws.lag' {
|
||
description = 'You can see lag messages'
|
||
defaults = 'op'
|
||
}
|
||
'ws.big' {
|
||
description = 'Gives you a bigger world (if set)'
|
||
defaults = 'op'
|
||
}
|
||
'ws.large' {
|
||
defaults = 'op'
|
||
children = ['ws.big':true]
|
||
}
|
||
'ws.confirm' {
|
||
description = 'You can confirm (if needed) an auto-update'
|
||
defaults = 'op'
|
||
}
|
||
}
|
||
load = STARTUP
|
||
// depends = ['']
|
||
}
|
||
|
||
compileJava {
|
||
options.encoding = 'UTF-8'
|
||
options.compilerArgs += ["-parameters"]
|
||
options.fork = true
|
||
options.forkOptions.executable = 'javac'
|
||
}
|
||
|
||
archivesBaseName = project.property("pluginName")
|
||
|
||
repositories {
|
||
|
||
jcenter() {
|
||
allowInsecureProtocol = true
|
||
}
|
||
maven {
|
||
url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/'
|
||
|
||
content {
|
||
includeGroup 'org.bukkit'
|
||
includeGroup 'org.spigotmc'
|
||
}
|
||
spigot()
|
||
// bungeecord()
|
||
// paper()
|
||
// protocolLib()
|
||
// enginehub()
|
||
maven {
|
||
url = 'https://oss.sonatype.org/content/repositories/snapshots'
|
||
}
|
||
maven {
|
||
url = 'https://oss.sonatype.org/content/repositories/central'
|
||
}
|
||
maven {
|
||
url 'https://hub.spigotmc.org/nexus/content/repositories/public/'
|
||
}
|
||
maven {
|
||
url = 'https://repo.extendedclip.com/content/repositories/placeholderapi/'
|
||
}
|
||
maven {
|
||
url 'https://repo.papermc.io/repository/maven-public/'
|
||
}
|
||
maven {
|
||
url = 'https://ci.athion.net/job/FastAsyncWorldEdit/'
|
||
}
|
||
maven {
|
||
url = 'https://jitpack.io'
|
||
}
|
||
maven {
|
||
url = 'https://libraries.minecraft.net'
|
||
}
|
||
maven {
|
||
url = 'https://repo.onarandombox.com/content/groups/public/'
|
||
}
|
||
maven {
|
||
url = 'https://maven.enginehub.org/repo/'
|
||
}
|
||
maven { url = "https://ci.athion.net/job/FastAsyncWorldEdit/changes" }
|
||
|
||
// Commons - IO
|
||
maven { url = "https://mvnrepository.com/artifact/commons-io/commons-io/2.11.0" }
|
||
|
||
// WorldEdit
|
||
maven { url = "https://maven.enginehub.org/repo/" }
|
||
maven {
|
||
name = "IntellectualSites Releases"
|
||
url = uri("https://ci.athion.net/job/FastAsyncWorldEdit/changes")
|
||
}
|
||
mavenCentral()
|
||
mavenLocal()
|
||
}
|
||
|
||
dependencies {
|
||
constraints {
|
||
implementation("org.yaml:snakeyaml") {
|
||
version { strictly("1.30") }
|
||
because("Bukkit provides SnakeYaml")
|
||
implementation("net.kyori:adventure-text-minimessage:4.11.0")
|
||
}
|
||
|
||
}
|
||
compileOnly lombok()
|
||
annotationProcessor lombok()
|
||
|
||
implementation spigot('1.19')
|
||
|
||
//Add dependencies here
|
||
//Test dependencies
|
||
testImplementation 'org.junit.jupiter:junit-jupiter:5.+'
|
||
testImplementation "org.mockito:mockito-core:4.+"
|
||
// testImplementation 'com.github.seeseemelk:MockBukkit-v1.19:2.+'
|
||
// testImplementation mockBukkit()
|
||
testImplementation 'org.assertj:assertj-core:3.+'
|
||
testImplementation lombok()
|
||
testAnnotationProcessor lombok()
|
||
implementation group: 'commons-io', name: 'commons-io', version: '2.11.0'
|
||
|
||
|
||
compileOnly 'me.clip:placeholderapi:2.11.2'
|
||
compileOnly 'org.spigotmc:spigot-api:1.19-R0.1-SNAPSHOT'
|
||
compileOnly 'com.github.MilkBowl:VaultAPI:1.7.1'
|
||
compileOnly 'com.mojang:authlib:1.5.25'
|
||
compileOnly 'org.projectlombok:lombok:1.18.24'
|
||
compileOnly 'com.sk89q.worldedit:worldedit-bukkit:7.2.11-SNAPSHOT'
|
||
compileOnly 'com.sk89q.worldedit:worldedit-core:7.2.11-SNAPSHOT'
|
||
// compileOnlyApi 'net.kyori:adventure-text-minimessage'
|
||
// compileOnly("net.kyori:adventure-api")
|
||
// compileOnlyApi("net.kyori:adventure-text-minimessage")
|
||
compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.4.1")
|
||
compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.4.1")
|
||
compileOnly files('lib/FastAsyncWorldEdit.jar')
|
||
}
|
||
|
||
shadowJar {
|
||
classifier = ''
|
||
// dependencies {
|
||
// include(dependency('co.aikar:acf-paper:0.5.1-SNAPSHOT'))
|
||
// }
|
||
// relocate 'co.aikar.commands', "${packageName}.acf"
|
||
// relocate 'co.aikar.locales', "${packageName}.locales"
|
||
}
|
||
|
||
tasks.build.dependsOn(shadowJar)
|
||
|
||
test {
|
||
useJUnitPlatform()
|
||
testLogging {
|
||
events "passed", "skipped", "failed"
|
||
}
|
||
ignoreFailures = false
|
||
}
|
||
|
||
processResources {
|
||
project.properties.put("version", this.version)
|
||
expand project.properties
|
||
}
|
||
|
||
defaultTasks 'build'
|
||
|