1. Replace unnecessary statement lambda to expression lambda (without the {} when only one expression is present)
2. Change map.get(i) == null ... to map.computeIfAbsent
3. Simplifies comparators
Fix#148
Fixed multiple PluginData issues
Fixed ViaVersion being compiled into final jar
Fixed GMTimesTable get multiple method
Fixed Playerlist being sorted the wrong way (Oldest players shown
instead of most recent)
Permission Group table
PluginData objects now use API#getUserDataInspectCache instead of
getOfflinePlayer (It was slow) - Using FakeOfflinePlayer when
OfflinePlayer is required.
Abstracted CommandSender
New Player UserData Creation optimized
Added Importer for players who haven't joined after Plan was installed.
Added Timings to Status command
Importing now temporarily disables Analysis
BenchmarkUtil now not static
Players Table (On analysis page) now limited to last 3000 players due to
browser performance hit with higher numbers.
GMTimes now saved & Get more efficiently (Batches & Single query)
Fixed#144
Added #138 (ASkyBlock PluginData)
Added perm groups for #131
Fixed extra space before tables appearing
Total now indicated (Plugindata) with a "Total " modifier.
Added config setting for disabling minotaur player heads from analysis
page
Split tps graph axes to left & right
Added TimeAmount enum (BukkitPluginDependency)
New Utility jar BukkitPluginDependency contains new classes that include
methods & classes usually required for me to start creating a project,
such as:
- Version check
- Abstract command classes (For subcommands & commands w/ subcommands)
- UUIDFetcher
- Log utility
- Benchmarking
It was tested with Plan to ensure it works.
It will be used in the future to lower the threshold of starting a new
project.
Split dependencies into another project to make forking easier in the
future.
Implemented & Fixed:
#129#130#124#123#126
Did research work for
#74#128
(Won't be implemented)