- Some extension API implementation things refactored
- getOrDefault+put calls replaced with computeIfAbsent
using Maps#create, Lists#create
- stream().map(mapper).collect(toList/toSet) optimized
using Lists#map, #mapUnique
- stream().filter(by).collect(toList) optimized
using Lists#filter
Created bash scripts for different steps and added them as jobs for travis to execute.
Begun preparing system testing: Goal is enabling actual servers with the plugin to see if it enables
* Moved project files to 'common'-module
This is done so that refactoring into multiple smaller modules is easier
as the IDE will not attempt to move tests incorrectly when moving things
between different modules
* Created 'bukkit' module
Following classes were removed during the operation:
- BukkitServerInfo (Renamed to ServerServerInfo)
- SpongeServerInfo (could use ServerServerInfo)
- Hastebin (not viable on every platform, unused)
- HastebinTest
- MockPlayers (unused, bukkit specific)
Changes to classes:
- Renamed Importer to BukkitImporter (contained bukkit related impl.)
- Extracted Importer interface from BukkitImporter
- Turned BukkitPlanModule and BukkitClassBindingModule to interfaces by
using @Binds annotation
- Added Status class since PlayersOnlineListener had a boolean,
that stated if kicks were counted.
This commit completes split partially and was not pushed on commit.
* Created 'sponge' module
Changes to classes:
- Turned ServerSuperClassBindingModule, SuperClassBindingModule,
SpongePlanModule and SpongeClassBindingModule to interfaces by
using @Binds annotation
- Renamed SystemObjectBindingModule to SystemObjectProvidingModule
- Removed sponge related calls in ServerProperties
- Made EmptyImportSystem injectable
This commit completes split partially and was not pushed on commit.
* Changed shade configuration
Further tweaks required.
* Created 'bungeecord' module
Changes to classes:
- Removed use of BungeePingTimerTask in VelocityTaskSystem
- Removed use of RedisBungee in VelocityServerProperties
- Fixed bukkit command.commands.RegisterCommandFilter package
Changes to project structure:
- Dependency versions now in main pom via dependencyManagement
- Repositories now defined in main pom
* Created 'velocity' module
Changes to classes:
- Made RawDataResponse use Gson via reflection since it is no longer
available in dependencies of 'common' module
* Created 'plugin' module
This module is for creating a single deployment artifact and testing of
system interactions.
Fixes to tests:
- Reflection no longer fails to initialize if Bukkit.getServer() is null
- PingCountTimerBukkit no longer fails to be created if Reflection fails
- Removed unnecessary @AfterClass from H2Test
- Jar resource path fixes to Mocker
* Shading configuration
org.slf4j classes are relocated in 'common', 'bukkit' & 'bungeecord'.
In 'sponge' & 'velocity' they are not relocated, allowing injection
as plugin logger, while using slf4j-nop for HikariCP logging.
This allows single release artifact.
* Removed 'Icon' from .gitignore
* Attempt to fix test resources
Because all jar resources are located in 'common', an attempt to fetch
them is made to common/target/Plan-common.jar, which for some reason
is a bad path.
This attempts to remedy that by creating a temporary file from an
InputStream, read with Class#getResourceAsStream
Ignored HTTPSWebServerAuthTest as the certificate path was invalid for
some reason.
* Add check for the server key
* Fix Kill Detection when the player is killed by an Arrow
* Change some WorldTimes methods
* Fixes#260
Fixes JavaDoc at MathUtils
* Fix Error
* Fix Error
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)
- Updated javadocs partially complete
- Fixed possible memory leaks from the queues
- Fixed a bug where new player didn't save to the cache.
- Stable enough for release.
- Bugfix for #2 (Catch for NoSuchFieldError, null checks)
- Database now uses Batch processing with Commanduse, IPs, Nicknames &
Locations. Also used when saving whole cache.
- Uncommented Location gathering and swapped the location saving to use
batch processing. TODO: Worlds table
- Added placeholders for top lists & recent players to analysis &
planlite.html
TODO:
- Worlds Table
- Links to players
- New HashMaps in Analysis for recent players
- InspectCache clear multiper
- InspectCache clear task check. (Time value for each task)
- Moved to Maven project to solve dependencies
- > Added Chart4j (Google Charts) to render graphs and pie charts.
- More AnalysisUtils
- Added GMTimesChartCreator
Created two copies of the project, and left plugin yml with version so
version checking on current versions will not break.
Plan Lite:
- Current version
- Uses plugins to get the data
Plan Advanced:
- Will be almost complete rewrite of the plugin.
- Will be released as Plan 2.0.0 when ready
- Current Plan will be released as Plan Lite 1.6.3 when rewrite is
complete.
- Will gather data and save it
- Better consistency and Time axis to analysis.
- Better analysis, possibly web page creation for results
- Support for Plan Lite
- More options
Added attempt to determine if undefined data is usable
Bugfixes:
- Removed faulty towny import from Search
- Analysis now calculates averages from data point amount instead of
player amounts
- "-p" and playername removed from search arguments when -p is used