Commit Graph

1426 Commits

Author SHA1 Message Date
Fuzzlemann
e5a8bc1213 Inlines unnecessary local variables 2017-07-23 14:13:14 +02:00
Fuzzlemann
b091e13ad5 Replaces 'if' statements with && or || where possible 2017-07-23 14:10:41 +02:00
Fuzzlemann
f1ae1c3f8f Removes redundant casts and array creations 2017-07-23 14:07:47 +02:00
Fuzzlemann
0f14efbc46 Simplifies 'if' statements 2017-07-23 14:04:55 +02:00
Fuzzlemann
a45f092208 Replace String concatenation in loop with StringBuilders 2017-07-23 13:54:24 +02:00
Fuzzlemann
7337801124 Replaces Arrays.asList with Collections.singletonList when only one argument is present
This change saves resources
2017-07-23 13:53:10 +02:00
Fuzzlemann
5cf5eaf1ad Replaces .compareTo with Long.compare when possible 2017-07-23 13:51:54 +02:00
Fuzzlemann
8a90f60142 Further migration to Java 8 and more things
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
2017-07-23 13:51:00 +02:00
Fuzzlemann
cb860d16f4 Replace unnecessary lambda with Method References 2017-07-23 13:47:15 +02:00
Fuzzlemann
1decc82957 Adds annotation @SafeVarargs in the Setup class
Replace Collections.sort() with #List.sort()
2017-07-23 13:44:29 +02:00
Fuzzlemann
6966ed2206 Replaces 'for' and 'while' loops with 'foreach' 2017-07-23 13:41:37 +02:00
Fuzzlemann
7e03c1dcc0 Fixes NullPointerException at parse by checking if the line is null instead of checking if the line is empty 2017-07-23 13:36:18 +02:00
Risto Lahtela
16aabd16ee 3.5.4 2017-07-23 13:09:31 +03:00
Risto Lahtela
407cdf987e Merge branch 'master' of github.com:Rsl1122/Plan-PlayerAnalytics 2017-07-23 08:24:36 +03:00
Risto Lahtela
93e8f8a3a7 Fix #174 #173 (Temporary fix) #151 2017-07-23 08:24:10 +03:00
Rsl1122
7c04533c88 Update config.yml 2017-07-22 17:03:20 +03:00
Risto Lahtela
8c72202657 3.5.2 2017-07-22 11:33:38 +03:00
Risto Lahtela
c17693331b 3.5.1 2017-07-09 16:13:29 +03:00
Risto Lahtela
42035bfabb 3.5.0 2017-07-09 09:38:28 +03:00
Rsl1122
e6b941e85d Refactoring of RslRunnable, #150, pluginbridge jar 2017-07-07 15:40:22 +03:00
Rsl1122
b274f1ded8 Bugfixes, More in depth enable debug & benchmark messages
Fix #152
Fix #153
2017-07-05 11:46:03 +03:00
Rsl1122
4cbc00d87d Code Cleaning
Cleaned code up to DBCallableProcessor (com.djrapitops.plan.cache)
2017-07-04 23:48:19 +03:00
Rsl1122
8cf22de4b6 Improvements & Fix #147
- RslPlugin v1.4.0
- RunnableFactory
- Prevented a collision if multiple RslPlugin implementations are
installed.
- Queues now wait for each other.
2017-07-04 11:24:50 +03:00
Rsl1122
b0045077f6 Bugfixes
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)
2017-06-30 14:13:53 +03:00
Rsl1122
b7963a1f03 PluginData for SuperbVote, LiteBans, ViaVersion
#131
#125
2017-06-30 13:34:56 +03:00
Rsl1122
cfe876580f More PluginData, Abstractions, Import Offline players, Optimizations
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)
2017-06-29 22:18:53 +03:00
Rsl1122
d03d0836a1 Automatic PluginData config section, GriefPrevention data
Implemented #132
Implemented N.5 of #125

