Skip to content

03. Profession & License System

Finerus edited this page Aug 16, 2026 · 2 revisions

A complete job restriction system for RP servers. Players without the right license cannot craft, mine, use, or equip restricted items, and admins can manage everything through an in game GUI.

Config file: rpessentials-professions.toml.

Concept

  • Any number of professions can be defined, each with an ID, a display name and a color code.
  • Global restrictions apply to every player by default: blocked crafts, unbreakable blocks, blocked item use, blocked equipment, and container access restrictions.
  • Profession overrides grant a specific profession permission to bypass a global restriction.
  • Wildcard patterns are supported everywhere, for example minecraft:*_pickaxe matches every pickaxe.

Config format

professions            = id;DisplayName;§ColorCode
globalBlockedCrafts     = resource location, wildcards allowed
globalUnbreakableBlocks = resource location, wildcards allowed
globalBlockedItems      = resource location, wildcards allowed
globalBlockedEquipment  = resource location, wildcards allowed
containerOpenRestrictions = block_id;profession1,profession2
 
professionAllowedCrafts    = profession_id;item1,item2
professionAllowedBlocks    = profession_id;item1,item2
professionAllowedItems     = profession_id;item1,item2
professionAllowedEquipment = profession_id;item1,item2

Restriction coverage

Action Where it is enforced
Crafting (table, smithing, anvil, grindstone, stonecutter, loom, cartography) Result slot mixins
Block breaking Break event
Block placement Place event, using the item's global block restriction
Item use (right click) Right click item and right click block events
Tool use (left click) Left click block event
Equipping armor / weapons Armor slot drag and drop, right click equip, attack with a restricted weapon
Entity interaction (saddle, milking, leashing) Entity interact event
Opening a container (anvil, brewing stand, enchanting table, or any configured block) useItemOn mixin

Each blocked action shows an action bar message with a two second anti spam cooldown, and the required profession(s) if any.

Licenses

  • A license grants access to a profession and is represented in game by a physical item.
  • Item tooltips show which restrictions apply and which professions can bypass them.
  • RP licenses are decorative only, given for a limited number of days with a printed expiration date and no actual permission bypass, this can be used if you believe that your players will not abuse the RP restrictions that you gave.
  • Every GIVE, REVOKE and GIVE_RP action is permanently logged to world/data/rpessentials/license-audit.json.
  • Revoking a license automatically flags the physical item as revoked in the player's inventory, and removes the vanilla scoreboard tag matching the profession ID.
  • whitelistExemptProfessions in rpessentials-core.toml can exempt tab whitelisted players from all profession restrictions.

In game GUI

Staff can press the configured keybind (Options > Controls > RpEssentials) to open the Profession Editor, which lets you create or edit a profession and its four restriction lists without touching the TOML file. Saving pushes the change live and reloads the restriction cache.

The RP Profile Manager GUI lets staff set a player's nickname, role and licenses, and view warns, mute status, playtime and staff notes, all from one screen.

See Commands for the full /rpessentials license command list.

Clone this wiki locally