Commit Graph

150 Commits

Author SHA1 Message Date
tastybento
1a7d48a0ec Fixes issue with null placeholder error
https://github.com/BentoBoxWorld/Level/issues/159
2020-06-26 15:44:03 -07:00
tastybento
a6be22bfe5 Fixes bugs introduced by code smell fixes. 2020-06-25 19:17:39 -07:00
tastybento
73fad8a808 Added main class methods for backward compatibility 2020-06-21 19:15:43 -07:00
tastybento
56530cecc1 Added locale for AdminLevelStatusCommand 2020-06-21 18:47:10 -07:00
tastybento
d5c4e3a53c Bug fixes from sonar cloud. 2020-06-21 18:21:53 -07:00
tastybento
08b7c99c3f Complete rewrite to enable pipelining.
Adds ability to scan chest contents.
2020-06-21 17:54:51 -07:00
tastybento
c19ae41cbb Removes islands from Top Ten when admin deleted.
Fixes https://github.com/BentoBoxWorld/Level/issues/155
2020-06-13 08:05:33 -07:00
tastybento
f78b2c8231 Update to 1.14 BentoBox API
Uses shorter table names in SQL databases.
Uses async saving methods.
2020-06-10 20:49:28 -07:00
tastybento
0a768b0648 Adds some protection around TopTen generation.
Maybe related to https://github.com/BentoBoxWorld/BSkyBlock/issues/312

It appears that the map is being corrupted due to multithreading, but
it's not clear where that is happening.
2020-05-01 16:43:09 -07:00
tastybento
b92d412f0a Implements better value command
Checks world value

