Get started
RP Engine
RP Engine is a plugin for Spigot, Paper and Folia servers (Minecraft 1.19.4 and newer). It adds things vanilla Minecraft does not have: swords with their own models, chairs you can sit in, emotes, custom sounds, icons in chat, artwork behind your menus, recipes, mobs, vehicles and liquids.
You describe each one in a few lines of YAML in a folder on your server, the content folder. The plugin turns that folder into a resource pack (the zip of textures, models and sounds a Minecraft client downloads), sends it to every player who joins, and makes the content work on the server side. You never build or upload a zip yourself.
Getting your content onto the server#
There are three ways in, and you can mix them:
| You have | Do this |
|---|---|
| Your own YAML and art | Make a folder in plugins/RPEngine/content/. See The content folder |
A pack exported from Studio, or any resource pack .zip | Drop the .zip into plugins/RPEngine/content/ and run /rp reload. See Adding a resource pack |
| A pack published in Studio that you want to keep up to date | Run /rp distribute <code>, with the code from the pack's Distribution page. New releases arrive by themselves. See Distribution |
To try a Studio pack on yourself before anybody else sees it, use
/rp sync instead: it sends the pack to you
alone and changes nothing on the server.
Studio is optional
RP Engine works entirely from files on disk. Studio makes the art with AI and can send it straight to a running server, which is faster, but you never need it.
What it can hold#
| Content | What it is |
|---|---|
| Custom blocks | A block you place, mine and stand on |
| Items | Sprites or 3D models, wearable as armour, with real vanilla stats |
| Actions | What an item does when it is used, hit with, and so on |
| Models | Put down, sat on, animated, worn by a mob |
| Emotes | Worn or performed, alone or with other players |
| Sounds and music | Real sound events with subtitles, and background playlists |
| Icons | Pictures that behave like letters, anywhere text shows |
| GUIs | A picture drawn behind a chest-style menu |
| HUD | Overlays drawn over the game screen |
| Dialogs | Minecraft's own pop-up screens, with buttons and inputs (1.21.6+) |
| Text Effects and VFX | Text that waves or burns, and spell effects in the world |
| Rank Tags | Drawn rank badges for chat and name tags |
| Recipes | Crafting, cooking, stonecutting, smithing, brewing, anvils |
| Entities | Custom mobs wearing a model, with skills, drops and spawners |
| Vehicles | Cars, boats and aircraft players drive |
| Liquids | Pools with their own rules |
Two ideas worth knowing#
One ID for everything. mypack:ruby is the item, the path to its art and
what is stored on the item stack. There are no numbers to allocate. If another
plugin's config refers to your content, write the ID. See
IDs and namespaces.
Reloads are cheap for players. The same content always builds to the same pack, so a restart that changes nothing makes nobody download anything. See Bundles and Reloading.