-
Notifications
You must be signed in to change notification settings - Fork 0
03. Profession & License System
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.
- 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:*_pickaxematches every pickaxe.
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
| 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.
- 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,REVOKEandGIVE_RPaction is permanently logged toworld/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.
-
whitelistExemptProfessionsinrpessentials-core.tomlcan exempt tab whitelisted players from all profession restrictions.
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.