Level Addon refuses to calculate using new values
RebelDs opened this issue · 3 comments
Expected behavior
We changed some of the values in order to balance the leveling system. We expected islands to have their level recalculated at least when players used the /ob level command.
Observed/Actual behavior
Most players lost their entire level. Some didn't; the difference? We really don't know, there's nothing specific about either group.
For quite some time, the Level addon refused to even add islands to the queue. When players used the ./is level command, they were told to wait for an estimated 10 seconds. We checked with ./oba levelstatus, no islands were added to the queue. We added the block values per world and now the islands are indeed added to the queue, but without a change whatsoever.
Steps/models to reproduce
- With the default block values, create some 80-120 islands
- Change the block values to only allow valuable blocks (diamond blocks, gold blocks, etc) to have any significant value.
- Try to recalculate the islands' value.
BentoBox version
[15:42:58 INFO]: Running PURPUR 1.16.5.
[15:42:58 INFO]: BentoBox version: 1.16.2
[15:42:58 INFO]: Database: JSON
[15:42:58 INFO]: Loaded Game Worlds:
[15:42:58 INFO]: world_oneblock (OneBlock): Overworld
[15:42:58 INFO]: Loaded Addons:
[15:42:58 INFO]: AOneBlock 1.7.0 (ENABLED)
[15:42:58 INFO]: Border 3.1.1 (ENABLED)
[15:42:58 INFO]: Chat 1.1.4 (ENABLED)
[15:42:58 INFO]: Level 2.6.5-SNAPSHOT (ENABLED)
[15:42:58 INFO]: Likes 2.1.1 (ENABLED)
[15:42:58 INFO]: Limits 1.15.5 (ENABLED)
[15:42:58 INFO]: Warps 1.10.2 (ENABLED)
Plugin list
[15:43:09 INFO]: Plugins (58): AdvancedEnchantments, ajLeaderboards, AntiSpamKick*, ArmorStandTools, asCMD*, BattlePass, BentoBox, BungeeGuard, BuycraftX, ChatColor2, CMI, CMIEInjector*, CMILib, CombatLogX, Confiscate, CrazyAuctions, CrazyCrates, DeluxeCoinflip, DeluxeMenus, DeluxeSellwands, DeluxeTags*, eGlow, EmptyOptimizer*, Fly*, Jobs, JoinAndLeaveDisabler*, LagAssist, LiteBans, LPX*, LuckPerms, Marriage, Minepacks, NBTAPI, Originalgiveall*, PlaceholderAPI, PlayerPoints, PlugMan, ProtocolLib, Quests*, Scyther, ShopGUIPlus, Shopkeepers, SilkSpawners, SlotMachine, spark, SuggestionBlocker, TAB, TradeSystem, UltimatePassiveMode, Vault, ViaVersion, VoteParty, Votifier, WorldBorderAPI, WorldEdit, WorldGuard, WorldGuardDisableCollisions, WorldGuardExtraFlags
Other
Here's the current block values file we're using. I should specify that there are not errors whatsoever in our console, especially regarding BentoBox and/or the level addon.
Well, if you reduced the value for blocks that are a lot on players' islands, then it is expected that the island level will fall.
Level "value" is updated only when the player calls /[player_cmd] level
command or when the admin does it for him. Maybe players with huge level have not updated their island level (called command)?
You can use the console to see a detailed report about island level calculation with the command:
/[admin_cmd] level <player>
It would be useful to see these results too, so we could see if there are any issues with calculation.
Although we tried using obadmin (we use the oneblock gamemode) level in order to have the plugin recalculate the island level, we did a quick experiment with the following results (commands ran from the console):
obadmin level travis <----we tried to calculate his level
[16:12:27 INFO]: Calculating level...
[16:12:27 INFO]: Estimated wait: 10 seconds <---- No matter how many islands there are in the queue, the ETA is always 10s
[16:12:28 INFO]: [0✫] Alpha travis »caps off
[16:12:36 INFO]: [0✫] Alpha travis »asa <------ Around 10 seconds passed, still no change (the number near the star icon)
obadmin levelstatus
[16:12:46 INFO]: Islands in queue: 0 <----- No islands in queue anymore
[16:13:39 INFO]: [0✫] Alpha travis » a <---- a minute later, still no change in level.
I should note that the expected level for this player would be around ~8-9k, for example, so it's not a problem of whether they have anything on the island worth calculating or not.
Usually, when this happens there is some bug or error that is happening in the async calculation that doesn't make it to the console. I've noticed this with Bukkit and I'm not sure why it doesn't get reported.
I did try to see if I could replicate the issue but I couldn't. I suspect it's something to do with either your world or database. May I get a copy of them to test? I'd need a zip of the whole of the BentoBox folder and the world_aoneblock. Depending on the size, either email it or stick it on Dropbox or somewhere. You can send me a link at tastybento@wasteofplastic.com if you don't want to publish the link. I'll then try and replicate it and see where the error is happening.