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?