You can find the src of the project here: https://github.com/1Rogue/PlayTime
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.
Coming soon: Maven integration with attached sources
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!
- Major performance optimizations
- Major cuts to the amount of communication required between the data and the plugin
- New threading 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
The current system is buggy, and can be off, so it's going to be completely overhauled:
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
MINIMUMis a constant for the trigger time, and
INTERVALis 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
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
- Possible support for Russian, planning to add French localization!
- Planning to add a -since flag for times, allowing to see times based on a timescale.