Configuration Files

Default 0.5.9 CyberLevels configuration files.

This wiki page runs through the configuration files available in CLV.

Configuration files contain all settings that can be adjusted to server’s specifications. Although not all aspects of the plugin are customizable, a large portion is.

Available config files:

  1. config.yml
  2. anti-abuse.yml
  3. earn-exp.yml
  4. levels.yml
  5. rewards.yml
  6. lang.yml

config.yml

This file contains all general settings for the plugin. These range from general teleport settings to external plugin hooks.

config:
  
  # Should data be stored in MySQL?
  # Tested on MySQL 10.4 and MariaDB 10.6.
  # Other versions may not work yet!
  mysql:
    enabled: false
    host: localhost
    port: '3306'
    database: cyberlevels
    username: username
    password: password
    table: levels
    ssl: true
  
  # Should numbers be rounded?
  round-evaluation:
    enabled: true
    
    # Should exp earned in earn-exp.yml be rounded?
    round-earn-exp: true
    
    # 2 digits: #.##, 4 digits: #.####
    digits: 2
  
  earn-exp:
    # Should decimals be rounded to the nearest integer?
    integer-only: false
  
  leaderboard:
    
    # This feature has been shown to be stable. Please
    # continue using at your own discretion.
    enabled: true
    
    # Should the leaderboard sync with your storage
    # system when the auto-save is called?
    sync-on-auto-save: true
  
  # Should player data be auto-saved?
  auto-save:
    enabled: true
    
    # How often (in seconds)?
    interval: 300
  
  # Should adding levels give rewards?
  add-level-reward: false
  
  # Should getting rewards multiple times per
  # level be prevented?
  prevent-duplicate-rewards: false
  
  # Should messages stack exp if it is within 650ms
  # of the last exp gain/loss?
  stack-combo-exp: true
  
  multipliers:
    # Should multipliers apply to the following?
    commands: false
    events: true
  
  auto-update:
    config: true
    lang: true
    earn-exp: true
  
  messages:
    # Should auto-save messages send to console?
    auto-save: true
    
    # Should general messages send to console?
    message-console: true

anti-abuse.yml

This file contains all anti-abuse settings. These settings are used to prevent players from abusing the system. The settings range from general settings to custom module setups.

anti-abuse:

  general:
    # Should pickaxes with silk touch reward EXP
    # when breaking a block?
    silk-touch-reward: false

    # When a block is broken, must it be naturally
    # generated to gain EXP?
    only-natural-blocks: false

    # Should crops be included in the only-natural-
    # blocks list? If false, the crop must be fully
    # grown to gain EXP.
    include-natural-crops: false

    # If you would like more general anti-abuse option
    # to be added, make sure to mention them on our
    # Discord: https://discord.gg/DC4Gqj3y5V


  # Custom anti-abuse setups:
  module-1:
    # What events should be included in this module?
    exp-events:
      - 'damaging-players'
      - 'damaging-animals'
      - 'damaging-monsters'

    cooldown:
      enabled: false

      # In seconds, the cooldown between each
      # time a player can gain exp.
      time: 5

    limiter:
      enabled: false

      # How many times can exp be earned from this
      # event (until timer resets it).
      amount: 250

      # A reset will occur for the first time at
      # the mentioned date and time. Afterwards,
      # it will reset using the interval specified.
      #
      # In our case, it will reset the first time
      # on Jan 15, 2022, and every 6 hours after.
      #
      # These timers are REBOOT IMMUNE! This means
      # that even if you reboot, it will recalculate
      # and continue the exact same pattern. For
      # more details visit dev.zerotoil.net
      timer: '2022-01-15 00:00 6h'

    worlds:
      enabled: false

      # Should the list below be a whitelist (true)
      # or a blacklist (false)?
      whitelist: true

      # A list of worlds that these events will work
      # in (whitelist) or not work in (blacklist).
      list:
        - 'world'
        - 'world_nether'
        - 'world_the_end'


  any-name-you-want:
    # What events should be included in this module?
    exp-events:
      - 'killing-players'
      - 'killing-animals'
      - 'killing-monsters'

    cooldown:
      enabled: false
      time: 5

    limiter:
      enabled: false
      amount: 250
      timer: '2022-01-15 00:00 12h'

    worlds: {}

earn-exp.yml

This file contains all EXP earning settings. These settings are used to determine how much EXP a player earns when performing a specific action.

