Skip to content
 
 

Repository files navigation

RPKit

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.

Quick Links

Table of Contents

Support

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.

Installation

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.

  1. 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.
  2. Place the JAR files in the plugins directory of your server.
  3. 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 a database.yml into that folder, defaulting to SQLite with a database file of its own named after the module (rpk-players-bukkit uses jdbc:sqlite:rpkit_players.db, rpk-chat-bukkit uses jdbc:sqlite:rpkit_chat.db, and so on); MYSQL is the other supported dialect.
  4. Edit the generated config.yml and database.yml files to taste.
  5. Restart your server.

Compiling the Project

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 build

Linux:

./gradlew clean build

This 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.

Contributing

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.

Authors and Acknowledgements

Developers

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.

License

RPKit is licensed under the Apache License, Version 2.0. See the LICENSE file for more information.

About

DPC Fork of RPKit plugin suite

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages