ad astra per aspera
Plugins permanently forked from third parties that are maintained exclusively by TrueOG Network.
See each individual submodule for relevant licenses. Nothing is more restrictive than GPLv3.
Gradle 8.14.3:
./gradlew wrapper --gradle-version=8.14.3
Kotlin Gradle files:
build.gradle.kts, settings.gradle.kts
Shadow 8.3.9 from gradleup:
plugins { id("com.gradleup.shadow") version "8.3.9" }
Paperweight API 2.0.0-beta.17:
plugins { id("io.papermc.paperweight.userdev") version "2.0.0-beta.17" }
Purpur API 1.19.4:
dependencies { compileOnly("org.purpurmc.purpur:purpur-api:1.19.4-R0.1-SNAPSHOT") }
LuckPerms API 5.5:
dependencies { compileOnly("net.luckperms:api:5.5") }
Shadow license into jars at the end of tasks.processResources:
from("LICENSE") {
into("/")
}
}
Reproducible builds:
tasks.withType<AbstractArchiveTask>().configureEach {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}
Import TrueOG Network internal dependencies from source via bootstrap.sh.
Use TrueOG's custom eclipse auto-formatting and checkstyle profile for java.
Examples in:
Template-OG (Java)
KotlinTemplate-OG (Kotlin)
Jasync Postgres API 2.2.4 for object storage > 1GB:
dependencies { implementation("com.github.jasync-sql:jasync-postgresql:2.2.4") }
Lettuce KeyDB-compatible API 6.7.1 for object storage < 1GB:
dependencies { implementation("io.lettuce:lettuce-core:6.7.1.RELEASE") }
configurations.all {
exclude(group = "io.projectreactor")
}
Use the TrueOG prefix pattern (only &2 is mutable):
String prefix = "&7[&2MyPlugin&f-&4OG&7] "
Use postgres or redis to get offline players from a cache, NOT bukkit's slow API:
getOfflinePlayer(String)
