Skip to main content

Level display in chat formatting (Essentials Core)

This guide targets Essentials Core by teeditator on CurseForge, together with RPG Leveling. You will show level and class beside the player’s name (pseudo) in global chat. The mod stores config under a folder such as mods/com.nhulston_Essentials/ (package id from the project; source repo is nhulston/Essentials on GitHub). Your main file is config.toml inside that directory. For the full list of RPG tokens and troubleshooting, see Chat placeholders.

Prerequisites

  • RPG Leveling (Zuxaw_RPGLeveling or your build) on the server.
  • Essentials Core with custom chat formatting supported. The [chat] example below matches a working RPG Leveling + Essentials setup (same shape as com.nhulston_Essentials/config.toml in a typical server mods/ tree).

1. Open Essentials chat config

  1. Stop the server (or edit offline and restart).
  2. Go to your server mods/ folder and open the Essentials data directory, e.g.
    mods/com.nhulston_Essentials/config.toml
    (folder name can differ by version; look for the directory that contains Essentials’ config.toml.)

2. Turn on custom chat

In config.toml, find the [chat] section and set:
[chat]
enabled = true
If this is false, Essentials will not apply your formats and RPG tokens will never appear.

3. Set formats: level + class next to the name

Under [chat], use fallback-format for players without a rank-specific format, and [chat.formats] for per-group lines. Essentials Core uses %player% for the username and %message% for the chat body. RPG Leveling replaces %rpglevelling_*% when the formatted message is built. Example (Essentials Core + RPG Leveling only — no extra prefix tokens):
[chat]
enabled = true

# Fallback when no rank-specific format matches
# RPG Leveling: %rpglevelling_*%  ·  Essentials: %player%, %message%
# Color codes: &0-&9, &a-&f (hex like &#FF5555 supported)
fallback-format = "&0[&fPlayer&0] &7Lv.%rpglevelling_level% &b%rpglevelling_class%&r &f%player%&7:&r %message%"

# Group-specific formats; first matching key wins (case-sensitive)
[chat.formats]
OP = "&0[&cAdmin&0] &7Lv.%rpglevelling_level% &b%rpglevelling_class%&r &c%player%&f:&r %message%"
Adventure = "&0[&fPlayer&0] &7Lv.%rpglevelling_level% &b%rpglevelling_class%&r &f%player%&7:&r %message%"
Default = "&0[&fPlayer&0] &7Lv.%rpglevelling_level% &b%rpglevelling_class%&r &f%player%&7:&r %message%"
  • &7Lv.%rpglevelling_level% — gray “Lv.” + level number.
  • &b%rpglevelling_class%&r — class display name (aqua), then reset formatting.
  • %player% / %message% — Essentials Core placeholders.
Adjust colors (&a, &c, hex like &#FF5555) to taste. Keys under [chat.formats] (OP, Adventure, Default, …) must match your permissions.json groups exactly (case-sensitive).

4. Spell RPG tokens correctly

Use rpglevelling with two l characters:
  • Correct: %rpglevelling_level%, %rpglevelling_class%
  • Wrong: %rpgleveling_level% (single l) — will not be replaced.
Matching is case-insensitive (%RPGLEVELLING_LEVEL% is fine).

5. Class column empty?

If %rpglevelling_class% is blank, the player has no class selected in the RPG Leveling Stats GUI (Classes tab). After they pick a class, the next chat line will show it.

6. Other tokens

You can also use XP and tier tokens in the same string, for example:
  • %rpglevelling_xp_to_next%
  • %rpglevelling_class_tier%
See the table in Chat placeholders.

7. Apply changes

Save config.toml, then either restart the server or run /essentials reload (requires permission essentials.reload, as documented on Essentials Core) so chat formats pick up edits without a full restart.