Add custom leveling systems to your server completely separate from the vanilla exp/level system.
1.1.0
This update is MASSIVE, seeing huge performance gains, myriad bug fixes, and new features. I tried my best to write out this changelog to the best of my memory, referencing my commits, but it is entirely possible I missed a few things. Regardless, everything major should be here:
Bug fixes:
- Fixed several issues related to the database management that led to exp gains being dropped by adding a player data cache. The data stored in this cache is periodically saved to the database instead of saved in realtime (default: every 5 minutes). The interval is custotmizable in the config.
- Fixed a bug that caused the Addsystem command to fail when used on a player's first join
- Fixed a bug that caused level ups to fail when exp was gained from a chat message
- Fixed an error message that was thrown when the level-up-msg was empty even when lvl-up-msg was disabled
- Fixed a bug that caused exp multipliers to not be added properly
- Fixed a bug that caused the plugin to freeze the server when a player's exp reached below 0
- Fixed a bug that caused an error message when milestones were disabled
- Fixed a bug that caused players to gain exp when damaging Armor Stands and other entities.
Changes:
- The plugin now handles most processes asynchronously, which should lead to a boost in server performance.
- The commands /sl set/add/remove exp/level have been rearranged to now read /sl exp/level set/add/remove for consistency. The permissions have not changed.
- Permissions checks now use the brigadier requirements instead of the old-fashioned method, meaning that the commands will no longer show up as usable commands if a player does not have permission to use it.
- There is now an update checker which will inform users when there is a new version of the plugin available.
New Features:
LevelSystem Commands:
An entire new set of commands starting with /ls (instead of /sl) allow you to create, edit, and save your level systems all in-game without needing to modify the configs.
Boosters:
Boosters are timed exp multipliers that are applied server-wide. They use a new command (/sl OR /ls booster) which takes a system, a multiplier, and a duration. Using the command multiple times adds more boosters to the queue, so when the first one runs out, the next one starts immediately after. Booster multipliers are applied MULTIPLICATIVELY to the system and player multipliers (EXP gain * (system multiplier + player multipler) * booster)
Player Multipliers
You can now give individual players their own exp gain multiplier using the /sl setMultiplier command. This multiplier is ADDED to the system's multiplier.
Pause/Unpause
You can now pause and unpause players' gains in your level systems rather than removing them from the systems and deleting their progress. This id done via the commands /sl pause and /sl unpause
Progress Command
You can now view a player's progress to the next levels by running the command /sl progress. This command shows a bar in chat that provides a visual demonstration of the player's progress to the next level. Their current exp, the exp required for the next level, and the percentage of completion to the next level are all also displayed.
LuckPerms Integration
You can now specify luckperms permissions as milestone rewards rather than having to use the commands to apply luckperms permissions. Doing this means your server admins won't get spammed by luckperms edit messages and the new permissions apply MUCh faster.
Placeholder API Integration
You can now use Placeholder API placeholders in the plugin's messages. The plugin now also has its own PAPI extention built into the plugin itself, which provides a ton of new placeholders for you to use elsewhere in your server. See the Wiki for more details.