Development
Source code
You can find the src of the project here: https://github.com/1Rogue/PlayTime
Development builds
A jenkins server is available where I can put up development builds. These builds are not approved by bukkitdev, they do contain bugs, and you choose to use them at your own risk if you download them.
http://ci.1rogue.com/job/PlayTime/
Coming soon: Maven integration with attached sources
Upcoming Features
Plans for Playtime - 2.0.0
Playtime is going to be completely rewritten an overhauled, this will involve major updates to some areas of the plugin.
Want to help offer a suggestion for the addition to the Playtime 2.0.0 release? Feel free to pm me!
Overall
- Major performance optimizations
- Major cuts to the amount of communication required between the data and the plugin
- New threading management
Data Management
- Playtime will support two new forms of data management: XML and JSON!
- Flatfile (yml) support will return
- SQL will be seeing a new table schema, with support of timestamps
- Times will be accurate to the millisecond, allowing much more support for fine-tuned things
Event System
The current system is buggy, and can be off, so it's going to be completely overhauled:
Previous system:
SELECT * FROM `playTime` WHERE (`someTimer`%MINIMUM) <= (MINIMUM+INTERVAL) AND `someTimer` >= MINIMUM
- A query would run every x pre-determined minutes to check the SQL database for times. (in the pseudo-query above, where
MINIMUM
is a constant for the trigger time, andINTERVAL
is the time between checks) - All results from this would "fire" the event for the relevant players.
- Each event would have an individual `Runnable` scheduled through the `ScheduledExecutorService` in the `java.util.concurrent` package.
- This lead to a single query for each event every
INTERVAL
minutes
New proposed system:
- When a player logs on, a single query will grab all their times.
- A new runnable will be scheduled to execute `x` minutes later, when they would "fire" the event normally
- There will be a runnable per-event, per-player.
- Events would be able to be "overridden" or bypassed via permissions
- No future SQL queries would be needed, and times would be more accurate
Language
- Possible support for Russian, planning to add French localization!
Commands
- Planning to add a -since flag for times, allowing to see times based on a timescale.
I know the last updated was two years ago, but will this ever be continued? Is version 2.0.0 still in development?