mirror of
https://github.com/plexusorg/Plex.git
synced 2024-11-20 10:15:02 +00:00
8344e3596e
add isCancelled checks for MobListener Modify the plugin's YAML file to load before essentials Modify the world command to support the TFM Extras module Add more checks in WorldListener to prevent spawning entities and interacting with anything except openable things (doors, trapdoors, gates)
150 lines
4.7 KiB
Groovy
150 lines
4.7 KiB
Groovy
plugins {
|
|
id "net.minecrell.plugin-yml.paper" version "0.6.0"
|
|
}
|
|
|
|
dependencies {
|
|
library "org.projectlombok:lombok:1.18.28"
|
|
annotationProcessor "org.projectlombok:lombok:1.18.28"
|
|
library "org.json:json:20230618"
|
|
library "commons-io:commons-io:2.13.0"
|
|
library "dev.morphia.morphia:morphia-core:2.3.5"
|
|
library "redis.clients:jedis:5.0.0-beta2"
|
|
library "org.mariadb.jdbc:mariadb-java-client:3.1.4"
|
|
library "com.zaxxer:HikariCP:5.0.1"
|
|
library "org.apache.maven.resolver:maven-resolver-transport-http:1.9.13"
|
|
compileOnly "dev.folia:folia-api:1.20.1-R0.1-SNAPSHOT"
|
|
compileOnly("com.github.MilkBowl:VaultAPI:1.7.1") {
|
|
exclude group: "org.bukkit", module: "bukkit"
|
|
}
|
|
implementation "org.bstats:bstats-base:3.0.2"
|
|
implementation "org.bstats:bstats-bukkit:3.0.2"
|
|
}
|
|
|
|
group = rootProject.group
|
|
version = rootProject.version
|
|
description = "Plex-Server"
|
|
|
|
shadowJar {
|
|
archiveBaseName.set("Plex")
|
|
archiveClassifier.set("")
|
|
relocate "org.bstats", "dev.plex"
|
|
}
|
|
|
|
paper {
|
|
name = "Plex"
|
|
version = project.version
|
|
description = "Plex provides a new experience for freedom servers."
|
|
main = "dev.plex.Plex"
|
|
loader = "dev.plex.PlexLibraryManager"
|
|
website = "https://plex.us.org"
|
|
authors = ["Telesphoreo", "taahanis", "supernt"]
|
|
apiVersion = "1.19"
|
|
foliaSupported = true
|
|
generateLibrariesJson = true
|
|
// Load BukkitTelnet and LibsDisguises before Plex so the modules register properly
|
|
serverDependencies {
|
|
'BukkitTelnet' {
|
|
required = false
|
|
load = 'BEFORE'
|
|
}
|
|
'LibsDisguises' {
|
|
required = false
|
|
load = 'BEFORE'
|
|
}
|
|
'Vault' {
|
|
required = false
|
|
load = 'BEFORE'
|
|
}
|
|
'Essentials' {
|
|
required = false
|
|
load = 'BEFORE'
|
|
}
|
|
}
|
|
}
|
|
|
|
String getGitHash() {
|
|
def stdout = new ByteArrayOutputStream()
|
|
try {
|
|
exec {
|
|
commandLine "git", "rev-parse", "--short", "HEAD"
|
|
standardOutput = stdout
|
|
ignoreExitValue = true
|
|
}
|
|
} catch (GradleException e) {
|
|
logger.error("Couldn't determine Git head because Git is not installed. " + e.getMessage())
|
|
}
|
|
return stdout.size() > 0 ? stdout.toString().trim() : "unknown"
|
|
}
|
|
|
|
String getBuildNumber() {
|
|
def stdout = new ByteArrayOutputStream()
|
|
try {
|
|
exec {
|
|
commandLine "git", "rev-list", "HEAD", "--count"
|
|
standardOutput = stdout
|
|
ignoreExitValue = true
|
|
}
|
|
} catch (GradleException e) {
|
|
logger.error("Couldn't determine build number because Git is not installed. " + e.getMessage())
|
|
}
|
|
return stdout.size() ? stdout.toString().trim() + " (local)" : "unknown"
|
|
}
|
|
|
|
static def getDate() {
|
|
return new Date().format("MM/dd/yyyy '<light_purple>at<gold>' hh:mm:ss a z")
|
|
}
|
|
|
|
task buildProperties {
|
|
ant.propertyfile(file: "$project.projectDir/src/main/resources/build.properties") {
|
|
entry(key: "buildAuthor", default: System.getenv("JENKINS_URL") != null ? "jenkins" : "unknown")
|
|
entry(key: "buildNumber", value: System.getenv("JENKINS_URL") != null ? System.getenv("BUILD_NUMBER") + " (Jenkins)" : getBuildNumber())
|
|
entry(key: "buildDate", value: getDate())
|
|
entry(key: "buildHead", value: getGitHash())
|
|
}
|
|
}
|
|
|
|
tasks {
|
|
build {
|
|
dependsOn(shadowJar)
|
|
finalizedBy(buildProperties)
|
|
}
|
|
|
|
jar {
|
|
enabled = false
|
|
}
|
|
|
|
shadowJar {
|
|
finalizedBy(rootProject.tasks.copyJars)
|
|
}
|
|
|
|
javadoc {
|
|
options.memberLevel = JavadocMemberLevel.PRIVATE
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
maven(MavenPublication) {
|
|
pom.withXml {
|
|
def dependenciesNode = asNode().appendNode("dependencies")
|
|
configurations.getByName("library").getAllDependencies().each { dependency ->
|
|
dependenciesNode.appendNode("dependency").with {
|
|
it.appendNode("groupId", dependency.group)
|
|
it.appendNode("artifactId", dependency.name)
|
|
it.appendNode("version", dependency.version)
|
|
it.appendNode("scope", "provided")
|
|
}
|
|
}
|
|
configurations.getByName("implementation").getAllDependencies().each { dependency ->
|
|
dependenciesNode.appendNode("dependency").with {
|
|
it.appendNode("groupId", dependency.group)
|
|
it.appendNode("artifactId", dependency.name)
|
|
it.appendNode("version", dependency.version)
|
|
it.appendNode("scope", "runtime")
|
|
}
|
|
}
|
|
}
|
|
artifacts = [shadowJar]
|
|
}
|
|
}
|
|
} |