Building
Transitions
A Transition covers a player's whole screen, holds while your server changes something underneath (a teleport, a match starting, a world loading), then uncovers it again. It's what streamers call a stinger transition, put between two scenes, in Minecraft: a slanted dash of colour, a cartoon iris, paint splats that join up, blocks that pop in.
Your pack draws it, smoothly at the player's frame rate and sharp at any window size. The server only says when.

Making one#
Press Add asset, then the Transition tab. Either:
- Describe it ("an ink splat for a paintball server called SPLATMC"). Studio designs three different takes, looks at each one drawn, tidies them up, and opens the first in the editor with the others beside it. It costs 10 AI Credits and takes about a minute; or
- Pick a preset, which is free: Diagonal Dash, Ink Splat, Cartoon Iris, Creeper Pixels, Golden Blinds, Diamond Wave, Nether Portal, Iron Doors, Arcade Checker, Paper Tear, Lava Flood, Bubble Pop, Sunburst or Night Fade; or
- Upload a video, to cut a clip of your own into one. See below.
From a video#
Open the Upload door on the Transition tab and drop in a clip (or press Make it from a video in the editor of one you already have). An MP4 works; a WebM keeps transparency, so the world shows through around your animation as it comes in.
The clip plays over a Minecraft screen with four marks on its timeline. Drag them to cut it into three parts:
- In, from Start to Covered: plays as the screen covers, up to 3 seconds. At Covered the screen should be fully covered.
- Hold, from Covered to Uncovers: loops for as long as the server holds the screen covered, up to 4 seconds. Leave it empty and the last frame of the in part stays.
- Out, from Uncovers to End: plays as the screen clears, up to 3 seconds. Leave it empty and the in part plays backwards.
Sharpness is how many pictures each frame is cut into: Standard is 256 pixels across, Sharp twice that, Sharpest three times. Sharper looks better on a big screen and costs about four or nine times the size. The panel shows what it adds to the pack as you change it, measured from your clip; keep it to a few megabytes, because every player downloads it. Use the clip's sound turns the sound of the in and out parts into the transition's two sounds.
Press Use this video and it is saved. A video transition plays in game exactly like any other, with the same commands.
The editor#
The transition plays over a Minecraft screen, from one scene to another, exactly as the game draws it. Drag along the timeline under it to look at any moment, or press Space to pause.
- Timing: how long the cover takes to come in, how long it holds, and how long it takes to go. A plugin can hold it for as long as it needs; the hold here is what plays when nothing says.
- Coming in: how the cover arrives. A wipe (a straight edge sweeping across, or two doors from both sides), an iris, a clock sweep, blinds, a wave of shapes, scattered pixels, spreading ink, or a plain fade. Each has a direction and its own settings, an edge (straight, zigzag, wave, scallop or torn), softness and a pace.
- Going out: the same way it came in, or another way. It either carries on (a wipe leaves out of the far side) or goes back (an iris opens again).
- Layers: up to four colours that chase each other in, the classic transition look. The front one covers the screen while it holds, and any layer can have a moving pattern: stripes, checker, dots, a grid, a gradient or noise.
- Edge line: a band of colour along the front layer's moving edge.
- Logo: words in chunky pixel capitals with an outline (up to three lines), or a picture you upload (pixel art works best, up to 256 by 256 pixels), shown while the screen is covered. It can pop, fade, zoom, drop or spin in, and bob, pulse or wobble while it holds.
- Style: draw the whole thing in big Minecraft pixels.
- Sounds: a sound event to play as it comes in and as it goes, like
entity.player.attack.sweep. - Edit with AI: say what to change ("faster, red and black, zigzag edge") and the fields change. It costs 5 AI Credits, and nothing is saved until you press Save.
Playing it in game#
Sync the pack (or publish it with Distribution), then:
With RP Engine (0.2.64 or newer, see RP Engine: Transitions):
/rp transition studio:<id> [player] [hold ticks]The editor's Play in game button plays it on you. A plugin can cover the screen, do something, and uncover it:
RPEnginePlugin engine = (RPEnginePlugin) Bukkit.getPluginManager().getPlugin("RPEngine");
engine.transitions().play(player, ContentId.parse("studio:arena").orElseThrow(), () -> player.teleport(arena));cover(...) holds until you call release() on what it returns, for when you
don't know how long the wait is. Anyone running /rp transition needs
rpengine.transition, and rpengine.transition.others to play one on somebody else.
With plain commands, from a command block, a datapack or any plugin: the editor shows the commands for each transition, ready to copy. One set plays the whole thing (in, hold, back out); another covers the screen and a third uncovers it, so you can do something in between.
How it works#
A transition is a title. Its one character, drawn in one of the transition's own colours, is stretched over the whole screen by your pack's text shader, which draws the transition there. The game fades a title in and out smoothly between ticks, and the shader reads how far through the fade it is, which is why it plays at the player's full frame rate even though the server only works in ticks. A player without your pack sees a small speck where the title would be.
It draws over the world and the hotbar, and under chat. Hiding the HUD (F1) hides it too, as it hides every title.