Running a server
Commands
RP Engine has one main command, /rpengine, which you can also type as /rpe
or /rp. Players also get /emote, and /emotereply for answering emote
invitations.
/rp on its own (or /rp help) lists the commands you are allowed to run.
Arguments tab-complete, and you are only offered subcommands you have
permission for. When the plugin tells you to run a command in chat, you can
click it.
[player] means the command can target somebody else, which needs a second
permission. See Pointing a command at somebody else.
Content#
| Command | What it does | Permission |
|---|---|---|
/rp reload | Reread the content folder and config, and rebuild every pack | rpengine.reload |
/rp info | How much content is loaded, and the commands you can run | rpengine.info |
/rp bundles | The built packs, with their sizes and hashes | rpengine.bundles |
/rp push | Send this server's pack to yourself again | rpengine.push |
/rp items | Every custom item | rpengine.items |
/rp item menu | A chest of every custom item: click for one, shift-click for a stack | rpengine.item |
/rp give <id> [amount] | Give yourself an item | rpengine.give |
/rp blocks | Every custom block, and how many block states are left | rpengine.blocks |
/rp recipes | Every recipe | rpengine.recipes |
Models and entities#
| Command | What it does | Permission |
|---|---|---|
/rp models [radius] | Placed models near you, with orphans marked | rpengine.models |
/rp purge [radius] | Remove orphaned models near you (see Reloading) | rpengine.purge |
/rp entities | Every custom entity | rpengine.entities |
/rp spawn <id> | Spawn a custom mob where you stand | rpengine.spawn |
/rp spawn <id> <x> <y> <z> [world] [count] [level] | Spawn up to 64 at a place, at a level. The world may also come first. This is the form the console uses | rpengine.spawn |
/rp egg <id> [player] [amount] | A spawn egg that hatches that mob where it is used | rpengine.egg |
/rp spawner create <name> <mob> [x y z [world]] | Make a spawner, where you stand if you give no place | rpengine.spawner.create |
/rp spawner set <name> <setting> <value> | Change one of a spawner's settings | rpengine.spawner.set |
/rp spawner remove <name> | Remove a spawner made in game. Its mobs stay | rpengine.spawner.remove |
/rp spawner list | Every spawner | rpengine.spawner.list |
/rp spawner info <name> | One spawner's settings | rpengine.spawner.info |
/rp bind <item id> | Put that item's model on the mob you are looking at | rpengine.bind |
/rp unbind | Take it off again | rpengine.unbind |
The radius is in blocks: 16 by default, 128 at most. Binding a model to
another player, rather than a mob, needs rpengine.bind.others. Giving an egg to
somebody else needs rpengine.egg.others, and rpengine.spawner grants every
/rp spawner verb.
Sound, text and interface#
| Command | What it does | Permission |
|---|---|---|
/rp sounds | Every custom sound | rpengine.sounds |
/rp sound <id> [player] | Play one | rpengine.sound |
/rp sound stop <id|all> [player] | Stop one early, or every custom sound | rpengine.sound |
/rp music | Every piece of music, and what is playing for you | rpengine.music |
/rp music play <id> [player] | Start a piece | rpengine.music.play |
/rp music stop [player] | Stop it | rpengine.music.stop |
/rp music skip [player] | On to the next track | rpengine.music.skip |
/rp icons | Every icon, with the character it became | rpengine.icons |
/rp say <text> | Send yourself text, with :pack:icon: drawn as icons and <fx:name> as Text Effects | rpengine.say |
/rp effects | Every Text Effect, each drawn in itself, with its colour | rpengine.effects |
/rp effects presets | The ready-made Text Effects a content file can name | rpengine.effects |
/rp effect <name> [text] | Send yourself text in a Text Effect | rpengine.effect |
/rp vfx | Every VFX this server can play | rpengine.vfx |
/rp vfx presets | The ready-made VFX a content file can name | rpengine.vfx |
/rp cast <name> [player] [options] | Play a VFX where a player stands: on a loop, until a condition, faster, bigger, following them (options) | rpengine.cast |
/rp cast <name> at <x> <y> <z> [world] [options] | Play a VFX at a place, tied to no player: ~ counts from whoever runs it (casting at a place) | rpengine.cast.at |
/rp cast stop [all|<player>|tag:<name>] | End VFX playing: all, one player's, or one tag's | rpengine.cast |
/rp screens | Every screen and HUD | rpengine.screens |
/rp screen <id> [player] | Open a screen | rpengine.screen |
/rp hud <id|clear> [player] | Draw an overlay, or clear it | rpengine.hud |
/rp shaders | Every shader object from Studio, and whether you hold its pack | rpengine.shaders |
/rp shader <id|clear> [player] | Show a shader object, or take them all off | rpengine.shader |
Dialogs#
Dialogs need Minecraft 1.21.6 or newer.
| Command | What it does | Permission |
|---|---|---|
/rp dialogs | Every dialog, and whether you hold its pack | rpengine.dialogs |
/rp dialog <id> [name=value...] [player] | Open one, filling its {placeholders} with the values given | rpengine.dialog |
/rp var <name> <value> | Change one of your own dialog settings | rpengine.var (everyone) |
/rp page <id> | Turn the dialog you are looking at to another page | rpengine.page (everyone) |
/rp page close | Close the dialog you are looking at | rpengine.page (everyone) |
/rp slot <slot> | Move an item in a dialog's item slots | rpengine.slot (everyone) |
/rp click <key> | Press a dialog's console button: what a console: button runs | rpengine.click (everyone) |
/rp run <key> | Press a dialog's button of several commands: what a command: list runs | rpengine.run (everyone) |
/rp quick <id> | Open a dialog on the Quick Actions key: what its launcher's button runs | rpengine.quick (everyone) |
/<command> [player] | A dialog's own command, such as /shop | everyone, or the permission the dialog names |
var, page, slot, click, run and quick are what clicks inside a
dialog run, so every player has them, and they are not tab-completed. Each
only does what a click in the dialog you were shown could do.
A dialog gets its own command from command: in its file, or Players open
it with in Studio. If another plugin already has that command name, the
other plugin keeps it. /rp dialogs shows each dialog's command.
Emotes#
| Command | What it does | Permission |
|---|---|---|
/emote | List the emotes you can play | rpengine.emote (everyone) |
/emote <name> | Perform an emote, or wear it if it is a movement set | rpengine.emote (everyone) |
/emote <name> <player...> | Perform it with other players. They are asked first | rpengine.emote.cast |
/emote <name> --showYourself | Wear a movement set and see it yourself. For testing: it lags behind you | rpengine.emote |
/emote stop | Stop yours, and everybody in it with you | rpengine.emote |
/emotereply <accept|deny> <token> | Answer an invitation. This is what the [accept] and [deny] buttons run | none |
/rp emote ... | The same as /emote | rpengine.emote |
/rp emotes | Every emote the server holds | rpengine.emotes (everyone) |
emotes.player-commands: false in config.yml
removes /emote, for a server that already has one from another plugin.
/rp emote still works, and /emotereply is always there.
Liquids#
| Command | What it does | Permission |
|---|---|---|
/rp liquid corner | Mark one corner of a pool | rpengine.liquid |
/rp liquid fill <id> | Fill the box between that corner and where you stand with that liquid | rpengine.liquid |
/rp liquid clear | Remove the pool you are in | rpengine.liquid |
/rp liquid list | Every pool, per world | rpengine.liquid |
Vehicles#
| Command | What it does | Permission |
|---|---|---|
/rp vehicles | Every vehicle, and who fits in it | rpengine.vehicles |
/rp vehicle <id> | Park one where you stand, facing the way you face | rpengine.vehicle |
/rp vehicle remove | Take away the one nearest you | rpengine.vehicle |
Players get in by right-clicking a seat. See Vehicles.
3D objects#
3D objects need Minecraft 1.21.4 or newer. Every verb except spawn acts on
the nearest object, and each has its own node, rpengine.object.<verb>.
| Command | What it does | Permission |
|---|---|---|
/rp objects | Every 3D object, with its states and sequences | rpengine.objects |
/rp object spawn <id> [size] [x y z] | Put one down in front of you, or at those coordinates | rpengine.object.spawn |
/rp object state <state>, replay | Put it into a state, or play its state again | rpengine.object.state, .replay |
/rp object play <sequence>, stop | Run or stop one of its sequences | rpengine.object.play, .stop |
/rp object move, turn, size, seed | Move, turn or resize it, or change its seed | rpengine.object.move, .turn, .size, .seed |
/rp object remove [all] | Take it away, or every one | rpengine.object.remove |
rpengine.object grants every verb. See 3D objects
for the arguments.
3D armour#
| Command | What it does | Permission |
|---|---|---|
/rp armor | Every 3D armour set the server holds | rpengine.armor |
/rp armor wear <set> [player] | Put the whole set on. What they were wearing goes into their inventory | rpengine.armor |
/rp armor give <set> [player] | Hand over its pieces | rpengine.armor |
/rp armor self | See your own 3D armour, in F5 and first person. Run it again to hide it | rpengine.armor |
See Armour.
Studio#
Sync sends a pack open in Studio to you (and anybody you add) for testing, on top of the server's own pack. Nobody else sees it and nothing on the server changes. Distribute serves a published pack to every player. See Testing with the plugin and Distribution.
| Command | What it does | Permission |
|---|---|---|
/rp sync <code> | Pair with a pack open in Studio, using the code from Studio | rpengine.sync |
/rp sync add <player> | Share your pushes with somebody else | rpengine.sync |
/rp sync accept / deny | Answer an invitation to somebody's sync | rpengine.sync |
/rp sync who | Who is on your sync | rpengine.sync |
/rp sync remove <player> | Take somebody off, and the pack off them | rpengine.sync |
/rp sync leave | Leave somebody else's sync | rpengine.sync |
/rp sync stop | End yours, for everybody on it | rpengine.sync |
/rp distribute <code> | Serve a pack published in Studio to everybody who joins, using the code from the pack's Distribution page. It is kept in content/studio-<pack>/ and updated on every release | rpengine.distribute |
/rp distribute off | Stop serving it, and remove its folder | rpengine.distribute |
/rp distribute off --keep | Stop serving it, and keep its folder as your own content | rpengine.distribute |
Editing in a browser#
No account needed. See Editing in a browser.
| Command | What it does | Permission |
|---|---|---|
/rp edit <id> | Open it in the right editor in your browser | rpengine.edit |
/rp edit | The links you have open, and how long they have left | rpengine.edit |
/rp edit close | End them | rpengine.edit |
Permissions#
Each subcommand has its own node, rpengine.<subcommand>, and
rpengine.admin grants all of them. Everything defaults to op except
rpengine.emote, rpengine.emotes, rpengine.chat.icons and the six dialog
click nodes (var, page, slot, click, run, quick), which every
player has.
Permissions has the full list.