earn-exp:
  timed-giving:
    general:
      enabled: false
      # Interval in seconds.
      interval: 360
      # Earns between 2 and 5 exp (random integer).
      exp: 1, 3
      includes:
        enabled: false
        # Disable whitelist to use blacklist.
        whitelist: false
        # For the following permissions.
        list:
        - permission.no.exp
    specific-permissions:
      # These WILL stack on the ones above.
      enabled: false
      permissions:
      - 'permission.vip: 2, 4'
      - 'permission.mvp: 3, 5'
  
  dying:
    general:
      enabled: false
      # Loses between 2 and 5 exp (randomly).
      exp: -2, -5
      includes:
        enabled: false
        whitelist: false
        # Does not gain EXP for the following players.
        list:
        - permission.no.exp
    specific-permissions:
      # These WILL stack on the ones above. Could be
      # used to reduce EXP loss for special users.
      enabled: false
      permissions:
      - 'permission.vip: 1, 2'
      - 'permission.mvp: 2, 3'
  
  damaging-players:
    general:
      enabled: false
      # Earns between 2 and 5 exp (random integer).
      exp: 2, 5
      includes:
        enabled: false
        whitelist: false
        # Does not gain EXP for the following players.
        list:
        - MD_5
        - Kihsomray
    specific-players:
      # These WILL stack on the ones above.
      enabled: false
      players:
      - 'CroaBeast: 2, 4'
      - 'ThiccPickle: 3, 5'
  
  damaging-animals:
    general:
      enabled: false
      # Earns 1 exp.
      exp: 1
      includes:
        enabled: false
        whitelist: true
        # Does not gain EXP for the following mobs.
        list:
        - CHICKEN
        - BUNNY
    specific-animals:
      # These WILL stack on the ones above.
      enabled: false
      animals:
      - 'COW: 1, 2'
      - 'SHEEP: 1, 2'
  
  damaging-monsters:
    general:
      enabled: false
      # Earns between 1 and 3 exp (random integer).
      exp: 1, 3
      includes:
        enabled: false
        whitelist: false
        # Only gains EXP for the following mobs.
        list:
        - PHANTOM
        - CREEPER
        - SPIDER
    specific-monsters:
      # These WILL stack on the ones above.
      enabled: false
      monsters:
      - 'SPIDER: 1, 2'
      - 'CREEPER: 1, 2'
  
  killing-players:
    general:
      enabled: false
      # Earns between 2 and 5 exp (random integer).
      exp: 2, 5
      includes:
        enabled: false
        whitelist: false
        # Does not gain EXP for the following players.
        list:
        - MD_5
        - Kihsomray
    specific-players:
      # These WILL stack on the ones above.
      enabled: false
      players:
      - 'CroaBeast: 2, 4'
      - 'ThiccPickle: 3, 5'
  
  killing-animals:
    general:
      enabled: false
      # Earns 1 exp.
      exp: 1
      includes:
        enabled: false
        whitelist: true
        # Does not gain EXP for the following mobs.
        list:
        - CHICKEN
        - BUNNY
    specific-animals:
      # These WILL stack on the ones above.
      enabled: false
      animals:
      - 'COW: 1, 2'
      - 'SHEEP: 1, 2'
  
  killing-monsters:
    general:
      enabled: false
      # Earns between 1 and 3 exp (random integer).
      exp: 1, 3
      includes:
        enabled: false
        whitelist: false
        # Only gains EXP for the following mobs.
        list:
        - PHANTOM
        - CREEPER
        - SPIDER
    specific-monsters:
      # These WILL stack on the ones above.
      enabled: false
      monsters:
      - 'SPIDER: 1, 2'
      - 'CREEPER: 1, 2'
  
  placing:
    general:
      enabled: false
      exp: 1
      includes:
        enabled: false
        whitelist: false
        list:
        - DIRT
        - GRASS_BLOCK
        - SAND
        - STONE
        - NETHERRACK
    specific-blocks:
      enabled: false
      blocks:
      - 'DIAMOND_ORE: 4, 6'
  
  breaking:
    general:
      enabled: false
      exp: 1
      includes:
        enabled: false
        whitelist: false
        list:
        - DIRT
        - GRASS_BLOCK
        - SAND
        - STONE
        - NETHERRACK
    specific-blocks:
      enabled: false
      blocks:
      - 'DIAMOND_ORE: 4, 6'
  
  # Also known as 'eating'
  consuming:
    general:
      enabled: false
      exp: 1, 1.25
      includes:
        enabled: false
        whitelist: false
        list:
        - CARROT
        - BAKED_POTATO
        - MUTTON
    specific-items:
      enabled: false
      items:
      - 'GOLDEN_APPLE: 4, 6'
  
  moving:
    general:
      enabled: false
      exp: 1, 2
      includes:
        enabled: false
        whitelist: false
        list:
        - permission.no.exp
    specific-permissions:
      enabled: false
      permissions:
      - 'permission.vip: 1, 2'
      - 'permission.mvp: 2, 3'
  
  crafting:
    general:
      enabled: false
      exp: 1, 2
      includes:
        enabled: false
        whitelist: false
        list:
        - CRAFTING_TABLE
        - OAK_PLANKS
        - WOODEN_PICKAXE
    specific-items:
      enabled: false
      items:
      - 'DIAMOND_BLOCK: 10, 15'
  
  brewing:
    general:
      enabled: false
      exp: 1, 4
      includes:
        enabled: false
        whitelist: false
        list:
        - BLINDNESS
        - HUNGER
    specific-potions:
      enabled: false
      potions:
      - 'SPEED: 1, 3'
      - 'HEAL: 1, 2'
      - 'FIRE_RESISTANCE: 3, 4'
  
  enchanting:
    general:
      enabled: false
      exp: 1, 4
      includes:
        enabled: false
        whitelist: false
        list:
        - PROTECTION-4
        - UNBREAKING-2
    specific-enchantments:
      enabled: false
      enchantments:
      - 'KNOCKBACK-1: 1, 3'
      - 'LURE: 1, 2'
      - 'LOYALTY: 3, 4'
  
  fishing:
    general:
      enabled: false
      exp: 3, 5
      includes:
        enabled: false
        whitelist: false
        list:
        - COD
        - SALMON
        - STRING
    specific-fish:
      enabled: false
      fish:
      - 'COD: 2, 3'
      - 'SALMON: 2, 3'
      - 'STRING: 1'
  
  breeding:
    general:
      enabled: false
      exp: 4, 6
      includes:
        enabled: false
        whitelist: false
        list:
        - CHICKEN
    specific-animals:
      enabled: false
      animals:
      - 'SHEEP: 2, 3'
      - 'DOG: 2, 3'
      - 'COW: 1'
  
  # When a player sends a message, it will check if a
  # player has a keyword containing the word in the
  # included list or specific words (case-insensitive).
  chatting:
    general:
      enabled: false
      exp: 4, 6
      includes:
        enabled: false
        whitelist: false
        list:
        - oh hi mark
    specific-words:
      enabled: false
      words:
      - 'HELLO: 1, 2'
      - 'AWESOME: 1, 2'
      - 'OBAMA: 5'
  
  # When a player gains EXP in the vanilla leveling
  # system, this event will trigger. You can set how
  # much EXP players will earn within CyberLevels
  # based on how much they earned in the vanilla system.
  vanilla-exp-gain:
    general:
      enabled: false
      exp: 0.75, 1.25
      includes:
        enabled: false
        whitelist: false
        list:
        - 1
        - 2
    specific-amounts:
      enabled: false
      # If a player earns 5 via vanilla system, they
      # will earn between 2 and 3 EXP in CLV for the
      # first example below.
      amounts:
      - '5: 2, 3'
      - '6: 2.25, 3.25'
      - '7: 2.5, 3.5'
  
  # Used for RivalHarvesterHoes
  rivalhh-breaking:
    general:
      enabled: false
      exp: 1
      includes:
        enabled: false
        whitelist: false
        list:
        - POTATO
        - BEET_ROOT
    specific-blocks:
      enabled: false
      blocks:
      - 'CARROT: 4, 6'

