English Français
ModernJobs

ModernJobs

A premium Minecraft jobs plugin with full GUI, prestige, boosters, perks, leaderboards and PlaceholderAPI support.

API-Version 1.21+ Folia Supported PlaceholderAPI Vault Economy 11 Built-in Jobs

ActionBar & Title Notifications

Action Bar

Every time a player earns XP, a message appears above the hotbar. This is called the action bar. It shows:

You can customise the format in lang/EN.yml under xp-gain-actionbar.

To prevent spam, the action bar is only sent once per notification-cooldown milliseconds (configurable in config.yml).

To disable the action bar entirely: set actionbar-enabled: false in config.yml.

Level-Up Title

When a player levels up, a large title appears on screen. Configure in config.yml:

The title text is in lang/EN.yml under level-up-title and level-up-subtitle.

Server-wide Broadcast

Set broadcast-levelup: true in config.yml to announce level-ups in chat. Use broadcast-levelup-interval: 5 to only announce every 5 levels (so chat isn't spammed for every single level).

Leaderboard

The leaderboard tracks which players have the most XP in each job. It is cached and refreshed periodically.

PlaceholderAPI Support

! Documentation note: the real PlaceholderAPI prefix is %jobs_...%. If you still see older %modernjobs_...% examples below, use %jobs_...% instead.

If PlaceholderAPI is installed, ModernJobs registers the following placeholders. These work in any PlaceholderAPI-compatible plugin (tab lists, scoreboards, holograms, etc.).

Replace <job> with the job ID (filename without .yml, e.g. miner, farmer, hunter).
PlaceholderReturns
%modernjobs_level_<job>%Player's current level in that job
%modernjobs_xp_<job>%Player's current XP in that job
%modernjobs_xp_required_<job>%XP needed for the next level
%modernjobs_prestige_<job>%Player's prestige level in that job
%modernjobs_total_xp_<job>%Total XP ever earned in that job

Folia Support

Correct Placeholder List

ModernJobs currently exposes these PlaceholderAPI values through the jobs identifier:

PlaceholderReturns
%jobs_level_<job>%Player's current level in that job
%jobs_xp_<job>%Player's current XP in that job
%jobs_xp_needed_<job>%XP still needed for the next level
%jobs_progress_<job>%Progress percentage for that job
%jobs_progress_bar_<job>%The configured progress bar for that job
%jobs_max_level_<job>%The max level configured for that job
%jobs_prestige_<job>%Player's prestige level in that job
%jobs_total_xp_<job>%Total XP ever earned in that job
%jobs_job_<job>%The display name of that job
%jobs_count%How many jobs the player has joined
%jobs_total_level%Total level across all joined jobs
%jobs_job%The first joined job's display name
%jobs_level%The first joined job's level
%jobs_xp%The first joined job's current XP
%jobs_xp_needed%The first joined job's XP needed
%jobs_progress%The first joined job's progress percentage
%jobs_progress_bar%The first joined job's progress bar
%jobs_max_level%The first joined job's max level
%jobs_prestige%The first joined job's prestige

Examples

%jobs_level_miner%
%jobs_prestige_hunter%
%jobs_progress_bar_farmer%
%jobs_total_level%

If a placeholder returns nothing, check PlaceholderAPI is installed, confirm the player has data for that job, and verify the job ID exactly matches the filename.

ModernJobs fully supports Folia, the threaded Minecraft server fork. The plugin automatically detects whether it is running on Folia or standard Paper/Spigot and uses the correct scheduler API.

No extra configuration is needed — just drop the same jar onto a Folia server.

Plugin Integrations

PluginTypeWhat it enables
VaultSoft dependencyMoney rewards for actions and level rewards. Without Vault, money values are ignored silently.
PlaceholderAPISoft dependencyExposes job stats as placeholders for scoreboards, tab, holograms, etc.
LuckPermsSoft dependencyWhen level rewards grant permissions, LuckPerms applies them persistently. Works with other permission plugins too.
ItemsAdderSoft dependencyCustom blocks and furniture from ItemsAdder can be used as action targets in job files (ia-block-break, ia-furniture action sections)
NexoSoft dependencySame as ItemsAdder but for Nexo custom blocks and furniture (nexo-block-break, nexo-furniture)

Admin Tips & Common Questions

Job-Specific Prestige Reward Example

rewards:
  0:
    10:
      money: 1000
  1:
    10:
      money: 2500
      perks:
        - "miner-vein"
  2:
    10:
      money: 5000
      items:
        - "DIAMOND 4"

This means the level 10 reward for that job becomes stronger once the player reaches higher prestige tiers.

How do I add a brand new job?

  1. Create a new file in plugins/ModernJobs/jobs/ — e.g. myjob.yml
  2. Copy the structure from an existing job file
  3. Change display-name, icon, color, gui-slot and the actions section
  4. Run /jobs reload

How do I disable a job without deleting its file?

Add its ID to disabled-jobs in config.yml:

jobs:
  disabled-jobs:
    - enchanter

How do I position jobs in the GUI?

Each job's yml has a gui-slot number. Slot 0 = top-left, slot 53 = bottom-right. Plan your layout on a 9×6 grid:

 0  1  2  3  4  5  6  7  8
 9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26
27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44
45 46 47 48 49 50 51 52 53

How do I make leveling faster or slower?

In the job file, adjust xp-formula.multiplier. Lower = faster leveling, higher = slower. You can also adjust individual action XP values.

How do I give a player XP manually?

/jobs giveexp PlayerName miner 1000

How do I reset a player's job data?

/jobs reset PlayerName miner       # Reset one job
/jobs reset PlayerName             # Reset ALL jobs

MiniMessage colour codes

All text in config.yml, gui.yml, job files and lang files supports MiniMessage formatting:

TagResult
<green>Green text
<gold>Gold text
<aqua>Aqua text
<red>Red text
<light_purple>Light purple
<yellow>Yellow
<white>White
<gray>Gray
<dark_gray>Dark gray
<bold>Bold
<italic>Italic
<underlined>Underlined
<strikethrough>Strikethrough
<color:#FF0000>Custom hex colour
💡 After every config change, run /jobs reload to apply without restarting. Player data is automatically saved before reload.

ModernJobs — Premium Minecraft Jobs Plugin

Documentation generated for server administrators and players.