Development

http://1ro.co/resources/playtime/main_off.pnghttp://1ro.co/resources/playtime/configuration_off.pnghttp://1ro.co/resources/playtime/commands_off.pnghttp://1ro.co/resources/playtime/permissions_off.pnghttp://1ro.co/resources/playtime/development_on.png

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, and INTERVAL 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.

Comments

Posts Quoted:
Reply
Clear All Quotes