Moved debug log header to BukkitPluginDependency
Task disabling to BukkitPluginDependency
2017-06-28 13:24:14 +03:00
Rsl1122
64dd0b5a20 Fixes & PluginData objects
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)
2017-06-27 13:44:32 +03:00
Rsl1122
ab326343e6 Fixed TPS math 2017-06-27 00:17:38 +03:00
Rsl1122
47391ece51 TPS Graph & Collection fixed
Finished implementing #98
2017-06-26 16:10:29 +03:00
Rsl1122
c17c1c5171 TPS collection, array generation. API methods, 3rd party speedups.
- Deprecated Condition, will be removed
2017-06-22 13:01:29 +03:00
Rsl1122
9bbb0b49c3 Didn't add this to last commit for some reason 2017-06-20 13:58:06 +03:00
Rsl1122
18a0d26fc5 TPS table, fixes
Fixed #135
Added process info for db
New batch split method
Craftbukkit no longer needs a local install (added spigot repo)
2017-06-20 13:57:44 +03:00
Rsl1122
754d437fd9 Moved to new abstracted task system to add Status command. 2017-06-19 14:02:50 +03:00
Rsl1122
386f62b35f Implementing things
#136 #135 #122
2017-06-16 16:08:35 +03:00
Rsl1122
7949113f6e Moved to use new utility package, attempts at #113
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.
2017-06-15 15:14:51 +03:00
Rsl1122
6d0819fc45 Split Dependencies to another project, 3.4.3 implementation
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)
2017-06-12 23:03:16 +03:00
Rsl1122
bbbe47982c [3.4.2] 2 api methods 2017-06-07 10:15:39 +03:00
Rsl1122
2feb291f11 Version increment to 3.4.2 2017-06-06 19:28:20 +03:00
Rsl1122
5cfc1b5954 Issue template, some log cleanup 2017-06-06 19:27:10 +03:00
Rsl1122
05d86e6cb8 Some refactoring, Command Usage save change, Bugfix
Fix #120
2017-06-06 18:42:02 +03:00
Rsl1122
1ce28cc486 Added Max players scale disable option. 2017-06-05 14:12:36 +03:00
Rsl1122
d4ff5dd899 Merge remote-tracking branch 'origin/Version-3.4.2-or-3.5.0' into Version-3.4.2-or-3.5.0
# Conflicts:

#	Plan/src/main/java/com/djrapitops/plan/ui/graphs/PunchCardGraphCreator.java
2017-06-05 13:35:32 +03:00
Rsl1122
f8d8054d13 Implementing suggestions
Implemented #118 #117 #116
2017-06-05 13:33:48 +03:00
Risto Lahtela
b22a5ed298 Merge pull request #119 from Rsl1122/master
Forgot to sync, pulling update from master
2017-06-05 13:32:59 +03:00
Rsl1122
59c38305b8 Fix #112 2017-06-05 11:44:11 +03:00
Rsl1122
d18c4acaff Small improvements, Refactored queues 2017-06-04 13:41:25 +03:00
Rsl1122
04b749c792 Fix #110 2017-06-03 17:32:50 +03:00
Rsl1122
a7b76f9315 Documentation update 2017-06-03 13:36:47 +03:00
Rsl1122
0b061f0a5e Unique Players, Outlier removal, Gender pie removed 2017-06-03 12:58:14 +03:00
Rsl1122
a2af65349a Refactoring, Export utility, bugfixes
- Optimized Advanced Achievements PluginData objects with method
introduced in AA 5.2.0
- Fixed some plugindata objects displaying as empty
- localStorage -> sessionStorage on html pages
2017-06-02 13:04:24 +03:00
Rsl1122
a92da9a503 Count Up Javascript to both pages., javadoc
Fix #107
Added #106 #105
2017-05-31 12:41:56 +03:00
Rsl1122
c5d35b4445 [3.3.0] Optimizations & Customization settings
Fix #101
Add #104 #99 #103 #100
2017-05-30 15:36:16 +03:00
Rsl1122
fe57e7b1fc Added Jobs & McMMO support 2017-05-28 13:46:09 +03:00
Rsl1122
35c75daf9e Merge branch 'master' into 3.2.1 2017-05-23 23:16:21 +03:00
Rsl1122
6e3d75621c Added Suggestion #96 - Web pages now mobile friendly 2017-05-23 23:10:05 +03:00
Rsl1122
d6fbeeb560 Improved punchcard, added session distribution barchart, bugfixes
Fix #88
2017-05-22 16:24:19 +03:00
Rsl1122
f69f9ee372 Punchcard for inspect page & Bugfixes
Fix #90
2017-05-22 00:39:32 +03:00
Rsl1122
4345b30f78 Added save & get multiple methods to tables, bugfixes
Fix #92 #91 possibly #88
2017-05-20 09:45:15 +03:00
Rsl1122
aa827ffe04 Refactoring & Bugfixes to PluginData objects 2017-05-15 19:06:46 +03:00
Rsl1122
1df9eb1fd8 Javadocs about 50% complete. 2017-05-14 15:19:33 +03:00
Rsl1122
9b7677e072 [3.1.0] Removed unnecessary files from git dir, API & doc for API, bugfixes 2017-05-12 13:03:23 +03:00
Rsl1122
c1c77b55a8 Bugfixes
Fix #87
Fix #85
Fix #81
Added suggestion for changing green colors from #65
2017-05-11 20:56:31 +03:00
Rsl1122
a75447a77b New Html, Fixed the new data addition system for other plugins. 2017-05-11 20:27:01 +03:00
Rsl1122
7892d695f9 Changed the 3rd party plugin structure
- Untested
- New Tab required
- HtmlUtils replace utility required for new plugin data.
2017-05-10 16:45:55 +03:00
Rsl1122
2c45aa60fc [3.0.2] Bugfix
Fix #84
2017-05-09 20:19:32 +03:00
Rsl1122
7f7e4e925a [3.0.1] Fix #83 2017-05-09 17:17:50 +03:00
Rsl1122
617d4f580c Replaced getPlugin(Plan.class) with Plan.getInstance(), removed mocks for getPlugin. 2017-05-08 20:48:14 +03:00
Rsl1122
877d063ffa [3.0.0] Update notification push 2017-05-08 13:57:08 +03:00
Rsl1122
0cacc495ad [3.0.0] Release
- 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.
2017-05-08 13:28:19 +03:00
Rsl1122
ccb2498d38 Bugfixes, identified possible database bug (Refactor caused)
Fix #78 #73 #79

- database might not be giving correct results for user id.
2017-05-01 12:35:23 +03:00
Rsl1122
e46dcfa535 More fix attempts, refactored the SQLDB class 2017-05-01 11:45:02 +03:00
Rsl1122
db71a98f8f Added Debug logging to figure out the bugs
Attempted to fix bugs, failed.
2017-04-29 11:49:16 +03:00
Rsl1122
59021f815c Added Qinspect and Qanalyze commands, found bugs
- Sessions sometimes reset
- Playtime not correctly calculated.
2017-04-28 16:57:00 +03:00
Rsl1122
d6a6d5e20b Bugfixes & Some javadoc
- Fixed all issues with saving, data is now saved accurately.
- Ready for pull request
2017-04-28 15:05:47 +03:00
Rsl1122
58ca5f9d2c Changed how permissions are used internally 2017-04-19 16:59:48 +03:00
Rsl1122
504ab5dd73 Probably fixed session saving 2017-04-12 09:08:17 +03:00
Rsl1122
7c90a66a98 Back to 2.9.3 to allow merge 2017-04-10 20:08:44 +03:00
Rsl1122
12f3d31525 Changed the pool to a BlockingQueue, Broke Session saving
Fix #75
2017-04-10 20:07:44 +03:00
Rsl1122
c95260bd1f More tests for the new Processing
Pit report:
Total - 29% line coverage & 22% mutation coverage (1236/4253 & 436/1982)
The new processing - 75% & 77%

One class to test before testing cache
After that tests on the server and merge.
2017-04-10 14:52:09 +03:00
Rsl1122
d0ee96b3ab New Event Processing system.
Pit Report:
Total - Line coverage: 1157/4258 (27%) | Mutation: 399/1978 (20%)
New test areas:
- The new processing system: 55% and 51%
- Database: 53% and 45%

