resourcepack.ai
DOCS

Content

Rank tags

A rank tag is the badge in front of a player's name: a rounded red OWNER, a gold VIP with a crown. RP Engine draws one from a few lines of YAML, so there is no picture to make:

# fonts/ranks.yml
owner:
  priority: 100
  tag:
    text: OWNER
    background: "#e53935"
    face: gloss
    icon: crown
    animation: glint
vip:
  priority: 10
  tag:
    text: VIP+
    background: gold
    text-color: "#3a2400"
    accent: "#ffffff"    # the + in white
    shape: pill

A rank tag is an icon in every other way: it has a character, :mypack:owner: types it, and %rpengine_icon_mypack:owner% prints it. The difference is that the picture is drawn when the pack is built, from the fields below.

Quote your colours

In YAML a # starts a comment, so write "#e53935" with the quotes. Without them the colour is ignored and the tag stays red.

The fields#

A tag is built from parts: a shape, a face, a frame round it, an effect on the words, an icon and an animation. All of them go under tag:, and only text is required.

FieldDefaultWhat it does
textThe words, up to 24 characters, in chunky 5-pixel capitals (lowercase is set as capitals)
shaperoundrect, round, pill, chamfer (cut corners), arrow (a pointed right end), ribbon (notched ends) or slant
faceflatflat, gloss (a lit top half), panel (dark inside a bright frame, so give it a rim), stripes, dither or sparkle
backgroundredThe tag's colour
background-2 · background-3More colours, for a gradient from top to bottom
borderthe background, darkerThe outline. none for no outline
rimA second ring just inside the outline
lipfalseA darker bottom edge, so the tag stands up off the line
text-colorwhiteThe letters
text-fadeA second colour the letters fade into, top to bottom
accentEverything from the first + on, in this colour: VIP+, MVP++
effectshadowOn the letters: shadow (under them), drop (under and to the right), outline, outline+shadow or none
effect-colorthe background, darkerThe outline's or the shadow's colour
iconAn icon by name: crown, star, shield, hammer, heart, chat, dot-red and over a hundred more
icon-stylecellcell (its own square inside the tag), inline (beside the words) or tile (a square of its own in front of the tag)
icon-fillthe background, darkerThe colour of the icon's cell or tile
padding2Space either side of the words, up to 12
animationnoneglint (a shine sweeps across), rainbow (the letters cycle colours), twinkle (sparkles come and go) or pulse (the outline breathes)
scale1Draws it 2, 3 or 4 times bigger
offset0Moves it up (or down, negative) from centred on the line

A colour is a hex code or one of the game's colour names: red, dark_red, gold, aqua and the rest. A field with a mistake in it is a warning on /rp reload and uses its default, so a typo costs a colour and not the tag. A character the font hasn't got is left out, and the warning names it.

The default tag is 9 pixels tall, exactly one line of chat, so it never overlaps the lines above and below. An outline effect, a lip and scale: 2 make it taller: save those for the scoreboard, the tab list and holograms.

Animated tags#

With animation: a tag is sixteen frames at ten a second, played by the server like any animated icon. The tab list, a scoreboard, a hologram and anything else that is redrawn shows it play. A chat line is sent once, so in chat it shows its first frame.

A pulse lights the outline, so with border: none there is nothing to light and the tag stays still.

Putting it on a rank#

Don't paste a tag's character into a LuckPerms prefix. RP Engine gives icons their characters in ID order, so adding a tag can shift the characters of the ones after it, and a saved character would then show the wrong tag. Give the rank a permission instead, and print the placeholder.

Every tag has a permission, rpengine.tag.<namespace>.<id>. Nobody has it until you give it, ops included:

/lp group owner permission set rpengine.tag.mypack.owner true
/lp group vip permission set rpengine.tag.mypack.vip true

Then put %rpengine_tag% where the prefix goes, in your chat format, tab list or nametag plugin. It prints the tag the player wears: of the tags they have, the one with the highest priority.

# a chat plugin's format, for example
format: "%rpengine_tag% {player}: {message}"

This works with any permissions plugin, since it's ordinary permissions. It needs PlaceholderAPI, and a plugin that reads placeholders where you put it. %rpengine_tag_id% prints which tag it is, for a plugin that shows different things per rank.

Made in Studio?

A rank tag made in ResourcePack AI Studio keeps its character forever, so it can go straight into a LuckPerms prefix: its page writes the command for you. An animated one plays in chat too.

Good to know#

  • file, gif, grid, animation and height beside tag: do nothing on a tag (its size is the drawing's), and say so on reload. Put animation inside tag:. ascent still works, and wins over the centred one.
  • aliases and permission work exactly as on any icon, for typing it in chat.
  • Tags look the same in Studio and here: the same parts, drawn pixel for pixel alike. Studio can also use the game's own font, your uploaded fonts and block textures. A tag using one of those arrives from Studio already drawn, and written here it's drawn without it.