Fixes https://github.com/BentoBoxWorld/Level/issues/148
2020-04-21 17:24:30 -07:00
tastybento
0a4b0af931 Check that config sections exist before trying to copy them. 2020-04-20 13:46:58 -07:00
tastybento
b2811edf99 AIR had value of 1 instead of 0 in the config. 2020-04-20 07:59:13 -07:00
tastybento
a5abd10678 Fixes placeholders. 2020-04-19 15:49:16 -07:00
tastybento
fe6ad81141 Added conversion to use blockconfig.yml 2020-04-19 15:17:34 -07:00
tastybento
c463170fdd Removed uncaching as async saving can cause race condition
Fixed tests.
2020-04-19 14:02:45 -07:00
tastybento
6e64d274e8 Shifted to separate block and config settings. 2020-04-19 10:46:41 -07:00
tastybento
e93e606b02 Removed deprecated placeholders 2020-04-19 09:06:32 -07:00
tastybento
40681190c1 Remove null cache values
https://github.com/BentoBoxWorld/Level/issues/126
2020-02-01 20:24:08 -08:00
tastybento
82cbb487de Fix LevelTest 2020-02-01 19:56:28 -08:00
Dalton Burchard
f779f0ca95 Add support for Wild Stacker (#124)
* Add support for Wild Stackers (Blocks Only)

* Shorten my recent commit, modified checkBlock method slightly to not pass full BlockData; rather just the Material that is used in the method
2020-01-28 08:32:52 -08:00
tastybento
1de94afe7e Adds the ability to override the level in the IslandLevelCalculatedEvent
https://github.com/BentoBoxWorld/Level/issues/125
2020-01-24 17:06:30 -08:00
tastybento
fe0f084781 Adds performance tweaking settings to config.yml
https://github.com/BentoBoxWorld/Level/issues/122
2020-01-16 13:44:23 -08:00
tastybento
ccc3ef65be Backwards compatibility restored.
Fixes https://github.com/BentoBoxWorld/Level/issues/119
2020-01-11 09:12:59 -08:00
tastybento
d8b838cc36 Makes result of the IslandLevelCalculatedEvent easier for plugins to get
https://github.com/BentoBoxWorld/Level/issues/118
2020-01-10 16:22:44 -08:00
tastybento
187e491bea Updated to BentoBox 1.11.0 API
Fixes https://github.com/BentoBoxWorld/Level/issues/117
2020-01-10 14:05:00 -08:00
tastybento
1791108ef6 Removed invalid javadoc character 2020-01-10 14:01:56 -08:00
Florian CUNY
816a077ddd Removed the warnings for deprecated placeholders 2019-12-31 11:07:44 +01:00
Gabriele C
3edb12581d Fix top10 placeholders (#110) 2019-12-24 15:45:28 +01:00
tastybento
eba6e11ec9 Revert "Use enum map"
This reverts commit 09583aa3a7.
2019-12-19 11:40:33 -08:00
tastybento
09583aa3a7 Use enum map 2019-12-18 14:45:15 -08:00
tastybento
5c9c84c98a Removed condition that always waa true. 2019-12-18 13:27:59 -08:00
tastybento
002da7594f Addresses issue with null targets and visited island placeholder
https://github.com/BentoBoxWorld/Level/issues/106

Added Level test class.
2019-11-30 18:30:08 -08:00
Florian CUNY
cc1cca1453 Fixed the "deprecated" messages for topten placeholders 2019-11-23 15:19:56 +01:00
Florian CUNY
dae58b8dff Added the new top ten placeholders
Level_[gamemode]-island-top-name-# -> Level_[gamemode]_top_name_#
Level_[gamemode]-island-top-value-# -> Level_[gamemode]_top_value_#
2019-11-23 14:55:58 +01:00
Florian CUNY
801bfe6a39 New name for the level placeholder; added visited island level placeholder
Implements https://github.com/BentoBoxWorld/Level/issues/103
2019-11-23 14:45:21 +01:00
Florian CUNY
8181fbc431 "Deprecated" current placeholders (their name need to be changed) and their implementation 2019-11-23 14:43:24 +01:00
Josh
0eb3881a56 add throttle to calculate chunks (#102)
* add throttle to calculate chunks

* dont think the synchronized is needed
2019-11-22 20:21:01 -08:00
tastybento
b3d82a6456 Adds back in nether and end level calcs.
https://github.com/BentoBoxWorld/Level/issues/101
2019-11-19 13:06:29 -08:00
tastybento
255711afa4 Fixed bugs and removed code smells. 2019-11-16 19:19:03 -08:00
tastybento
05437ca14a Added admin top remove command to remove players from top ten
https://github.com/BentoBoxWorld/Level/issues/98
2019-11-16 18:56:33 -08:00
tastybento
d6117e69d8 Properly deletes hidden players from top ten
https://github.com/BentoBoxWorld/Level/issues/98
2019-11-16 17:24:11 -08:00
tastybento
838507cc4a Uses BentoBox 1.9.0 API for PaperLib 2019-11-16 15:31:58 -08:00
tastybento
d4c9bd654d
Uses PaperLib to get chunks async (#95)
* Uses PaperLib to get chunks async.

Appears to work fine on regular Spigot too.

* Removes config settings not required anymore.

* Future is on main thread, so do calcs async

* Implements multi-threaded level calculation.

* Remove debug from version
2019-11-15 19:31:58 -08:00
tastybento
e383f79e3e Remove loadchunk from chunk snapshot. 2019-11-10 15:06:30 -08:00
tastybento
4e33df1927 Added forced chunk loading back in. 2019-11-09 20:51:41 -08:00
tastybento
55f6a124bf Does not save chunks on unloading. 2019-11-09 20:34:12 -08:00
tastybento
91a69adae1 Split out Results class. 2019-11-09 20:09:16 -08:00
tastybento
dda2e66548 Fixes code smells 2019-10-30 16:29:42 -07:00
Florian CUNY
e428d52a45
Use Addon#logWarning() instead of BentoBox's logger 2019-09-07 14:29:58 +02:00
tastybento
94114c65e1 Fixes reporting of world-specific block values in console 2019-08-17 10:28:50 -07:00
tastybento
8e2f4a4b5e Fixes bug where island world settings in config were not used
https://github.com/BentoBoxWorld/Level/issues/80
2019-08-16 19:07:13 -07:00
BONNe
0bd5bd4d10 Add ability to specify delay between each task that checks and loads chunks for level calculation. (#76)
Add ability to specify how much chunks should be loaded at the same tick.
2019-08-13 10:11:41 -07:00
tastybento
39de2b9cc8 Adds shorthand level presentation for large level values.
https://github.com/BentoBoxWorld/Level/issues/52
2019-08-08 17:12:12 -07:00
tastybento
d49859bc78 Adds level calculation on login option.
https://github.com/BentoBoxWorld/Level/issues/36
2019-08-08 16:30:10 -07:00
tastybento
d5e5410b6c Enabled option to include nether and end islands in level calc
https://github.com/BentoBoxWorld/Level/issues/40
2019-08-08 16:04:07 -07:00
tastybento
76cfc506fb Allows AIR to have value
https://github.com/BentoBoxWorld/Level/issues/73
2019-08-07 08:07:19 -07:00
tastybento
cb2ea7dc5b Completed test cases for TopTen 2019-08-01 22:37:29 -07:00
tastybento
b950177ead Fixed permission bug where players were not added to top ten
https://github.com/BentoBoxWorld/Level/issues/71

Added test case classes - still a WIP
2019-07-31 23:32:20 -07:00
tastybento
da83f66f8c Avoids loading chunks when preparing the island level calc
https://github.com/BentoBoxWorld/Level/issues/68
2019-07-25 21:04:36 -07:00
tastybento
4fe46bd1a9 Cleans up top ten list 2019-07-10 08:08:26 -07:00
tastybento
5adf2a3ef9 Fixes death counts for new islands.
Relates to https://github.com/BentoBoxWorld/Level/issues/63
and
https://github.com/BentoBoxWorld/BentoBox/pull/817
2019-07-06 11:45:58 -07:00
tastybento
908027e6ba Adds support for double slabs.
https://github.com/BentoBoxWorld/Level/issues/64
2019-07-06 10:31:42 -07:00
tastybento
1e1e53cf57 Fixes bug where materials in config showed in report.
Calculation was still zero, but the materials should just show in the
last part of the report.
2019-06-20 18:08:36 -07:00
tastybento
d811b30d3f Fix unknown player [name] bug
Version up.
2019-06-20 18:01:26 -07:00
tastybento
392e22e366 Make world names case insensitive
https://github.com/BentoBoxWorld/Level/issues/59
2019-06-20 17:25:20 -07:00
tastybento
671e17398e Fix for level setting with different sized islands.
https://github.com/BentoBoxWorld/BentoBox/issues/709
2019-05-29 00:12:33 -07:00
tastybento
bcfb5f2155 Merge remote-tracking branch 'origin/master' into develop 2019-03-12 19:38:43 -07:00
tastybento
bb21dbb266 Added protection for unowned islands
Islands can become unowned during the async island level calculation
process.
2019-03-10 17:47:05 -07:00
BONNe
e011c2ef3f Add TopTenRequestHandler (#46) (#48)
Add new data Request Handler for Level add-on, which requires world-name in input and returns:
- empty map, if input is invalid
- LinkedHashMap from TopTenData object for given world.
2019-02-27 14:14:20 -08:00
Poma123
8add41c140 Add value command (#47)
* Add value command
2019-02-27 14:13:17 -08:00
tastybento
ddbe806af5 Fixes a load of bugs.
https://github.com/BentoBoxWorld/Level/issues/41
https://github.com/BentoBoxWorld/Level/issues/44
https://github.com/BentoBoxWorld/Level/issues/45
2019-02-21 19:56:44 -08:00
tastybento
bf965277c3 Changes config.yml to enable hooking into any gamemode
When upgrading, must delete config.yml to get new version.

Also changes placeholder names to be prefixed with GameModeAddon name in
lower case. e.g, %bskyblock-island-level%

https://github.com/BentoBoxWorld/Level/issues/39
https://github.com/BentoBoxWorld/BentoBox/issues/322
https://github.com/BentoBoxWorld/Level/issues/27
2019-02-03 22:30:27 -08:00
tastybento
e1dc26fa86 Saves level data when a player does level
https://github.com/BentoBoxWorld/Level/issues/38
2019-02-03 09:36:26 -08:00
tastybento
97fb434244 Added top ten placeholders 2019-02-02 21:43:27 -08:00
tastybento
d4e1bbf0bd Fixes exploit where players could get duplicate top ten entries
https://github.com/BentoBoxWorld/Level/issues/22

Requires 1.3.0 or later BentoBox because it listens for new events fired
by that version.
2019-02-02 20:44:15 -08:00
tastybento
708997237c Without debug code
https://github.com/BentoBoxWorld/Level/issues/27
2019-02-02 12:33:16 -08:00
tastybento
8eaca607d8 Added level placeholder
This requires BentoBox 1.3.0

This needs testing with plugins that use placeholders.
2019-02-02 12:31:14 -08:00
tastybento
05ebb4c283 Uses new GameMode API
See https://github.com/BentoBoxWorld/BentoBox/pull/472
2019-01-15 19:35:08 -08:00
tastybento
d0305e3d7e Updated to 1.1-SNAPSHOT
Removed deprecated command classes.
2019-01-13 18:51:46 -08:00
tastybento
8510f413f5 Added defensive code around null UUIDs
Relates to:
https://github.com/BentoBoxWorld/BentoBox/issues/447
2019-01-07 07:29:03 -08:00
tastybento
28e6ea4377 Version up.
Cleaned up JavaDoc
2019-01-03 10:27:20 -08:00
tastybento
e8f1f07104
Merge pull request #32 from BONNe/cooldown
Implement CoolDown for calling level method.
2019-01-03 09:52:25 -08:00
BONNe1704
de2052acb4 Revert changes that resets user death count. 2019-01-02 15:03:22 +02:00
BONNe1704
c2778960b3 Merge branch 'develop' of https://github.com/BentoBoxWorld/Level into develop 2019-01-02 15:02:47 +02:00
Florian CUNY
0894c2e248 Revert "Added death resetting."
This reverts commit 1121bbcbb5.
2019-01-02 13:22:44 +01:00
BONNe1704
23fd210fd3 Implement CoolDown for calling level method. 2019-01-02 12:15:41 +02:00
BONNe1704
e7cc3c7c50 Implement sumTeamDeaths, maxDeaths and deathPenalty.
Improved calculating death penalty. Death count now checks if it must include teamDeaths.
maxDeaths now is working, as deathHandicap will be set to minimal value from it and current deathCount.
Change level and pointsToNextLevel calculation. Now it will remove deathCount * deathPenalty points from rawBlockCount and use new value to calculate current level and points till next one.
2019-01-02 11:19:29 +02:00
BONNe1704
4a73534570 Implement TeamJoinDeathReset.
Add TeamJoinEvent listener that checks if TeamJoinDeathReset is enabled and resets player death count.
2019-01-02 11:11:31 +02:00
tastybento
1121bbcbb5 Added death resetting.
Untested...

https://github.com/BentoBoxWorld/Level/issues/30
2019-01-01 22:59:00 -08:00
Florian CUNY
b7aec5b0eb Added LevelRequestHandler (island-level) 2018-12-23 21:20:15 +01:00
Florian CUNY
456e278d11 Fixed admin topten display 2018-12-23 21:05:55 +01:00
Florian CUNY
8703e7c262 Moved and renamed commands (deprecated old ones) 2018-12-23 21:03:08 +01:00
Florian CUNY
f270402fca Made the island top command "only player" 2018-12-23 20:48:03 +01:00
Florian CUNY
dc2cc515f8
Merge pull request #29 from BONNe/master
Fix issue #24
2018-12-23 20:45:28 +01:00
BONNe
4f384989bb Fix issue when /bsbadmin top returns weird string. Relates to issue #24.
In lang file was missing admin.topten variable.
2018-12-18 01:17:24 +02:00
BONNe
c40c9c4044 Fix crash reported in #24.
GUI will be opened only if caller is player.
2018-12-18 00:41:56 +02:00
tastybento
71de55b3bd Lists related event in keyValue list.
https://github.com/BentoBoxWorld/bentobox/issues/352

Rather than overriding the existing getEventName() method for Events, I
decided to keep it as a key-value reference.
2018-12-08 23:20:57 -08:00
tastybento
67fa9e31e4 Updated to latest BentoBox version and API 2018-12-01 19:34:08 -08:00
tastybento
5eea419746 Uses a trial generic event to expose add-on data as K,V pairs. 2018-11-25 22:29:45 -08:00
Florian CUNY
70d29e62ae The Flattening & renamed the addon "Level" instead of "BentoBox-Level" 2018-10-31 14:09:56 +01:00