New processing system pools event information and processes it every 60
seconds.
Testing & Timings required
2017-04-10 09:09:54 +03:00
Rsl1122
af8616a208 More mock & test fixes 2017-04-04 21:31:13 +03:00
Rsl1122
39ed2de9dd Fixed most of the already written tests with Mocking
**Pit**
Line coverage: 613/4256 (14%)
Mutation coverage 181/1975 (9%)

Next step is to mock scheduler to be able to test database with unit
tests.
2017-04-03 21:55:33 +03:00
Rsl1122
de28ed4612 [2.9.3] Fixed colors for commands
Ignored all tests because they will require getConfig method to be
mocked. (Settings Enum requires config, Phrase uses Settings for color
codes)
2017-04-02 12:41:01 +03:00
Rsl1122
f53d041f9e [2.9.2] Fix #72 #71 2017-04-02 12:13:46 +03:00
Rsl1122
110057684e More tests and changes to allow more tests 2017-04-01 13:40:48 +03:00
Rsl1122
0feef90973 Added some unit tests & Pit and Checkstyle tools 2017-03-31 20:34:21 +03:00
Rsl1122
aaae83cb0a [2.9.1] Bugfixes
Fixed #70 #69 #68 #67 #66 #64
- Changed some things to use Map instead of HashMap
2017-03-31 16:41:49 +03:00
Rsl1122
769fc0d27e Update Class Diagram.xml 2017-03-31 12:16:00 +03:00
Rsl1122
42f7503e55 Update Class Diagram.xml 2017-03-27 19:33:15 +03:00
Rsl1122
5740cab768 Update Class Diagram.xml 2017-03-27 15:01:02 +03:00
Rsl1122
2732549b82 Update Class Diagram.xml 2017-03-27 13:50:26 +03:00
Rsl1122
15e4140100 Added Class Diagram.xml 2017-03-27 12:25:05 +03:00
Rsl1122
e593588c86 [2.9.0] Release 2017-03-23 11:15:39 +02:00
Rsl1122
9e6c342f89 [2.9.0-DEV] Bugfixes
Fix #61 #58 #56 #57 #59
- Fixed GamemodeTimesHandler giving NPE if a gamemode is null.
- Fixed ArrayOutOfBounds if sessions is empty.
- Fixed randomly caused NPE when transforming sessions to length values
(also improved it)