levels.yml

This file contains all level settings. These settings are used to determine how much EXP a player needs to level up.

levels:

  # What level and experience should players start with? This will
  # also be treated as the minimum level/exp a player can get to.
  starting:
    level: 1
    experience: 0

  # Maximum level a player can achieve.
  maximum:
    level: 25

  # {level} {playerEXP} {maxLevel} {minLevel} {minEXP}
  experience:

    # What general formula should each level's requirements follow?
    # Can be a formula or just a number. Refer to internal placeholder
    # mentioned above experience.
    general-formula: '25 * {level}'

    # Specific level requirements. Overrides general formula for
    # specific levels. All levels without specific formulas/values
    # will follow the general formula.
    level:
      1: 250
      2: '{level} * 25'

      # This is an example to show you what you can do with CLV,
      # please adjust it to your standards as it may produce a
      # weird output.
      3: 'sin(1) + ({minEXP} / {level}) + {maxLevel} * 2'

rewards.yml

This file contains all reward settings. These settings are used to determine what rewards a player receives when leveling up.

rewards:
  name-of-reward:
    commands:
      - '[player] spawn'
      - '[console] eco give {player} 500'
    messages:
      - '[player] &dGood job!'
      - '[player] [actionbar] &7Level &d{level}'
      - '[player] [title] &dLevel Up!<n>You are now level {level}'
      - '[C] &d{player} &7has reached &d{level}&7!'
    sound:
      sound-effect: ''
      volume: 1
      pitch: 1
    levels: '1, 8'

  reward-2:
    commands:
      - '[player] spawn'
      - '[console] eco give {player} 700'
    messages:
      - '[player] &dGood job!'
      - '[player] [actionbar] &7Level &d{level}'
      - '[player] [title] &dLevel Up!<n>You are now level {level}'
      - '[C] &d{player} &7has reached &d{level}&7!'
    sound:
      sound-effect: ''
      volume: 1
      pitch: 1
    levels:
      - 9
      - 10
      - 11
      - 12
      - 13

