Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for ASTRELION

Work together to level up your multiplayer Minecraft server to unlock features and rewards!

Report world-levels?

Work together to level up your multiplayer Minecraft server to unlock features and rewards!

Newest versions and downloads available on Modrinth: https://modrinth.com/plugin/world-levels

Features

  • Level up your multiplayer server by gaining XP through normal gameplay
  • Reward your players for leveling up the world with:
    • Nether/The End access
    • Items
    • Increasing the world border
    • Permissions and groups (requires Vault)
  • Trigger any command upon world level up
  • Highly customizable with a full config schema
    • Add custom XP sources globally or at a per-level basis
    • Scale leveling exactly to your liking
    • Exclude certain worlds from the plugin
    • Support for infinite level scaling and rewards
    • Optionally reward offline or new players for level gains
  • Customizable messages, with MiniMessage formatting support
  • Optionally add Vault for full integration with your permission plugin of choice

Usage GIF

GIF showing leveling up, Nether access, and world border increases

Customizable Server XP Bar

Server XP bar

Level Up Alerts

Level up alerts

Configuration

The default configuration file will be created for you, but it can also be found here. If your text editor supports JSON/YAML schemas, you will also get configuration autocomplete suggestions and linting.

You can find a more involved example config here.

Configuration Examples

These are partial configurations for the levels section specifically.

How level ranges and XP requirements work
levels:
  '1':
    # level 1 should always require 0 XP
    xp: 0.0
  '2':
    # level 2 requires 100 XP to get to
    xp: 100.0
  '3':
    xpStep:
      # level 3 adds 50 to the previous requirement, making it 150 XP to get to
      add: 50.0
  '4':
    xpStep:
      # level 4 multiplies the previous requirement by 2, making it 300 XP to get to
      mult: 2.0
  '5-10':
    xpStep:
      # levels 5-10 adds 50 to the previous requirement, making the following for each:
      # level 5 requires 350
      # level 6 requires 400
      # level 7 requires 450
      # level 8 requires 500
      # level 9 requires 550
      # level 10 requires 600
      add: 50.0
  '11-':
    # Level 11 and beyond (scales infinitely) requires 1000 XP to get to
    xp: 1000.0
Lock the Nether and The End at the start, and unlock them when the server reaches level 2 and 3, respectively
levels:
  '1':
    xp: 0.0
    # Prevent Nether and End portals from being used initially
    allowEnd: false
    allowNether: false
  '2':
    xp: 2000.0
    # Unlock Nether portals at level 2
    allowNether: true
    titles:
      - title: <red>Nether</red> <green>unlocked!</green>
  '3':
    xp: 4000.0
    # Unlock End portals at level 3
    allowEnd: true
    titles:
      - title: <light_purple>The End</light_purple> <green>unlocked!</green>
  '4-':
    xp: 8000.0
Award players with different items upon achieving certain levels
levels:
  '1':
    xp: 0.0
    items:
      IRON_INGOT: 1
  '2':
    xp: 2000.0
    items:
      COPPER_INGOT: 1
  '3-4':
    xp: 4000.0
    items:
      # Since '3-4' is a range, this awards a diamond for both levels 3 and 4
      DIAMOND: 1
  '5-':
    xp: 8000.0
    items:
      # Since '5-' scales infinitely, this awards a netherite ingot every single
      # level from 5 onwards
      NETHERITE_INGOT: 1
How you can manipulate the world border for each level.
levels:
  '1':
    xp: 0.0
    # Sets the initial world border to have a radius of 128, centered at 0,0
    worldBorder:
      radius: 128
      center:
        x: 0
        z: 0
  '2':
    xp: 2000.0
    # Sets the radius of the world border for achieving level 2 at 256
    worldBorder:
      radius: 256
  '3':
    xp: 4000.0
    # Adds the radius of the world border for achieving level 3 to the previous
    # radius, making it 512
    worldBorder:
      radiusStep:
        add: 256
  '4-':
    xp: 8000.0
    # Multiplies the radius of the world border for achieving level 4 and onward
    # to the previous radius, making it 768, 1152, 1728, and so on
    worldBorder:
      radiusStep:
        mult: 1.5