Demographics tab not yet finished.
2017-03-20 14:50:29 +02:00
Rsl1122
388f669fb1 Rename locale_DE to locale_DE.txt 2017-03-19 19:05:29 +02:00
Eyremba
b238eb23ad Update locale_DE 2017-03-19 17:43:13 +01:00
Eyremba
5961607a8b Added a translation for the German language.
Version 1.0.
Further optimisations may come if I find anything which can be formulated in a better way.
2017-03-19 17:40:00 +01:00
Rsl1122
43a693403d [2.9.0-DEV] Added demographics tab to analysis page, Bugfixes
Fix #53
Fix #54
2017-03-18 22:40:14 +02:00
Rsl1122
8522e2fb05 [2.8.4] Bugfixes, tostring methods
Attempt to fix #50
2017-03-15 21:54:26 +02:00
Rsl1122
989dc17a4f [2.8.4-DEV] Moved things around, Improvements, Bugfixes
- Fixed new bugs found while creating tests with PlanDebug #47
- Moved manage things around to remove copy-paste code. New ManageUtils
class
- Made analyze more flexible, now allows analysis of any abstract
Database class' data.
- Moved RecentPlayerButtons creation to new class
2017-03-12 21:41:19 +02:00
Rsl1122
ce6b961e99 [2.8.4-DEV] Bugfixes
Fixed #52
Fixed 10 issues found by PlanDebugger #47
2017-03-12 14:18:07 +02:00
Rsl1122
39bb967e08 [2.8.3] Fix #44 2017-03-11 10:05:50 +02:00
Rsl1122
a35e4fe940 Fix #45 & small things
- Fixed Equals method for UserData
2017-03-11 09:31:54 +02:00
Rsl1122
446af674b8 [2.8.2[ Added config suggestions from #43 Fix #42 2017-03-10 21:48:25 +02:00
Rsl1122
236a2bd702 Fixed #41 #26
UserData is now copied to avoid null pointer exception after some data
is removed from cache while analysis is running.
Additionally added access and stopAccessing to analysis in case the copy
constructor is somehow flawed, to prevent the data from getting cleared
while analysis is being run.
Also added clear prevention to inspect cache if the data is accessed.
2017-03-09 20:52:05 +02:00
Rsl1122
ef57c59d43 Added repo to pom 2017-03-07 09:19:23 +02:00
Rsl1122
d6fe6af5a0 [2.8.0] Added gm chart back, minor fixes to html 2017-03-06 11:40:07 +02:00
Rsl1122
1abdc26a11 [2.8.0-SNAPSHOT] Further improvements to Html
Fixes for #38 #37 #36
Inspect page html improved
- Removed piechart
Added Session average to inspect & analysis pages
Empty javadoc parts generated
2017-03-05 14:13:25 +02:00
Rsl1122
09a3de2535 [2.8.0-SNAPSHOT] Improved data visualization on analysis page
- Added icon library
- Changed default color of adventure slice
- Added boxes, lots of boxes.
- Added total number of unique commands
2017-03-05 00:12:32 +02:00
Rsl1122
87a3a93f25 [2.7.3] Fix for #35, few icons to analysis 2017-03-04 20:24:39 +02:00
Rsl1122
549cefd098 Bugfix attempts & Error message change
- 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.
2017-03-01 11:47:14 +02:00
Rsl1122
75e1cf3e85 [2.7.2] Bugfixes & Optimization
Fix for #31 #30 #29 #28
Possible fix for #26
2017-02-27 14:08:19 +02:00
Rsl1122
a820da3261 Added a couple null checks in an attempt to fix #26
Cause for NPE still unknown
2017-02-25 22:04:04 +02:00
Rsl1122
814f6771a8 [2.7.1] Inspect page additoins
- Fix for #25
- Removed manage combine command
- Added stuff to inspect page
- Factions power now rounded to two decimals
2017-02-25 10:56:39 +02:00
Rsl1122
4ca64e05e4 Updated locale files 2017-02-24 22:40:05 +02:00
Rsl1122
dc05286f19 Removed Charts4j, added Chart.js
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.
2017-02-24 21:23:39 +02:00
Rsl1122
de1a4570b1 [2.6.4-SNAPSHOT] All important things now use Phrase and Html, Bugfix for #24
Plugin.yml version not changed to not push update notification
2017-02-23 19:44:52 +02:00
Rsl1122
b41c51f103 Fix for #23 & typo in Factionshook
"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.
2017-02-22 20:49:07 +02:00
Rsl1122
0a9f994049 Fix for #21 & #22
- Fixed Factions Hook trying to get a leader for WarZone, SafeZone and
Wilderness
- Errors no longer thrown when changing db version on mysql
2017-02-22 18:17:32 +02:00
Rsl1122
964954c674 Bugfixes [2.6.1]
- 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
2017-02-22 11:36:09 +02:00
Rsl1122
44d1f6f021 Fix for #17 2017-02-21 22:48:17 +02:00
Rsl1122
091e3eb1c5 [2.6.0-RELEASE] PlanLite features, Analysis tabs, final bugfixes
- Fixed DB removeall method.
more here:

https://www.spigotmc.org/resources/plan-player-analytics.32536/update?update=146125
2017-02-21 22:04:05 +02:00
Rsl1122
f0daeb91c4 [2.6.0] Added most of PlanLite features, added sortable players table
- Added All hooks except Towny
- Text interface missing.
- Untested
2017-02-20 15:29:39 +02:00
Rsl1122
ab03c43204 [2.6.0-DEV] Improved Error Handling and Bugfixes & Small things
- 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
2017-02-17 12:26:13 +02:00
Rsl1122
d706d3431f Minor: Fixed NPE mentioned in last commit 2017-02-16 18:56:16 +02:00
Rsl1122
730ea69e2f [2.6.0-DEV] Changed Database Geting to Async, Changed handlers.
- 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
2017-02-16 18:52:52 +02:00
Rsl1122
595adfa740 [2.6.0-DEV] Moved Tester to new Project, Removed PlanLite features, Bugfixes
- 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
2017-02-15 22:20:18 +02:00
Rsl1122
249724c162 Changed incorrect imports and packages + Small stuff & bugfixes
- 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.
2017-02-14 18:14:06 +02:00
Rsl1122
ded1ef53bf Changed all incorrect package names + Bugfixes, small things
- 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....
2017-02-14 17:46:38 +02:00
Rsl1122
a2cd3af688 [2.6.0-DEV] Replaced ServerData with Sessions, Added KillData
- 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.
2017-02-13 20:21:25 +02:00
Rsl1122
ae94733da5 [2.6.0-DEV] Added SessionData, ParallelStream to Analysis, Incomplete implementation 2017-02-13 15:02:45 +02:00
Rsl1122
b6d245725f [2.5.2] Fix for #11 & Player fetch optimization for analysis
- Removed bedlocation because it was causing issues
- Total players now displays only players found in the database.
2017-02-13 11:02:27 +02:00
Rsl1122
869df1f374 Started creating a tester for Plan 2017-02-12 17:03:26 +02:00
Rsl1122
4e6d84cde2 plan manage remove bugfix 2017-02-11 12:02:56 +02:00
Rsl1122
7f29d3dcc1 Kills, Deaths, Combined locale files, Security, bugfixes [2.5.0]
More info in the change log 2.5.0
2017-02-11 00:11:43 +02:00
Rsl1122
06bbc50df2 Small typo fixes in licence 2017-02-09 23:45:59 +02:00
Rsl1122
467ae1bed8 Added licence 2017-02-09 23:36:11 +02:00
Rsl1122
a7c3e2a5a2 Cleaned up code
Cleaned parts of the code & removed some copy-paste code.
2017-02-08 21:06:00 +02:00
Rsl1122
dbd8dded42 Added Locale grab from github
- initLocale() checks for locale files and checks for external locale if
setting is not default/files are not found
2017-02-07 21:27:32 +02:00
Rsl1122
eed828f894 Phrase additions, first edition of Locales
- Added functionality for locale.txt reading.
- Added EN and FI locales to github to add config setting for locale.
2017-02-07 20:40:52 +02:00
Rsl1122
ef04215fed Moved table creators to new class, small change to analysis
- Most active list now only counts active players
2017-02-06 20:17:48 +02:00
Rsl1122
01d9cc8da3 Bugfix for playergraph not showing & restoring backup from different server. 2017-02-03 16:36:33 +02:00
Rsl1122
51c5a7e7b6 method optimization with getSavedUUIDs, timeouts, fixes
- fixed serverdata newplayers not resetting to 0 if server is not
reloaded.
- Importing Ontime data will no longer reset every stat of player.
2017-02-03 00:28:07 +02:00
Rsl1122
0b26ea5530 Manage Backup feature, fixes to messages
- "Online" now green in inspect window
- Manage Process start msgs
- Possibility to backup db to a sqlite file and restore.
2017-02-02 23:34:20 +02:00
Rsl1122
3ab8f89852 Added Refresh setting for analysis, More Html Enum, Fixes
Fixes:
- Boot analysis no longer run if /plan analyze is used before boot
analysis
- Config now responds properly (with exception of colors) [Settings
Enum]
2017-02-02 13:04:35 +02:00
Rsl1122
a19fcbd4e0 Revert "Revert "Html improvements, Html Enum, JHeatmap removed, bugfixes""
This reverts commit f91079cede.
2017-02-02 00:13:02 +02:00
Rsl1122
f91079cede Revert "Html improvements, Html Enum, JHeatmap removed, bugfixes"
This reverts commit 54cea31618.
2017-02-02 00:12:28 +02:00
Rsl1122
54cea31618 Html improvements, Html Enum, JHeatmap removed, bugfixes
- 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
2017-02-02 00:12:00 +02:00
Rsl1122
f532f075c2 Enum Additions (Phrase, Setitngs) [2.3.2-DEV]
- Added lot of Enums to clean-up code
- Added silent Analysis config setting
2017-01-31 21:33:28 +02:00
Rsl1122
baabac9d4c Fix for #4 2017-01-30 21:35:38 +02:00
Rsl1122
c5d85d9ba5 Added Recent Players, Top 20 active list, Fixes
- 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
2017-01-30 18:35:32 +02:00
Rsl1122
369b20aa9b Added Manage Import command, Command aliases, small phrasing changes [2.3.0-SNAPSHOT]
- 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
2017-01-30 16:31:02 +02:00
Rsl1122
7da6a99dd7 Added Database Managment command, Small improvements [2.3.0-SNAPSHOT]
- 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
2017-01-29 22:43:57 +02:00
Rsl1122
f50bdc05da Fix for #3
Fixed by changing the order where database sets AutoCommit to true
2017-01-29 10:58:38 +02:00
Rsl1122
c71e014096 2.2.0
https://www.spigotmc.org/resources/plan-player-analytics.32536/update?update=141073
2017-01-28 15:01:06 +02:00
Rsl1122
96240195ef Bugfix, Database optimization, Locations, Partial 2.2.0 features [2.2.0-DEV]
- 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)
2017-01-26 11:32:42 +02:00
Rsl1122
f1e3fe7a7e Fix for activity pie 2017-01-21 10:42:21 +02:00
Rsl1122
45279da849 Fixed MySQL Database initiation.
Issue was sent on Spigot Discussion.
Fixed typo that was causing it.
2017-01-21 09:19:25 +02:00
Rsl1122
048c201bd6 Bugfix for NoClassDefFoundError when PlanLite not installed
* Added new DataPushHook to prevent Hook from not being found.
* Added null checks for PlanLiteHook, because it was causeing NPEs
2017-01-20 09:46:33 +02:00
Rsl1122
af85c38024 javadoc generated 2017-01-20 00:39:32 +02:00
Rsl1122
5525ea2754 JavaDocs and Cleaning
Created javadoc headers for everything but UserData and SQLDB classes.
Now to just figure how to get it visible.
2017-01-20 00:31:24 +02:00
Rsl1122
7803e5dc18 Critical bugfix & Changed version check handler to use Integers to prevent possible double digit issue. 2017-01-19 22:57:38 +02:00
Rsl1122
0dfb2570e8 Version 2.1.0 update - More Customization
This update brings more customization options, couple bugfixes and extra
slice to the player composition pie that tells how many players have
only joined once, but never returned (previously counted as inactive).

In more detail:
Added "Unknown" slice to the Player Composition Pie (Players who have
joined only once)
ServerData and UserData now saved with seperate timers to avoid loss of
player activity data with less dense cache saves.
Added possibility to turn off the WebServer.
- API will return HTML without webserver if the server is off.
- If AlternativeIP is in use, all commands will use that as link,
otherwise:
- Analysis & Search commands are disabled if the webserver is off.
- If PlanLite is installed and is used as alternative UI (config),
Inspect command is passed to PlanLite.
Added possibility to use PlanLite as an alternative UI.
- Use /plan lite inspect <player> to view the data in the chatbox.
- Graphs, piecharts & list available only on the web UI.
- Analysis not yet available in PlanLite UI.
Added possibility to change all colors of the Web UI and command
messages.
- Changes in the color settings require plugin restart, fix for this in
the future.
- Web UI Colors use the HTML Color Codes without the # (hashtag)
Added possibility to translate & add/remove Demographics triggers
Bugfixes:
- Fixed ConcurrentModificationException when data is being cleared after
a save.
- Attempted fix of PlanLite balance analysis by rewriting a formatting
utility method.
2017-01-19 12:01:18 +02:00
Rsl1122
cda0148380 Small bugfix: analysis w/PlanLite, Towny NPE
- Analysis no longer throws NPE when Towny and PlanLite are installed.
2017-01-17 14:41:19 +02:00
Rsl1122
32227eb428 Changed version for Update notifiaction push 2017-01-16 22:30:51 +02:00
Rsl1122
ec78b6a007 Release 2.0.0
- Added isOnline to player inspect.
- Added plan.ignore.commanduse permission

Fixed Bugs:
- Activity piechart now displayed correctly
- Activity Graph now drawn correctly
2017-01-16 21:32:30 +02:00
Rsl1122
e8acdc678a First Release Candidate [2.0.0]
Fixed bugs:
- Demographics data properly detected.
- MapComparator now compares values as integers.
- ServerData is now saved properly, and playersOnline is updated
properly.

Other:
- Graph is untested
- MySQL untested
2017-01-16 17:47:27 +02:00
Rsl1122
5108213df6 Finished PlanLite features, partial fix to Demographics
- PlanLite features done.

Fixed bugs:
- Demographics data is not properly detected (partial fix)
-> Geolocation untested.

Known bugs:
- MapComparator compares values as strings (causes wrong order)
- Graph is wrong way around
- Graph is written to points with no data present
- (Player activity graph data might not be properly saved)
-> Graph uses players from a single point and draws a line

Other:
- (MySQL not tested)
- new API unimplemented
2017-01-15 21:29:40 +02:00
Rsl1122
2a76db770e /plan lite command, PlanLite command change: /plan > /planlite
- Started creating planlite html,
-> html unfinished.
- Tested all 3 plugins working together, fixed bugs and typos
accordingly
-> Swapped planlite permissions and commands from plan to planlite
2017-01-15 18:54:14 +02:00
Rsl1122
2538e32e6d Changed permissions for PlanLite plan. > planlite. Begun working on PlanLite features
Analysis and html creation untested for new planlite when planlite is
enabled.
2017-01-15 14:17:42 +02:00
Rsl1122
3ab14a6dd5 Bugfixes, Format fixes, Some Javadocs.
Following bugs have been fixed:
- Changed command links to say "Click me"
- Concurrent modification exception: Cachehandler 83, Cachehandler 208
- GMTimes on analysis page still shows 0 but graph works
- Page has to be refreshed multiple times to view (Faulty response)
- Data not saved to db on login
- Command usages upside down
- New Players set to 0 too easily (Wrong data was fetched)

Known bugs:
- Graph is wrong way around
- Graph is written to points with no data present
- (Player activity graph data might not be properly saved)
-> Graph uses players from a single point and draws a line
- Demographics data is not saved properly/detected

Other:
- (MySQL not tested)
- PlanLite features
2017-01-14 21:18:39 +02:00
Rsl1122
f9df236c59 Added Player Activity Graphs , updated htmls with padding
- Added Player Activity graph
- Top 50 Commands now looks proper

Fixed bugs:
- Activity now determined properly (two weeks seconds multiplied by
1000)

Known Bugs:
- GMTimes on analysis page still shows 0 but graph works
- Page has to be refreshed multiple times to view (Faulty response)
- (Player activity graph data might not be properly saved)

Not implemented:
- PlanLite features
2017-01-13 18:01:22 +02:00
Rsl1122
8c4d3e0f4d Made commands work as intended and look better. Bugfixes, top 50 commands
- Updated config file to clearer structure

Fixed bugs:
- Commands now show link with /tellraw command.
- PieCharts now check if total is not 100,
- Piecharts now render correctly (There was some issues with int)
- InspectCache updates properly.
- ClassCastException on start-up when PlanLite is not installed fixed.
- DataCache now returns active data to InspectCache if it is present.

Known Bugs:
- GMTimes on analysis page still shows 0 but graph works
- Page has to be refreshed multiple times to view (Faulty response)
- Top50Commands not pretty yet.
- Extra panel to put PlanLite stuff on is empty

Not implemented:
- PlanLite features
- Player Activity Graph
2017-01-12 13:38:13 +02:00
Rsl1122
a26622aa66 Analysis 80% complete [2.0.0-SNAPSHOT]
Known bugs:
- Commands: Link does not show ip, might be related to localhost
- Page has to be refreshed multiple times to view (Faulty response
probably)
- Gamemode Times corrupted somehow
- 0 0 0 0 0 debug in console
- GM Pie doesn't check if total 100
- Average Age shows NaN because dividing by 0
- (Inspect cache not updating properly)

- PlanLite features not implemented yet
2017-01-12 01:34:39 +02:00
Rsl1122
88283969b1 Moved to Maven project, added Chart4j to render graphs
- Moved to Maven project to solve dependencies
- > Added Chart4j (Google Charts) to render graphs and pie charts.
- More AnalysisUtils
- Added GMTimesChartCreator
2017-01-11 20:47:03 +02:00