SignTimer
SignTimer
A stopwatch plugin using signs to start/stop the clock. Great for timed competitions (mazes, speed runs, etc).
Quick Info
- Current Version: 2.0.0
- CB Version: CB 1.4.7-R1.0
- Changelog: https://github.com/Muddr/SignTimer/blob/master/CHANGELOG.md
- Download: http://dev.bukkit.org/server-mods/signtimer/files/3-v2-0-0/
Features
- Multiple timer support
- Start and stop timers
- Top command to list for fastest times
- See your own personal best times
- See other player's best times
Todo List
- Look into announcing times to the player when timer is on.
- Trying to implement more feature requests.
Updating to v2.0.0
- When the server is first started the config will be updated and the database will be backed up and converted to the new format.
- After the server has started the original start and stop signs will need to be right clicked to update them to the new format.
- the original signs will use the timername
default
. Use /st rename default <newName> to change it. - /st will list only commands that player has permission to use.
Default config.yml:
settings:
broadcast_times: false
include_days: false
include_milli: true
compact_time: true
top_amount: 10
timer:
stop_on_death: true
stop_on_quit: true
messages:
broadcast_message: "%PLAYERNAME% finished %TIMERNAME% in %TIME%"
player_message: "Your time for %TIMERNAME% was %TIME%"
DB:
driver: 'org.sqlite.JDBC'
url: 'jdbc:sqlite:{DIR}{NAME}.db'
username: 'root'
password: ''
isolation: 'SERIALIZABLE'
logging: false
rebuild: false
version: 0
Explanation
All settings will be shown in node syntax for ease of documentation, e.g. category.someitem
will refer to the someitem
setting in the category
group.
settings.broadcast_times
- Whether the time will be shown to all players or just you. false
= only the player sees their time, true
= all players see the time.
- Default: false
settings.include_days
- Whether the time will output the amount of days, if false hours will go over 24 hours.
- Default: false
settings.include_milli
- Whether the time will be shown down to the millisecond. This only works if settings.compact_time
is also true.
- Default: true
settings.compact_time
- Whether the time will be shown a compact format 01d:01h:01s:0001ms
instead of 1 day 1 hour 1 minute 1 seconds
. Setting this to true will also make the top10 command cleaner looking.
- Default: true
settings.top_amount
- NEW for v2.0.0
- Sets the amount to times to list with the top
command.
- Default: 10
timer.stop_on_death
- NEW for v2.0.0
- Whether or not the timers should stop if a player dies.
- Default: true
timer.stop_on_quit
- NEW for v2.0.0
- Whether or not the timers should stop if a player disconnects or quits.
- Default: true
messages.broadcast_message
- Changed formats for v2.0.0
- Message that is broadcast to all players showing the time. Use tokens to personalize the message. Note: this message only shows when settings.broadcast_times
is true
- Tokens:
- %PLAYERNAME%
: name of the player that finished the timer
- %TIME%
: time that it took for the player to finish the timer
- %TIMERNAME%
: the name of the timer
- Default: "%PLAYERNAME% finished %TIMERNAME% in %TIME%"
messages.player_message
- Changed formats for v2.0.0
- Message that is broadcast to the player that finished the timer. Use tokens to personalize the message. Note: this message only shows when settings.broadcast_times
is false
- Tokens:
- %TIME%
: time that it took for the player to finish the timer
- %TIMERNAME%
: the name of the timer
- Default: "Your time for %TIMERNAME% was %TIME%"
DB related settings
It is highly recommended that this section of the config be left as-is. Only attempt changing this section if you know what you are doing!
Issues regarding database settings will not be answered. They will be closed as we will most likely not be able to answer them. This section is provided as a courtesy for advanced users if they need it.
Commands
- All commands changed for v2.0.0 to add <timerName>
-
/st clear <timerName>
Clears all times for <timerName>. -
/st delete <timerName>
Deletes <timerName> and removes all times/signs. -
/st enable <timerName>
Enables <timername>. -
/st disable <timerName>
Disables <timername>. -
/st list
Lists all timers. color coded for enabled/disabled. -
/st mytime <timerName>
Lists all your times. <timerName> is optional. -
/st rank <playerName> <timerName>
Displays the rank for <playerName>'s time for <timerName>. -
/st rename <oldName> <newName>
Renames timer from <oldName> to <newName>. Will update signs also. -
/st top <timerName>
Lists the top <config_Setting_Amount> times for <timerName>
Permissions
-
signtimer.removesigns
description: Allows player to remove sign timers. default: op -
signtimer.createsigns
description: Allows player to create sign timers. default: op -
signtimer.cleartimes
description: Allows player to clear all saved times for a timer. default: op -
signtimer.delete
- NEW for v2.0.0 description: Allows player to delete a timer. default: op -
signtimer.enabledisable
- NEW for v2.0.0 description: Allows player to enable/disable timers. default: op -
signtimer.list
- NEW for v2.0.0 description: Allows player to list timers. default: op -
signtimer.rename
- NEW for v2.0.0 description: Allows player to rename timers. default: op
Creating Sign Timers
MAJOR CHANGE for v2.0.0
To create a sign timer, place a sign with the following information:
- Line 1: [signtimer]
- Line 2: timername
- Line 3: start
OR stop
Note: lines 1 and 3 are case insensitive. Ex: Start
, sTaRt
as well as any variant will all work.
Line 2 must be the same for both signs and commands involving timernames.
Example: ![Sign timer example] (https://dl.dropbox.com/u/18835236/SignTimer/signexample.png)
Using the timers
Right-click on the "start" timer to start, and right-click on the "stop" timer to stop. It is that simple.
MCStats Metics
This plugin uses MCSTATS to see how many servers have this plugin and how many players uses this. You can opt-out at anytime, but it is useful for plugin devs to see their plugin usage. See Server Owners Section at https://mcstats.org/learn-more/ to opt-out. ![SignTimer Usage] (http://mcstats.org/signature/SignTimer.png)
SignTimer 2.0.0 no longer works on latest builds of Spigot. I know it does not work on 1.12.2 which is my current production server and I tested it on a dev build 1.13.
Is there any possibility of an updated version? If not interested, can you share the source code and I can find someone to re-compile it with the current version?
EDIT #1: Plugin update request posted on the forums. Thanks Muddr.
EDIT #2: Biscut posted a 1.13-compatible version in the request thread.
Thanks,
LHammonds
Your plugin is good Then how about timer start command?
Ex: /st <signtimername> start or stop
and you can use Limited time?
For ex: /st <signtimername> start or stop <seconds>
and if you use Limited time
how about run command when stop
For ex: /ststop <signtimername> <command> (ststop = SignTimerSTOP)
or /ststart <signtimername> <command> (ststart = SignTimerSTART
SignTimer 2.0.0 works on CraftBukkit 1.7.9-R0.2 and Spigot 1.7.9-R0.3 Build 1543with Java 1.7.0_65 (64-bit) on Windows 7 SP1 (64-bit) and Ubuntu Server 14.04 LTS (64-bit)
Thanks,
LHammonds
please update! :C it doesn't work in my 1.7.9 :C i really want your plugin.. its so awesome!.. :C
Thanks for creating and sharing this plugin with us.
SignTimer 2.0.0 works on CraftBukkit 1.7.2-R0.3 and Spigot 1.7.2-R0.4 Build 1339 with Java 1.7.0_51 (64-bit) on Windows 7 SP1 (64-bit) and Ubuntu Server 12.04.3 LTS (64-bit)
LHammonds
it,s work but i can,t start the timer :(
This plugin is cool, but I have a couple of requests. Can you make it so that redstone can power the start and stop signs And can you make it so that there is a sign that tells you the time recorded for 5 seconds?
Thanks!
Is there an option or, This should be a plugin or a to do: list feature;
Make it not from signs but a command from one block area start point to a second block area finish point.
Stand on one block type /Timer Start Then run the course once enter is hit or the command is put in, Then once a x,y,z point is reached the timer shows on the players log, and can optionally be shown to the entire server. (example. How Camera Studio Client Mod; Displays "Traveling Ended") you know what I'm sayin' hehe JukkaTibbs~
Alright.. v2.0.0 is uploaded and awaiting bukkitdev approval. There was more to this update then I thought there was going to be. According to the commit there was 19 changed files with 1,404 additions and 279 deletions. I didn't get to test it as much as I wanted to with all the changed, but I didn't see an issues with it.
If you wanna get it right away the download link in the description has be updated.
Changes for v2.0.0
v2.0.0 - Works with CB 1.3.2-R0.2 - CB 1.4.7-R1.0
Figured I'd give everyone an update. First I'm still working on the new version, I haven't giving up on you guys. As of right now the new version is about 95% done and working. All that I have left is to make the plugin convert the database so it creates all the new tables when the plugin starts and retains the old times and do some further testing.
I don't wanna hold this update anymore so any other features are gonna have to wait until the next version. So that being said, I'm planning on having this version out sometime this week(Work Schedule Permitting). Here's a list of the upcoming changes without going into the fine details.
v2.0.0
- Major Added: Support for multiple timers.
- Added: Ability to rename timers.
- Added: Ability to enable/disable timers.
- Added: Ability to delete timers.
- Added: Config Changes:
- Options to cancel timer if player dies/disconnects.
- Option to set the number of times to display with the top command.
- Added: Command to list all timers. /st list
- Major Change: Database Structure Changed
- Major Change: Sign Format Changed.
- Changed: Reworked /st command to only show commands the player has permissions to use.
- Changed: Top10 command is now just top. /st top <timer name="">
- Changed: All commands now require a timer name(except list and name is optional with mytime). /st command <timername>
What about something more specific like boat racing plugin or addon to existing sign timer plugin... something could be used to run a proper boat race with all players having to be ready, maybe the plugin could help in spawning boats, putting players in boats on the starting line etc..
I still haven't tried this yet, upto you on racetimer features
@user_652698
I'm working on adding multiple timers, right now.
regarding the racetimer feature integration I'm still up in the air about it.
Useful and fun plugin!
Have you thought about adding multiple timers, like [signtimer2] etc. and option to rename them? 'Player finished Sign2 in 5m30s!'
Toplist could look confusing though. Maybe toplist for each sign /st toplist sign2, /st mytime sign3, /st signlist
Just some ideas I would gladly be using :)
Thanks for the link.. I'll look at it and see if there's anything I wanna implement.. It might be easier to just update that one if someone wants it, but I'll look through the code and see what I come up with.
https://github.com/Randude14/RaceTimer
I have feature suggestions, server had a custom plugin made to do racetimers many months ago only its outdated now and original developer hasn't gotten back to it. He made a pretty advanced one, plenty of commands for setup up the named sign timers, WE for setting up region areas that could also stop/start a specific timer, etc.. I'm wondering if the source code might help you, because his original plugin was along the lines of all the features I originally wanted a racetimer to be able to do and provide in admin/player commands.. I'll see if he don't mind sharing the code with you if you are going to be actively working on this.
Updated to v1.1.0 - Waiting for bukkit to approve the file.
If anyone as any features or suggestions for this plugin let me know.
v1.1.0 - Works with CB 1.3.2-R0.2 - CB 1.4.6-R0.2+
<<reply 1157172="">>
For now you'd have to delete the /SignTimer/signtimer.db file. I'm working on v1.1.0 that will add a clear command/permission. I'll have the new version out later today,
So... how do you reset the times?
Like, delete all the times.