[1.13-1.21] ~ RewardsLite | Customizable rewards with ease icon

[1.13-1.21] ~ RewardsLite | Customizable rewards with ease -----

A very customizable and lightweight plugin that gives rewards to players based on playtime.




- Fixed inventory bugs causing the plugin to not behave as expected.

Please use Rewardslite-3.1.10_bc-1.13-1.20.4.jar for Minecraft 1.20.4 and older.
----------, Aug 14, 2024

  • Added Spigot 1.21.1 support.
  • Created a quick fix for backwards compatibility
Please use Rewardslite-3.1.9_bc-1.8-1.20.4.jar for Minecraft 1.20.4 and older.
----------, Aug 14, 2024

- Fix a bug that broke the reward file upon restarting the server or reloading the plugin.
----------, Jul 1, 2024

- Fixed a bug where PaperMC wasn't able to load rewards anymore because of version checking.
- Fixed a bug where logging out could throw a playtime error.
- Updated the plugin to support Minecraft 1.21.
----------, Jun 14, 2024

Fixes
  • Fixed bug in re-generating reward files resulting in malformed YML.
  • Fixed bug resulting in HEX colors not being supported anymore.
----------, Jun 28, 2023

Updates
  • Added support for Minecraft version 1.20.x.
  • Updated the following dependencies to their latest version:
    • bstats
    • placeholderAPI
    • ConfigUpdater
    • EssentialsX
----------, Jun 27, 2023

Fixes
  • Fix disableGainingPlaytimeInWorlds reset bug
----------, Feb 2, 2023

FIXES
  • Having no permission for a command will now display an error message to that player.
  • Fixed the /rewardslite reload command not doing anything.
  • Fixed bug in the /playtop false command not reducing the playtime with the afktime when using the YAML storage type.
  • Fixed a bug with the rewards repository not being initialized correctly on reload.
  • Fixed a bug where the "Loaded <amount> rewards" message was not being displayed on reload.
CHANGES
  • Switched commands to a builder style design pattern.
  • Rewritten the playtime command to be much more straight forward.
  • Updated the update checker to check for both outdated and dev builds.
  • Added a warning for both outdated & dev builds warning the player to update or be cautious accordingly.
----------, Sep 2, 2022

FIXES
  • Fixed SQL Exception on the /playtop <afkincluded> command.
  • Fixed plugin reload only reloading online player cached data and not also offline player cached data.
  • Fixed missing ':' in the digital time representation between weeks & days.
  • Fixed spelling mistake in the config.yml.
  • Fixed the /rewardslite reset <player> <reward> command not reloading rewards and not counting down rewards for the player until next login.
  • Fixed a bug where the rewards interface wouldn't show rewards when logging out and back in while using LuckPerms.
CHANGES
  • Optimize plugin reloading.
  • Commands will now lookup offline players async resulting in a much smoother and more optimized experience when executing commands.
ADDITIONS
  • Disable plugin and show error on duplicate reward UUID to prevent player data progress loss and data corruption.
----------, Aug 23, 2022

CHANGES
  • The playtop command will now look at the countPreviousTowardsPlaytime configuration and lookup playtime accordingly (only for Minecraft 1.16 and up).
----------, Aug 14, 2022

FIXES
  • Broadcast notifications will now correctly replace the %player% placeholder with the player gaining the reward and not the player seeing the notification.
ADDITIONS
  • Added leaderboards for both playtime and AFK time with the /playtop and /afktop command. /playtop also has an optional parameter to include AFK time or not. The amount of players shown on the leaderboard can be adjusted in the config.yml file.
  • Added a new time unit limitation configuration in the config.yml which allows you to set a limit on what time displays will show. For example if set to MINUTES all time displays will show time in x minutes, x seconds. If set to DAYS, time displays will show as x days, x hours, x minutes, x seconds.
  • Added custom rewards ordering for the /rewards GUI. You are now able to choose how rewards will be ordered and displayed in the config.yml.
CHANGES
  • Time displays are now also able to display time in weeks instead of maximum days.
----------, Aug 13, 2022

FIXES
- Fixed a bug where the reset command would create a new player data object internally if the player being reset was online which would also count playtime, even when the player went offline afterwards.

CHANGES
- Rewards will now loop in ascending order based on playtime required for the reward while counting down.
----------, Aug 6, 2022

FIXES
  • Fixed the playtime command for self and target execution.
  • Fixed the rewards command for self and target execution.
----------, Jul 25, 2022

FIXES
  • Fix arguments lookup in all commands.
  • Fix playtime command for versions 1.15 and lower when no target was given.
  • Fix rewards command with target player returning rewards of command executor instead of target.
