
AFK Rewards Premium 2.6.5.3
Boost player engagement, optimized for large-scale playerbase, best afk rewards plugin on market.
The host's ip has been changed. Use this version in order to make it work again.
New features:
- methods, you can now use the checking methods, they can either be optimized or check, put this in config.yml:
player_check_method: "optimized" # this checks the player's movement for when he enters a region, however sometimes he can't enter a region
# or use 'check' to automatically check all players every second (not as optimized as the first one)
Bugs fixed:
- On 1.8 each time you would leave the region you would get an error PLAY_ONE_MINUTE
- Another bug when leaving the region was when the player quit, now it's fixed
- Fixed some optimization issues
Features:
* You can now choose the format when the player enters/leaves a region:
regions:
type: titlescreen # you can also put titlescreen, chat or actionbar, this also goes for subregions, aka regions type = subregions type
entered: '&cYou &fentered &can afk region!'
left: '&cYou just &fleft &cthe afk region!'
Bugs fixed:
* When a player didn't have perm, you would get an error in the console, now it's fixed.
you can now use most of the /tplaytime commands in console
new settings inside playtime.yml
- Time format week update:
time_format:
week: " week, "
weeks: " weeks, "
...
- remove_playtime_inside_afk_region:
remove_playtime_inside_afk_region: false # after a player leaves a region, it will calculate the total time spent in there and remove the playtime he spent there
In some cases, when doing /tplaytime claim, the server would crash. It has been fixed.
You can now also use {timer} inside the title screen, also new placeholder: %afktimerseconds% --> shows the timer in seconds
New features:
* Player invisiblity, now you can make it so if there are too many players, activate invisiblity (reduces player lag)
* Global region override, now you can put like 5 regions in the same place and for each one give different rewards (good for donors)
* Subregions! That's right, subregions. Players with a specific block will now be able to have their own afk region at their own base! Wow, think of that. You can give custom subregions using the command /silentgive {player} {item} {amount} {true/false} if it's true then the block (only this case) will have at the end an "encrypted" lore line with the block id.
* And a lot more mini features which you won't notice but they add up :)
Bug fixes:
* I haven't found really that many bugs, just some minor ones. Also, cached a lot of variables A.K.A. optimization :)
Sometimes if the players glitched out of the rewards section without being removed from the region they would still be able to get rewards. Now it's fixed and logged.
After you reloaded the config by force, players wouldn't be able to re-enter the region, now they can :)
Now you can see each players when he left/entered a region and what rewards they've received too at what timestamp. This is useful because some players might lie about them not receiving any rewards from the afkzone. It's better to be safe with this! To activate/disable this feature, inside the performance section make logs : true/false (true by default)
The new rewarding system for afk regions is now released!
It is now 3x faster than the old one.
New features:
- instead of xp_usage_when_in_region, it's now block_xp_usage_when_in_region
Features:
* Now you can add ip limiters, a.k.a. only 1 player per ip receive rewards inside the afk region.
Bugs fixed:
* Default_afk_time would mess up with other timings so now it has been removed and replaced with ip_limit
* ShopGUI+ would give an error when the provider was registered
IMPORTANT FIX
Use dev_mode: true to check if a player has been registered into your region and many more things!
-
Initialization and Handling of Variables:
- Ensured that
commandData
is initialized before being used in loops. - Checked for null before processing
commandsSection
andregionSection
.
- Ensured that
-
HashMap Overwriting:
- Created a new instance of
commandData
for each region iteration to prevent overwriting data.
- Created a new instance of
-
Division by Zero:
- Added checks to avoid division by zero when calculating
ratio
.
- Added checks to avoid division by zero when calculating
-
Config Retrieval:
- Retained the structure of retrieving values from the
config
object.
- Retained the structure of retrieving values from the
-
Debugging and Logging:
- Left the
loggers
statement for debugging purposes. (if dev_mode=true)
- Left the
-
Data Copying and Isolation:
- Created new instances of lists and maps (
ArrayList
andHashMap
) when storing them incommandData
andtest
to avoid shared data. - Created deep copies of the
test
map to ensure complete isolation of data between regions.
- Created new instances of lists and maps (
-
Robustness and Defensive Programming:
- Added checks to ensure that null values are handled before processing.
Timeouts, if you are tired of players being AFK all day and only stay there to receive rewards (some may use bots) you can time them out a.k.a. teleport them anywhere u want or do anything u want with them after the player has received the reward N times
timeout:
times: 0
commands:
- msg {player} you have been timed out!
Dev mode, this is for debugging purposes only