# Level Rewards

ExcellentJobs features flexible and customizable rewards system for leveling in jobs, where each job can have it's own reward lists.

With built-in rewards system, you can:

  • Give the reward for every X level ups.
  • Auto-scale reward(s) using modifiers.
  • Run unlimited amount of commands per reward with PlaceholderAPI support.
  • Require certain permission to get the reward.
  • Require certain rank(s) to get the reward.
  • Require certain priority to get the reward.
  • Display custom info if player doesn't met the requirements.

Job rewards can be viewed by players in a fully customizable GUI. You can edit GUI's layout in the /menu/job_level_rewards.yml config file.

# Manual Claiming NEW

Manual claiming feature requires players to claim unlocked job rewards by clicking them in the Rewards GUI.

This feature can be toggled in the config.yml -> Jobs -> Rewards -> ClaimRequired: true

# Setup Rewards

Level rewards are configurable throught the settings.yml config file of desired job(s) under the Leveling -> Rewards section:

Rewards:
  List:
    every_1_level:
      Levels: '1'
      Repeatable: true
      Name: $%mod_money%
      Description: []
      Commands:
      - money give %player_name% %rawmod_money%
      Required_Permission: 'null'
      Required_Ranks: []
      RequirementInfo:
      - ''
      Required_States:
      - PRIMARY
    donator_10_levels:
      Levels: '10'
      Repeatable: true
      Name: x1 Jobs Crate Key <red>(Premium only)</red>
      Description: []
      Commands:
      - crates key give %player_name% jobs 1
      Required_Permission: 'null'
      Required_Ranks:
      - vip
      - premium
      - admin
      RequirementInfo: []
      Required_States: []

  Modifiers:
    money:
      Base: 0.0
      Per_Level: 1000.0
      Step: 1.0
      Action: ADD

The List section contains rewards definitions. You can add as many rewards as you want. Names must be unique.

The Modifiers section contains modifier definitions for rewards to auto-scale them with job levels.

In the example above, there are 2 rewards every_5_levels and donator_10_levels, and 1 modifier money:

  • The every_1_level reward gives (1000 \times jobLevel) money every level up. So $1000 at level 1, $2000 at level 2, and so on.
  • The donator_10_levels reward gives 1 crate key every 10 levels for players with any of the following ranks: vip, premium or admin.
  • The money modifier is used to provide dynamic money amount for the every_1_level reward.

Reward Settings:

  • Levels - Job level(s), when reward is triggered. Split with comma: 1,5,7,22.
  • Repeatable - Makes reward to appear every X levels from the Levels setting. Otherwise once at each level.
  • Name - Reward display name.
  • Description - Reward description.
  • Commands - Commands to run. Use prefix player: to run command by a player (ensure to wrap command in single quotes ' '!).
  • Required_Permission - Player must have specific permission to obtain the reward. Set it to null to disable.
  • Required_Ranks - Player must have any of listed ranks to obtain the reward. Set it to [] to disable.
  • Required_States - Player must have the job set on any of specific priority to obtain the reward. Set it to [] to disable.
  • RequirementInfo - Custom requirements description.

The following placeholders are available to use in Description, Commands and RequirementInfo:

  • %player_name% for a player name.
  • %mod_name% to display formatted modifier value, where name is name of the modifier, e.g. %mod_money%.
  • %rawmod_name% to display plain modifier value, where name is name of the modifier, e.g. %rawmod_money%.