----------, Jul 25, 2022

FIXES
  • Commands no longer require capital perfect names to work.
----------, Jul 22, 2022

FIXES
  • Fixed the null pointer exception when converting data from LPR to RL (this time for real).
  • Fixed a small memory leak while converting LPR playerdata to RL.
  • Fixed the usage comment for the "disabledWorldRedeemWarning" message in the messages.yml file.
ADDITIONS
  • The update checker will now actually check for newer updates of the plugin and warn OP's accordingly.
CHANGES
  • Made commands more abstract, making it easier for me to create them.
  • Reordered the reward configurations. The display items and notifications will now be at the bottom of the file.
----------, Jul 22, 2022

FIXES
  • Fixed a nullpointer exception on data conversion from LPR to RL when an offline player data was cached.
  • Fixed "player has never played on this server before", even tho they definitely did, bug.
  • Fixed a bug where player data wouldn't save if a player joined the server for less then 5 minutes and didn't receive any rewards before logging out.
CHANGES
  • Reworked the way offline players were looked up whenever a command was used. The lookup should be faster and more precise and no longer create empty data.
----------, Jul 22, 2022

ADDITIONS
  • Added support for Minecraft version 1.8 - 1.17 on top of the 1.18 - 1.19 support the plugin already had.
FIXES
  • Fixed a bug where rewards which name contained capital letters would duplicate themselves.
----------, Jul 18, 2022

Updating to RewardsLite v3.0.0 is not just a drop and play experience. Setting up will be required to have the plugin up and running.
Ladies & gentlemen, the wait is finally over.
For the past year I have been working on RewardsLite 3.0.0 which is a complete overhaul of the LitePlaytimeRewards plugin. LPR was made as a start up project for learning Spigot plugin development, it turned out pretty good for that time but overall was very poorly optimized and didn't have a lot of features it should have had from the beginning.
That is why I chose to re-write the plugin from scratch now that I have much more experiencing in both programming as well as developing Spigot plugins.

That being said, what can you expect from RewardsLite in comparison to LitePlaytimeRewards?
Let's start off with the obvious, performance. RewardsLite is miles ahead of LitePlaytimeRewards in terms of performance, especially when working with a sizable rewards pool. On top of that asynchronous programming has been used by RewardsLite taking a big load off the main thread of your server.
Another big change people have been asking for years is MySQL. Yes, RewardsLite offers data saving to both YAML files as well as a MySQL database, with more options possibly following in the future.

It would be a bit much to write a whole essay about what RewardsLite has to offer over LitePlaytimeRewards so I'll narrow it down to a list of the most notable features down below:
  • Rewards:
    • Rewards are now configured one per file, not everything in a single configuration.
    • Rewards will get a unique ID assigned to them upon creation automatically. Making it possible to rename them without losing progress.
    • A display item can be configured for when a reward is counting down, has a pending claim, has already been claimed and cannot be claimed again and if the player is not eligible for it.
    • A much more detailed notification system has been made which allows multiple ways of communicating to your players that someone has received a reward or a reward is pending.
    • Allow both automatic as well as manual claiming of a reward.
    • Set a maximum amount a reward can be pending before it stops counting.
    • Set a maximum amount a reward can be redeemed before it goes inactive.
    • Disabled gaining playtime towards or redeeming rewards in certain worlds.
  • Miscellaneous:
    • YAML and MySQL storage options.
    • Reset command to reset a single (or all) rewards for a single (or all) players.
    • Automatically convert LitePlaytimeRewards data (both rewards and playerdata) to RewardsLite data.
    • Added support for PlaceholderAPI and also included placeholders of RewardsLite.
    • Rewards are now ordered by pending, then by time left and then by name.
    • The way play and afk time are used has been changed significantly.

FAQ

Q: Why RewardsLite, why not keep the old name?
A: In the future I would like to add different kind of rewards to the plugin which has nothing to do with playtime. Which is why I made the name more towards general rewards and not just playtime rewards.

Q: Can I convert my LitePlaytimeRewards data to RewardsLite?
A: Yes, RewardsLite has a convert command (/rewardslite convert) which will automatically convert your LitePlaytimeRewards rewards and playerdata to RewardsLite. It also has an option to automatically convert all YAML playerdata to MySQL.

Q: How do I create new rewards?
A: Creating a new reward is as easy as copying over the reward template (minus the generated section) to a new file and configure it how you want. Afterwards either a plugin reload or server restart is required for the plugin to pick up your new reward.