Award permissions and groups for certain levels (requires Vault)
levels:
  '1':
    xp: 0.0
  '2':
    xp: 2000.0
    # Assigns 'mypermission.one' to all players
    permissions:
      - "mypermission.one"
  '3':
    xp: 4000.0
    # Assigns 'mypermission.two' to all players
    permissions:
      - "mypermission.two"
  '4':
    xp: 8000.0
    # Adds all players to the 'mygroup' group
    groups:
      - "mygroup"
Run commands on level up
levels:
  '1':
    xp: 0.0
  '2':
    xp: 2000.0
    # Runs the 'time set day' command via the server console
    commands:
      - "time set day"
  '3':
    xp: 4000.0
    # Runs the 'say You leveled up!' command via the server console
    commands:
      - "say You leveled up!"
Require the server's players to collectively mine a certain amount of different tiers of ore to get to the next level.
levels:
  '1':
    xp: 0.0
    xpWeights:
      # This makes it so no vanilla XP sources contribute world level XP
      DEFAULT: 0.0
    customXPSources:
      mineIgnoresSilkTouch: true # set this to prevent XP gains for mining with silk touch
      playerMine:
        COAL_ORE: 1 # Awards 1 XP for each coal ore mined
  '2':
    xp: 100.0 # requires 100 coal ore mined (defined in level 1) to get this level
    xpWeights:
      DEFAULT: 0.0
    customXPSources:
      mineIgnoresSilkTouch: true
      playerMine:
        COPPER_ORE: 1
  '3':
    xp: 200.0 # requires 200 copper ore mined (defined in level 2) to get this level
    xpWeights:
      DEFAULT: 0.0
    customXPSources:
      mineIgnoresSilkTouch: true
      playerMine:
        IRON_ORE: 1
  '4':
    xp: 300.0 # requires 300 iron ore mined (defined in level 3) to get this level
    xpWeights:
      DEFAULT: 0.0
    customXPSources:
      mineIgnoresSilkTouch: true
      playerMine:
        DIAMOND_ORE: 1
  '5':
    xp: 400.0 # requires 400 diamond ore mined (defined in level 4) to get this level

Messages

The default messages file will be created for you, but it can also be found here. If your text editor supports JSON/YAML schemas, you will also get configuration autocomplete suggestions and linting.

Messages support MiniMessage, and have the following custom replacements available:

Replacement Description
<level> Current world level
<relative_xp> Amount of current XP relative to the current level requirements
<level_xp> XP requirement to reach the next level
<total_xp> Absolute total current XP
<version> Plugin version
<modrinth> Plugin Modrinth URL
<click-modrinth></click-modrinth> Makes inner text clickable for the Modrinth URL

Permissions

Permission Description
worldlevels.earn.exempt Prohibit the player from gaining World Levels XP (by default, all players earn XP)
worldlevels.help Access to the worldlevels help command
worldlevels.reload Access to the worldlevels reload command
worldlevels.reset.all Access to the worldlevels reset all command
worldlevels.reset.rewards Access to the worldlevels reset rewards command
worldlevels.update Access to the worldlevels update command
worldlevels.version Access to the worldlevels version command
worldlevels.xp.add Access to the worldlevels xp add command
worldlevels.xp.get Access to the worldlevels xp command
worldlevels.xp.set Access to the worldlevels xp set command

Commands

All the following are prefixed with worldlevels. For example, worldlevels help.

Arguments in <> are required, arguments in [] are optional.

Command Description
help Shows a list of commands
reload Reload the plugin configuration and save from file
xp Gets the current XP total and level
xp add <xp> Add the given amount of XP to the total, supports negatives
xp set <xp> Sets the total XP to the given amount
update Checks for plugin updates
version Prints the plugin version
reset all Resets total XP back to 0 and allows all players to regain rewards
reset rewards [player] Resets rewards for the given player (or all players), allowing them to regain rewards for past levels



Usage statistics

Information

CategoryGameplay
Published onOctober 21, 2025
LicenseAGPL
Downloads11
Stars1
Watchers1
Supports Folia

Pinned Versions

Issues & Feature Requests

Members