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

How Jobs Work

Every job is defined by a YAML file inside plugins/ModernJobs/jobs/. When a player is in a job and performs a matching action, they receive XP and optionally money.

  1. Player opens /jobs and clicks a job to view details.
  2. Player clicks Join (or is auto-joined if auto-join-all-jobs: true).
  3. Player performs actions — mines blocks, kills mobs, fishes, crafts, etc.
  4. Each matching action grants XP + money. The action bar shows the gain.
  5. XP accumulates. When the threshold for the next level is reached, the player levels up (title shown, sound played, reward given if configured).
  6. At max level, the player can Prestige to reset and earn a permanent XP bonus.

All 11 Built-in Jobs

Miner

Break ores and stone

🪓

Woodcutter

Chop trees and logs

🌾

Farmer

Harvest crops and plants

🎣

Fisher

Fish in water

Hunter

Kill mobs and monsters

🏗

Builder

Place blocks

🔥

Blacksmith

Smelt ores, craft gear

🔥

Smelter

Smelt and cook food

Crafter

Craft items at workbench

🧭

Explorer

Break biome-specific blocks

Enchanter

Enchant items at the table

Job File Reference

Every job lives in a single .yml file in the jobs/ folder. Below is every possible option explained.

Basic Information

display-name: "⛏ Miner"        # Name shown in GUIs (supports colour codes)
description:                       # Lines shown in the job's tooltip
  - "<gray>Mine ores and stone."
  - ""
  - "<yellow>Actions: <white>Block Breaking"

icon: DIAMOND_PICKAXE              # Minecraft Material name for the GUI item
custom-model-data: -1             # Custom model data for resource packs (-1 = none)
color: "<aqua>"                     # MiniMessage colour used for the job name
gui-slot: 11                       # Fixed slot in the main menu (0-53). Remove or set -1 for auto.

Limits

max-level: 20                      # Highest level players can reach in this job
max-players: -1                    # Max concurrent players in this job. -1 = unlimited
required-permission: ""           # Permission required to join. Empty = no restriction

XP Formula

xp-formula:
  type: EXPONENTIAL               # Only EXPONENTIAL is supported currently
  base: 100.0                      # XP needed for level 1→2
  multiplier: 1.5                  # Each level needs base × multiplier^(level-1)

With base: 100 and multiplier: 1.5:

LevelXP needed for next level
1100
2150
5506
103,844
20221,810

World Restrictions

worlds:
  whitelist: []                    # Only these worlds earn XP. Empty = all worlds allowed.
  blacklist:                       # These worlds never earn XP.
    - "world_the_end"
Whitelist takes priority. If both are empty, all worlds give XP.

Cooldowns

cooldowns:
  block-break: 0                   # Seconds between rewarded block breaks. 0 = no cooldown

Each action type can have its own cooldown. For example, a Hunter job could have:

cooldowns:
  mob-kill: 2                      # Player can only earn XP from kills every 2 seconds

Action Types

Actions define what a player must DO in-game to earn XP/money from a job. Different jobs use different action types.

Action keyWhat triggers itUsed by
block-breakPlayer breaks a blockMiner, Woodcutter, Explorer
block-placePlayer places a blockBuilder
mob-killPlayer kills an entityHunter
fishingPlayer catches something while fishingFisher
craftingPlayer crafts an itemBlacksmith, Crafter
smeltingPlayer takes a smelted item from a furnaceBlacksmith, Smelter
farmingPlayer harvests a fully-grown cropFarmer
enchantingPlayer applies an enchantment at the enchanting tableEnchanter

Action Entry Format

Each item inside an action section follows this structure:

actions:
  block-break:
    DIAMOND_ORE:                   # Minecraft Material name (must be uppercase)
      xp: 25.0                      # XP given per action
      money: 0.50                   # Money given per action (requires Vault)
      chance: 1.0                   # 1.0 = 100% chance. 0.5 = 50% chance to reward
      level-requirement: 5         # Player must be at least this level to earn XP
      max-level-requirement: 15   # Player stops earning XP above this level (-1 = never)
💡 max-level-requirement is useful to prevent high-level players from grinding easy actions. For example, stone gives XP only up to level 5, then it stops.

Enchanting actions — special naming

For the Enchanter job, the item key is the enchantment name plus the level number:

actions:
  enchanting:
    SHARPNESS_1:
      xp: 6.0
      money: 1.0
    FORTUNE_3:
      xp: 35.0
      money: 12.0
    MENDING:
      xp: 50.0
      money: 20.0

XP Formula Explained

The formula for XP required to reach the next level is:

xp_needed = base × multiplier ^ (level - 1)

So with base: 100 and multiplier: 1.5, level 1 needs 100 XP, level 2 needs 150, level 3 needs 225, etc. To make leveling slower, increase the multiplier. To make it faster, decrease it (minimum 1.0).

World Restrictions

Each job can be restricted to specific worlds or blocked from specific worlds.

worlds:
  whitelist:                       # ONLY these worlds give XP
    - "survival"
    - "survival_nether"
  blacklist:                       # These worlds NEVER give XP
    - "world_the_end"
    - "creative_world"

Cooldowns

Cooldowns prevent players from spamming an action to earn XP too fast. Set to 0 for no cooldown.

cooldowns:
  block-break: 0     # 0 seconds = no cooldown
  mob-kill: 2         # 2 second cooldown between kill rewards

ModernJobs — Premium Minecraft Jobs Plugin

Documentation generated for server administrators and players.