lang.yml

Every plugin needs a language file. This file contains all language settings. You can set up your own language file or use this default one made in english.

messages:
  prefix: '&d&lCyber&f&lLevels &8»&r'
  no-permission: '&cYou don''t have permission to do that!'
  help-player:
  - '[C] &8&m―――――――&8<&d&l Cyber&f&lLevels &8>&8&m―――――――'
  - '      &8➼ &d/clv about &fAbout the plugin.'
  - '      &8➼ &d/clv help &fSee the help menu.'
  - '      &8➼ &d/clv info &fSee level progress.'
  - '[C] &8&m――――――――――――――――――――――――――――――――'
  help-admin:
  - '[C] &8&m―――――――&8<&d&l Cyber&f&lLevels &8>&8&m―――――――'
  - '      &8➼ &d/clv about &fAbout the plugin.'
  - '      &8➼ &d/clv help &fSee the help menu.'
  - '      &8➼ &d/clv reload &fReload the plugin.'
  - '      &8➼ &d/clv info [<player>] &fSee level progress.'
  - '      &8➼ &d/clv addEXP <amount> [<player>] &fIncrease a player''s EXP balance.'
  - '      &8➼ &d/clv setEXP <amount> [<player>] &fSet a player''s EXP balance.'
  - '      &8➼ &d/clv removeEXP <amount> [<player>] &fDecrease a player''s EXP balance.'
  - '      &8➼ &d/clv addLevel <amount> [<player>] &fIncrease a player''s level.'
  - '      &8➼ &d/clv setLevel <amount> [<player>] &fSet a player''s level.'
  - '      &8➼ &d/clv removeLevel <amount> [<player>] &fDecrease a player''s level.'
  - '[C] &8&m――――――――――――――――――――――――――――――――'
  
  progress:
    bar: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    complete-color: '&d'
    incomplete-color: '&7'
    end-color: '&7'
  
  reloading: '&7Reloading...'
  reloaded: '&aReloaded!'
  auto-save: '&aSuccessfully auto-saved all player data (&7{ms}ms&a).'
  added-exp: '&aAdded {addedEXP} to {player}''s experience. They are now level {level}
    with {playerEXP} experience.'
  set-exp: '&aSet {player}''s experience to {setEXP}. They are now level {level} with
    {playerEXP} experience.'
  removed-exp: '&aRemoved {removedEXP} from {player}''s experience. They are now level
    {level} with {playerEXP} experience.'
  added-levels: '&aAdded {addedLevels} to {player}''s level(s). They are now level {level}
    with {playerEXP} experience.'
  set-level: '&aSet {player}''s level to {setLevel}. They are now level {level} with
    {playerEXP} experience.'
  removed-levels: '&aRemoved {removedLevels} from {player}''s level(s). They are now
    level {level} with {playerEXP} experience.'
  player-offline: '&cThe player {player} is not online!'
  not-number: '&cThat is not a number!'
  level-info:
  - '[C] &8&m―――――――&8<&d&l Level&f&lStats &8>&8&m―――――――'
  - '[C] &7Player: &f{player}'
  - '[C] &7Level: &f{level}&7/&d{maxLevel}'
  - '[C] &7EXP: &f{playerEXP}&7/&d{requiredEXP} &7[&f{percent}%&7]'
  - '[C] &7[{progressBar}&7]'
  - '[C] &8&m――――――――――――――――――――――――――――――――'
  gained-exp: '[actionbar] &d+{gainedEXP} EXP'
  lost-exp: '[actionbar] &c-{lostEXP} EXP'
  gained-levels: '[actionbar] &d+{gainedLevels} Level(s)'
  lost-levels: '[actionbar] &c-{lostLevels} Level(s)'
  top-header: '[C] &8&m―――――――&8<&d&l Top &f&lPlayers &8>&8&m―――――――'
  top-content: '&f[{position}] &d{player}&7: &7level: &f{level}&7, exp: &f{exp}'
  top-footer: '[C] &8&m――――――――――――――――――――――――――――――――'

leaderboard-placeholders:
  no-player-name: '&c-'
  no-player-level: '&c-'
  no-player-exp: '&c-'
  loading-name: '&6loading...'
  loading-level: '&6-'
  loading-exp: '&6-'

Leaderboard
Level colors