Q: What is the reward UUID?

A: A reward is uniquely identifiable by its ID and only by its ID. It is automatically generated upon creating a new reward, and should not be touched or copied over to a new reward. If so, the player data for that reward will be lost for all players.

Q: Can I change the file name without my players losing progress?
A: Yes, the filename only serves one purpose for the plugin, which is what the permission for your reward will be. The exact permission of your reward can be found in the generated section of your reward file.

Q: Can I change the rewards order in the /rewards GUI?

A: At the time of writing this, no. The rewards order is hard-coded although I am planning to add a configuration for this in the future.

Q: Why did it take you so long?
A: Free time baby, all free time I had went into this plugin (and a little towards gaming).
----------, Jul 17, 2022

Updated the plugin to support Minecraft 1.19. As well as update the dependencies of the plugin to their latest version. On top of that an attempt was made to fix the multiple bossbars appearing when someone received a reward.
----------, Jun 21, 2022

FIXES
- Fixed an IndexOutOfBounds exception on paginated interfaces such as rewards.
----------, Apr 20, 2022

FIXES
- Fixed possible nullpointer exception in the rewards interface.

ADDITIONS
- Added HEX color support thanks to Eliasegg.
----------, Apr 20, 2022

FIXES
  • LPR will no longer throw an error on startup when config updating.
----------, Dec 10, 2021

CHANGES
- The legacy config of LitePlaytimeRewards 2.3.x is no longer supported and rewards will no longer automatically copy over to the rewards.yml file.

FIXES
- Rewards will load in correctly after startup again.
----------, Dec 2, 2021

FIXES
- LPR will no longer give an error on startup saying it doesn't find a specific class.

I am very sorry for the triple small updates, did some quick rewrites of the project structure and didn't test thoroughly. It should be all fine now and no more (startup) errors should arise.
----------, Dec 2, 2021

FIXES
- LPR will no longer throw an error on startup claiming config wasn't found.
----------, Dec 2, 2021

UPDATES
- 1.18 support has been added.
- The messages.yml file will now update automatically.
----------, Dec 1, 2021

CHANGES
  • Updated the plugin to 1.17.
  • Minor changes to the code base.
----------, Jun 17, 2021

FIXES
  • Fixed a bug where if a reward was pending, but the player didn't have permission for it anymore, would still count down.
----------, Aug 11, 2020

FIXES
  • The CountAllPlaytime calculation of rewards will now check permissions.
  • The Rewards GUI will only show rewards that the player can claim or already has claimed.
----------, Aug 6, 2020

CHANGES
  • Rewards will now have to be configured in rewards.yml. Old versions will automatically have their rewards in the config.yml moved to the new file.
ADDITIONS
  • Rewards have a new option called "CountAllPlaytime". Setting this to true will give the reward to the player on next join for all the playtime he gained up until that point. Combining this with the global CountAllPlaytime config option will give the reward for ALL playtime, even the playtime from before the plugin was installed. The plugin will calculate how many times the player can claim the reward by looking at the playtime of that player, subtracting the afk time if afk time is not counted towards the reward, subtracting the amount already redeemed by the player and setting that amount in pending state. On top of that the time till next reward will also be calculated correctly afterwards.
  • Added the option "InventoryLayout" which allows the server to center the rewards in their GUI.
  • Added the option "RewardsOrder" which allows the server to choose a specific criteria to order the rewards on in the GUI.
  • The config file will now update itself to any new version. No configured options will be lost, conversion is automatic.
  • The rewards in the rewards GUI will now have a live countdown till next reward.
REMOVALS
  • The bstat option has been removed from the config. Disabling now requires you to disable it in the bstat config.
FIXES
  • Fixed a bug in reward claiming if the reward had exactly 0 ticks left to be claimed but the player wasn't eligible it would still countdown.
----------, Aug 6, 2020

FIXES
  • Fixed small bug where the /lpr reload command wouldn't reload the rewards of online players correctly.
----------, Jul 26, 2020

CHANGES
  • GUI's will not be limited to a size of 54 rewards anymore, if the reward count exceeds this number, a paged GUI will be made.
  • The plugin will now auto detect legacy versions (1.12) and change config settings accordingly.
  • GUI's layout have been changed drastically.
  • The GUI code has been cleaned up and made more performant.
REMOVALS
  • 1.12 version of the plugin has been removed. 1.12 servers may now use the normal version without problems.
  • Removed max invent size exceeded error from message file.
  • The /rewards <reward> command has been removed.
ADDITIONS
  • Added new config option 'BorderMaterial' to change the border material of GUI's.
