Development Setup¶
Prerequisites¶
- JDK 25 (auto-provisioned via the
foojay-resolver-conventionGradle plugin if no local Java 25 installation is found - no manual JDK management needed). The jars it builds are Java 21 bytecode and run on Paper 1.21.7 and newer. - No locally installed Gradle needed, the wrapper (
gradlew/gradlew.bat) is enough.
Building¶
./gradlew build
Compiles, tests, and produces build/libs/universaladmin-core-<version>.jar
- already shaded with sqlite-jdbc, mariadb-java-client, and HikariCP
(relocated under dev.universaladmin.libs.*, see build.gradle.kts).
Compile only, no tests/jar:
./gradlew compileJava
Tests only:
./gradlew test
Testing Locally Against a Paper Server¶
There is currently no automated dev-server setup in this repository. Manually:
./gradlew build- Set up a current Paper server jar (matching the Paper API version
referenced in
build.gradle.kts) in a separate folder. - Copy
build/libs/universaladmin-core-<version>.jartoplugins/. - Start the server, accept
eula.txt, checkconfig.ymlunderplugins/UniversalAdmin/(see docs/user/configuration.md).
A run/ folder for a local test server is anticipated in .gitignore, in
case this gets automated later (e.g. via the
xyz.jpenilla.run-paper Gradle plugin) - not set up yet.
IDE¶
Any IDE with Gradle support (IntelliJ IDEA, VS Code with Java extensions)
works - import settings.gradle.kts/build.gradle.kts, Java toolchain
detection handles the rest.