Currencies & Leveling

EdTools allows you to create an unlimited number of custom currencies and leveling systems, each with their own commands, storage, and behavior.

Currencies

A currency is any custom point system you want to track, like Gems, Coins, or Tokens.

Creating a Currency

Create a new file in plugins/EdTools/currencies/. The filename serves as the currency's unique ID.

Example: currencies/farm-coins.yml

# The maximum value a player can hold. 0 means unlimited.
max-value: 0
# The amount players start with.
starting-value: 0
# The name used in messages and GUIs.
display-name: 'Farm Coins'

# Configure the associated command for this currency.
commands:
  main:
    permission: '' # Permission required for the base command.
    command: farmcoins
    aliases: [fc, fcoins]
  balance:
    permission: ''
    balance-other-permission: 'edtools.balance.others' # Perm to see others' balance.
  give:
    permission: 'edtools.balance.give'
  set:
    permission: 'edtools.balance.set'
  remove:
    permission: 'edtools.balance.remove'

Leveling Systems

A leveling system is a progression track that players can advance through, usually by spending a currency. It's perfect for things like prestiges, skill trees, or tool levels.

Creating a Leveling System

Create a new file in plugins/EdTools/leveling/. The filename is the system's unique ID.

Example: leveling/crop-level.yml

display-name: 'Crop Level'
starting-level: 1
# If true, the plugin will automatically attempt to purchase levels for the player
# as soon as they have enough of the required currency.
automatic-leveling: true

# Define rewards for leveling up.
rewards:
  for-each: # A list of actions executed on every single level up.
    - "[message] &aYou have reached &fLevel {level}&a."
  specific: # Actions executed only when reaching a specific level (e.g., level 4).
    4:
      - "[message] You unlocked a new feature at level 4!"
  interval: # Actions executed at intervals (e.g., 5, 10, 15, 20...).
    5:
      - "[message] You received a reward for reaching a multiple of 5 levels!"

# Define the cost to advance in this leveling system.
cost:
  currency: crop-blocks # The currency ID required.
  starting-cost: 100
  increase-cost-by: 50 # The cost increases by this amount each level.
  remove-currency: true # Whether to take the currency from the player on purchase.

# Configuration for the %..._bar_% placeholder.
bar:
  amount: 32 # Total number of characters in the progress bar.
  completed: "&e:"
  uncompleted: "&c:"

# Command configuration, similar to currencies.
commands:
  main:
    command: hoelevel
    aliases: [hlevel]
  # ... other command settings

Was this helpful?