----------, Jul 25, 2020

CHANGES
  • Layout for /lrp help | /lrp and command usage messages have been cleaned up.
ADDITIONS
  • Added console information on start up, the following logs have been added:
    • Creation of userdata file,
    • Creation of config file,
    • Creation of messages file,
    • Essentials installation status,
    • Specific error handling on wrongly configured config rewards,
    • Amount of correctly loaded rewards;
FIXES
  • Fixed bug where rewards would use config template for commands on being wrongly configured IF the reward had the name testreward or testreward2.
  • Fixed bug where commands couldn't be executed from the console.
----------, May 16, 2020

CHANGES
  • Complete command system overhaul.
    • Commands may now remind you what the command looks like on usage of wrong parameters.
    • Tabcomplete for boolean.
  • Times are now saved as Integers.
  • Spelling errors fix in messages.
  • Changed color of error messages to &c.
ADDITIONS
  • New commands:
    • /lpr - same as /lpr help.
    • /lpr help - Shows list of LPR commands.
    • /lpr reload - Reload config and messages files.
    • /lpr reset <reward> <player> - Resets the time of a reward for the given player.
  • Rewards have a new data field called eligible which was saved as -1 before this, making checks more performant.
FIXES
  • Fixed vital IndexOutOfBound error if playtime of rewards ran out and they were looping.
  • Config now checks if playtime values are not higher then Integer max value.
  • Config now checks if InventorySpacesNeeded is >= 0.
----------, May 12, 2020

CHANGES
  • Rewards having a pending state will no longer save every second.
FIXES
  • Fixed a bug where not looping rewards reset themselves and kept on looping on receiving the reward.
----------, May 8, 2020

ADDITIONS
  • Added playerdata cache.
  • Added playerdata cache time option to config.
  • Saved userdata will now fix itself if something happened to it (manually or programmatically).
  • Every message in the plugin can now be customized in the message.yml file.
CHANGES
  • Quiting the game while in the givereward GUI name typing state will no longer put you in the typing state on next join.
  • GUI items in the /rewards GUI will now display a message if the player has no permission to claim this reward.
  • The /givereward command is now able to give rewards to offline players if they have data on the plugin.
  • The /givereward command now returns a succes message on successful reward given.
  • Default display item of rewards has been changed to a chest.
  • Added color code hint to the display name config option.
FIXES
  • Fixed spelling error in permission (litplaytimerewards.rewards -> liteplaytimerewards.rewards)
  • Fixed error that would kick a player if child command was used with permission to the parent command but not the child command.
  • Fixed bug where players had to relog for reward permission changes to take effect.
  • Fixed a bug where a reward with a permission bound to it given to a player without this permission through the /givereward command and put into pending state didn't give the reward until next join.
  • Fixed tiny memory leak if player left the server with /givereward GUI open.
  • Fixed a bug where the display description of rewards wouldn't show color if color codes used.
----------, May 8, 2020

Changes
  • Inegrated bStats into the plugin for follow up.
  • Playtime commands now use statistics for tick perfect playtime if enabled in config.
  • Removed unnecessary version check on server start.
Fixes
  • Fixed NullPointerException thrown when playerdata had rewards saved that got removed from the config.
----------, May 2, 2020

Warning, updating to this version requires the user to generate a new config file and redo it. It will also require the user to remove the LitePlaytimeRewards/userdata folder. The plugin will not work otherwise!

That being said, I'm proud to announce the complete overhaul of LitePlaytimeRewards. It has been a long term goal of mine to redo this plugin from scratch and add many many many new features and fix broken/buggy/sloppy code. I strongly recommend updating to this version even if it loses your current userdata. The benefits, performance boost, new features you'll get outweigh it all!

Reading the home page of this plugin will give you a better overview of everything that has changed! Read carefully.
----------, May 2, 2020

Changes
  • Plugin will now check for older version on OP join (and if enabled) instead of on server start.
----------, Nov 27, 2019

Fixes
  • Fixed notifications and broadcast notifications not being able to contain essentials color codes.
  • Fixed link for update checker that would take you to this page.
----------, Oct 4, 2019

Features
  • Rewards may now check for empty inventory slots first before giving out the reward.

Fixes
  • Fixed reward looping bug, rewards set to not loop would still loop on first installation of plugin.
----------, Oct 4, 2019

  • Update checker resource ID fix
----------, Oct 3, 2019

Resource Information
Author:
----------
Total Downloads: 22,816
First Release: Oct 3, 2019
Last Update: Aug 14, 2024
Category: ---------------
All-Time Rating:
39 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings