Medieval Roleplay Engine is a Minecraft plugin for players to use to roleplay more effectively. It currently supports Character Cards, Birds, Emotes, Dice, and different types of chats including local, global, whisper, yell, and local out-of-character.
This plugin is supported on the Minecraft versions listed in minecraft-versions.json: currently 1.19.4, 1.21.11, 26.2 and 26.3 (Spigot and its forks). Every stable release is booted on a real server of each of these versions before it is published, and every build checks that the plugin only uses Bukkit API that exists on all of them. Other versions from 1.19.4 onwards are expected to work but are not tested. To support another version, add it to the file: both checks pick it up.
- Download the plugin from SpigotMC.
- Place the jar in the
pluginsfolder of your server. - Restart your server.
- PlaceholderAPI – enables placeholder support for character card data (see Using Placeholders).
Medieval Roleplay Engine is the centre of the medieval roleplay set of Dan's Plugins. These plugins suit the same kind of server and run side by side; none of them is required. Medieval Factions and Mailboxes are declared as soft dependencies in plugin.yml, which only makes this plugin load after them: Medieval Roleplay Engine does not call into either one.
- Medieval Factions (SpigotMC,
/dpm get medievalfactions): nation-like factions with land claims, diplomacy and laws. Medieval Factions is the companion factions plugin; its add-ons are listed in its Expansions section. - Mailboxes (SpigotMC,
/dpm get mailboxes): persistent mail between players, with item attachments. - Medieval Economy (SpigotMC,
/dpm get medievaleconomy): a coinpurse and a physical currency item. - PlayerLore (SpigotMC,
/dpm get playerlore): players write their own lore onto their items. - Medieval Cookery (no SpigotMC page, no stable release yet): cooking recipes for custom foods, defined by the server owner.
- Conquest Recipes (SpigotMC,
/dpm get conquestrecipes): recipes for historical weapons, armour and shields named to match the Conquest resource pack.
For a survival server, the survival flavour set goes well alongside: Food Spoilage, Wild Pets, SimpleSkills.
Every plugin above is listed on dansplugins.com. Medieval Roleplay Engine is listed at dansplugins.com/resources/medieval-roleplay-engine and can be installed in game with Dan's Plugin Manager: /dpm get medievalroleplayengine.
- User Guide – Getting started and common scenarios
- Commands Reference – Complete list of all commands
- Configuration Guide – Detailed configuration options
You can find the support Discord server here.
Please fill out a bug report here.
Run the automated test suite with mvn test. It covers the plugin.yml contract — permission nodes, command registration, the rp.card.* parent, and the USER_GUIDE.md permission table — and runs as part of mvn package in CI. See CONTRIBUTING.md for what it checks. For manual testing of anything else, use the Docker-based development server described below.
A Docker-based test server is available for development.
- Build the plugin:
mvn package(this project has no Maven wrapper, so Maven must be installed; the build targets Java 8, which is also what CI uses) - Start the test server:
./up.sh
./down.sh
| Name | Main Contributions |
|---|---|
| DanTheTechMan | Creator |
| UndeadZeratul | Created a potential replacement for the /roll command |
| Caibinus | Implemented PlaceholderAPI integration |
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
You are free to use, modify, and distribute this software, provided that:
- Source code is made available under the same license when distributed.
- Changes are documented and attributed.
- No additional restrictions are applied.
See the LICENSE file for the full text of the GPL-3.0 license.
This project is in active development.
You can view the bStats page for the plugin here.
Usage reporting is on by default: when the plugin is enabled, and each time one of its commands is used, it sends its name, version and the command's name (startup and command events) to https://trace.danielstephenson.dev so it is known which plugins are actually in use. Nothing about players, worlds or IPs is sent, and nothing typed after a command. The plugin says on every startup whether reporting is on. Each event also carries a random server ID (the server-id line in plugins/trace/config.yml) so
servers can be counted rather than events. It identifies no person, account or IP address; delete
the line to get a new one.
To turn it off:
usage-reporting.enabled: falsein this plugin'sconfig.yml(or/rpconfig set usage-reporting.enabled false; either way it takes effect on the next restart)- for every plugin on the server that reports to trace:
enabled: falseinplugins/trace/config.yml(written by the first such plugin to start) - the environment variable
TRACE_USAGE_REPORTING=offorDO_NOT_TRACK=1
Details: https://danielstephenson.dev/usage-reporting
See CHANGELOG.md for a release-by-release summary of changes.