Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
EasyLevels
A simple, highly customizable job/level plugin for Minecraft. Supports Spigot/Paper 1.18–1.21+.
✅ Folia Support (Important)
Full Folia support via runtime detection + reflection scheduler adapter. On Folia, all player-entity related logic (attributes, permissions, messages) is executed on the corresponding entity thread to avoid thread-safety violations.
Note: Folia does NOT have a traditional main thread.
Do NOT call internal methods like addExp / setExp from async threads directly.
For developers: use Folia’s entity scheduler or the plugin’s built-in scheduler adapter when working from source.
Create a complete job & level system within minutes: custom jobs, exp sources, exp tables, and level-up rewards.
Features
- Unlimited custom jobs, each with its own config file
- 12 types of exp gain sources
- Level rewards: commands, money, points, attribute boosts, permissions
- Optional level-down system that automatically reverts attributes & permissions
- Anti-farm cooldowns for same-player kills & same-block breaks
- Single-server: SQLite or MySQL
- Network: MySQL + Redis (cache only, no pub/sub, no distributed locks)
- PlaceholderAPI support
- Full language file support with PAPI variables
- & color codes + HEX colors (&#RRGGBB)
Dependencies
- Vault (optional) — money rewards
- PlayerPoints (optional) — points rewards
- PlaceholderAPI (optional) — placeholders
Database Modes
- Single-server: SQLite or MySQL
- Network: MySQL + Redis (cache + TTL renewal)
Installation
- Put into
pluginsfolder and start the server - Configure database in
plugins/EasyLevels/config.yml - Customize jobs in
plugins/EasyLevels/jobs/ - Use
/el reloadto apply changes
Commands
Alias: /el
Permission: easylevels.admin (default: OP)
/el reload— Reload all configs/el jobs <job> <player> exp add <amount>— Add exp/el jobs <job> <player> exp reduce <amount>— Remove exp/el jobs <job> <player> exp set <amount>— Set exp/el jobs <job> <player> level add <amount>— Add level/el jobs <job> <player> level reduce <amount>— Remove level/el jobs <job> <player> level set <amount>— Set level
All commands support full tab completion.
Permissions
easylevels.admin— Admin commands (OP)easylevels.jobs.<jobId>— Access to a specific job
Players with the permission can gain exp for that job. Multiple jobs are supported.
PlaceholderAPI Variables
%easylevels_jobs_number%— Number of unlocked jobs%easylevels_jobs_<jobId>_level%— Level of a job%easylevels_jobs_<jobId>_exp%— Current exp%easylevels_jobs_<jobId>_nextexp%— Exp needed for next level
Config & Language
- Main config:
config.yml - Language files:
lang/<code>.yml - Messages support both
{variable}and%papi_variable% - Supports & colors and HEX colors (&#RRGGBB)
Attribute & Reward System
attributes: Added toAttributeInstance.baseValue- Snapshot system saves attribute state for cross-server sync
permissions: Granted on level-up, revoked on level-down
EasyLevels(中文)
简单、高度自定义的 Minecraft 职业等级插件。 支持 Spigot/Paper 1.18–1.21+。
✅ 已支持 Folia(重要)
通过运行时检测 + 反射调度适配层完整兼容 Folia。 在 Folia 环境中,所有涉及玩家实体(属性、权限、消息)的逻辑都会自动切换到对应实体线程执行,避免线程安全问题。
注意: Folia 没有传统主线程。 请勿在异步线程直接调用 addExp / setExp 等内部方法。 二次开发请使用 Folia entity scheduler 或插件提供的调度适配。
几分钟即可配置完整职业等级体系:自定义职业、经验来源、等级经验表、升级奖励。
功能一览
- 无限自定义职业,每个职业独立配置文件
- 12 种经验获取方式
- 升级奖励:指令、金币、点券、属性加成、权限
- 可选降级机制,自动收回属性与权限
- 防刷冷却:同玩家击杀、同位置破坏限制
- 单服:SQLite / MySQL
- 群组服:MySQL + Redis(仅缓存,无发布订阅、无分布式锁)
- PlaceholderAPI 变量支持
- 语言文件支持 PAPI 变量
- 支持 & 颜色码 + HEX 颜色(&#RRGGBB)
依赖
- Vault(可选)—— 金币奖励
- PlayerPoints(可选)—— 点券奖励
- PlaceholderAPI(可选)—— 变量支持
数据库模式
- 单服:SQLite 或 MySQL
- 群组服:MySQL + Redis(缓存 + TTL 续期)
安装
- 放入 plugins 文件夹,启动服务器
- 在
plugins/EasyLevels/config.yml配置数据库 - 在
plugins/EasyLevels/jobs/编辑职业 - 使用
/el reload重载
指令
别名:/el
权限:easylevels.admin(默认 OP)
/el reload— 重载所有配置/el jobs <职业> <玩家> exp add <数量>— 增加经验/el jobs <职业> <玩家> exp reduce <数量>— 减少经验/el jobs <职业> <玩家> exp set <数量>— 设置经验/el jobs <职业> <玩家> level add <数量>— 增加等级/el jobs <职业> <玩家> level reduce <数量>— 减少等级/el jobs <职业> <玩家> level set <数量>— 设置等级
所有指令支持 Tab 自动补全。
权限
easylevels.admin— 管理员权限(OP)easylevels.jobs.<职业ID>— 允许使用该职业
玩家拥有权限后即可获取该职业经验,支持多职业。
PAPI 变量
%easylevels_jobs_number%— 已解锁职业数量%easylevels_jobs_<职业ID>_level%— 指定职业等级%easylevels_jobs_<职业ID>_exp%— 当前经验%easylevels_jobs_<职业ID>_nextexp%— 下一级所需经验
配置与语言
- 主配置:
config.yml - 语言文件:
lang/<code>.yml - 消息同时支持
{变量}与%PAPI变量% - 支持 & 颜色与 HEX 颜色(&#RRGGBB)
属性与奖励说明
attributes:增量修改玩家AttributeInstance.baseValue- 属性快照系统跨服同步
permissions:升级自动授予、降级自动收回


