- Changed "Plan has run into error..." to include error type
- More attempts to fix#26
- Null checks for uuid
- Now not saving userdata when uuid = null
- If uuid = null, data will not be fetched.
Removed Charts4j from the plugin, and moved to Chart.js javascript graph
rendering library - this almost halved the jar size, and analysis might
have gotten a tiny performance boost (Graph rendering delegated to
browsers).
- The new graphs are more accurate, and you can hover over the graphs to
view more in-depth detail about the data.
- This update allows possible multiple lines in one graph in future
updates.
Updated Phrase & Html to include every message that was not yet
available. Updated locale files will be uploaded to github As soon as
possible.
Before they are uploaded using the config locale setting will
malfunction.
"Factions land is reported incorrectly. One of my factions (for OPs) has
only one member in testing, so power 10, but 71 chunks (OPs can claim
more chunks than power allows). Plan reports land = 10. How does Plan
determine faction holdings?"
Yeah fixed that.
- Fix for #17:
Schema now updated properly
- Fix for #18
Hooks to other plugins no longer cause NPE if plugin is not found.
(Added another constructor that sets isEnabled to false)
- Fix for #19
Removed debug message and replaced with continue;
- Fix for #20
Made new player creation async
Made inspect & search commands async
- Better error handling & logging. Implemented for SQLDB.java - other
catch clauses yet to be changed.
This was done mainly to be able to run Debugger tests on it.
Bugfixes:
- DB Auto-Commit bug #12 fixed
- New DB creation was no-longer execption free after adding throws
clauses, fixed that.
Bugs:
- SQLException: The prepared statement has been finalized when closing
database on disable, cause yet unknown
- "___ added to cache" called 5-6 times when player joins
Untested:
- Events
- SessionData
- KillData
- Does DB save everything or just plan_users
UnImplemented:
- Location adding in baches
- Location data getting seperately for analysis, not saved to UserData
to speed up get.
- http://www.kryogenix.org/code/browser/sorttable/
- Player data table
- Player session length
- Player online activity graph, week
- PlanLite features
- Changed the way UserData is cached so that it is cached asyncronously.
#16
This was quite complex and I might have made mistakes so I will have to
test it properly.
- Location gathering temporarily disabled, will not be disabled in 2.6.0
when it is finished.
Bugs:
- NullPointerException when data is cleared from cache.
- Might be the reason that kick was not saved when player was kicked.
- DB in auto-commit mode for some reason. Too tired to figure.
Untested:
- All Events
- Manage commands (might get in a infinite loop)
- Error causing UserData when calling a DBCallableProcessor (will be
tested with Debugger)
- SessionData
- KillData
UnImplemented:
- Location adding in baches
- http://www.kryogenix.org/code/browser/sorttable/
- Player data table
- Player session length
- Player online activity graph, week
- PlanLite features
- Fixed many cases where database might try to save empty data.
(Possible fixes to causes of #13#8)
- Fixed partially ConcurrentModificationException causes by adding
uData.setAccessing to SaveMultipleUserData
- Sped up Graph creation with functional operations
- Cleared remaints of ServerData
- Empty nickname no longer added to Nicknames
- SessionData now correctly saved
- Changed imports and packages to main.java.com.djrapitops.plan. (Should
have been done ages ago)
- Organized imports & removed unused imports.
- Removed remaints of ServerData
- Named a few tasks
- Empty nickname no longer added to Nicknames
- SessionData no longer cleared when DataCache clears data from cache
- Moved all imports and package declerations to correct form (Should
have done this ages ago) main.java.com.djrapitops.plan....
- Playerkills untested
- PlanLite analysis part disabled, will be replaced soon.
Known bugs:
- One empty nickname somehow manages to get into nicknames
- SessionData cleared when DataCache clears data from cache -
UnIntended. Will need a seperate save spot for current session data.
Fixes:
- Boot analysis no longer run if /plan analyze is used before boot
analysis
- Config now responds properly (with exception of colors) [Settings
Enum]
- Seriously revamped style of the html
- Added Html enum for better readability of the code
- Removed Jheatmap dependency
- Nicknames now have colors
- Moved some more things to Phrase
- Changed Phrase.parse to allow multiple values
Bugfixes:
- Socket server no longer requires refresh to properly load pages
- Plugin now reloads config when using /reload
- Fixed manage command not giving explanation for errors when database
connection is not establishable
- Fixed hotswap causing plugin reload to fail if database connection is
not establsihable.
- Added Phrase.GRABBING_DATA_MESSAGE to Analysis, Inspect & search
- Moved some methods from MiscUtils to DataCombineUtils
- Added Manage Import command that can be used to import data to the
database from other plugins. Currently supports only ontime.
- Added aliases to analyze and manage command
- Added OfflinePlayer object support to NewPlayerCreator
- Added database managment command:
- Copy & Overwrite data from one database to another (moving from one db
to another)
- Copy & Combine data from one database to another (in case both were
used)
- Remove player's data from the active database
- Clear a database
- Check what database is in use, also on info command. Also now told on
enable.
- Hotswap to another database, reloads plugin with new database set in
config
- Reload command now restarts the plugin, DOES NOT LOAD NEWLY PLACED JAR
- Fixed typo in search command arguments
- Import command for OnTime in PlanLite
- Recent Players
- Lists of players
- Location heatmap
- Investigate Bungee support possibility
- Make Analysis.java readable
- Move the data combine methods from MiscUtils to new class
- Database Cleaning
- Change database initiation message to include "connection"
- If you feel like it make better html
- 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)