RPKit is a suite of plugins for Minecraft roleplay servers. It includes standard libraries, which allow easy interfacing with a specific subset of functionality, and reference implementations of these.
This repository is Dans-Plugins' fork of RP-Kit/RPKit.
- Website (upstream project)
- Wiki (upstream project)
- Discord (upstream project)
- Upstream repository
For general questions about RPKit, the upstream project's Discord server is the place to ask.
For a bug or feature request in this fork, please open a GitHub issue. Issues concerning upstream RPKit itself belong on the upstream tracker.
RPKit is not a single plugin. Each module is built and installed as its own JAR, and modules come in two kinds:
rpk-<area>-lib-bukkit— the API for an area of functionality.rpk-<area>-bukkit— the reference implementation of that API.
Every module declares the modules it needs under depend: in its own plugin.yml. For example, bukkit/rpk-players-bukkit/src/main/resources/plugin.yml depends on rpk-core-bukkit and rpk-player-lib-bukkit. rpk-core-bukkit is required by everything.
- Obtain the module JARs, either by building them from source (see Compiling the Project) or by downloading them from the upstream releases page. Each module is a separate download; if you are not sure which ones you need, take all of them.
- Place the JAR files in the
pluginsdirectory of your server. - Start your server. Each plugin creates its own data folder named after itself — for example
plugins/rpk-players-bukkit/— and writes its default configuration there. Modules that use a database also write adatabase.ymlinto that folder, defaulting to SQLite with a database file of its own named after the module (rpk-players-bukkitusesjdbc:sqlite:rpkit_players.db,rpk-chat-bukkitusesjdbc:sqlite:rpkit_chat.db, and so on);MYSQLis the other supported dialect. - Edit the generated
config.ymlanddatabase.ymlfiles to taste. - Restart your server.
JDK 17 is required. The build pins Gradle 7.6, Kotlin 1.7.22 and jvmTarget = "17"; JDK 21 fails with Unsupported class file major version 65, and JDK 11 fails to resolve the build's plugins. Continuous integration builds this project on Temurin 17.
To compile the project, run the following command in the root directory of the project.
Windows:
.\gradlew.bat clean buildLinux:
./gradlew clean buildThis compiles all 71 modules listed in settings.gradle and writes each module's JARs to that module's build/libs directory. The Bukkit modules live under bukkit/, so rpk-chat-bukkit's output lands in bukkit/rpk-chat-bukkit/build/libs. Each Bukkit module produces both a plain JAR and a shaded -all.jar; the shaded one is what belongs in your server's plugins directory.
To contribute to this fork, please fork the repository and submit a pull request against main. Please ensure that your code is well-tested and follows the existing code style — in particular, every source file carries the Apache-2.0 licence header, and every command permission node is declared in its module's plugin.yml.
Contributions intended for RPKit itself, rather than for this fork, should be sent to the upstream repository.
| Name | Contributions |
|---|---|
Ren Binden (alyphen) |
Creator of RPKit |
| Dans-Plugins | Maintainer of this fork |
Thanks are owed to everyone who has contributed to upstream RPKit.
RPKit is licensed under the Apache License, Version 2.0. See the LICENSE file for more information.