Added option for digital clock to timeofday.

This commit is contained in:
FrozenCow 2011-03-31 16:00:47 +02:00
parent f93eb8dcbc
commit 060f4641d4
2 changed files with 41 additions and 37 deletions

View File

@ -89,8 +89,9 @@ web:
messagettl: 5 messagettl: 5
- type: playermarkers - type: playermarkers
showplayerfaces: true showplayerfaces: true
- type: digitalclock #- type: digitalclock
#- type: timeofdayclock - type: timeofdayclock
showdigitalclock: true
defaultworld: world defaultworld: world
worlds: worlds:

View File

@ -22,41 +22,46 @@ componentconstructors['timeofdayclock'] = function(dynmap, configuration) {
.css('background-position', (-150) + 'px ' + (-150) + 'px') .css('background-position', (-150) + 'px ' + (-150) + 'px')
.appendTo(sun); .appendTo(sun);
var clock = $('<div/>') if (configuration.showdigitalclock) {
.addClass('timeofday') var clock = $('<div/>')
.addClass('digitalclock') .addClass('timeofday')
.appendTo(element); .addClass('digitalclock')
.appendTo(element);
var formatTime = function(time) { var formatTime = function(time) {
var formatDigits = function(n, digits) { var formatDigits = function(n, digits) {
var s = n.toString(); var s = n.toString();
while (s.length < digits) { while (s.length < digits) {
s = '0' + s; s = '0' + s;
}
return s;
} }
return s; return formatDigits(time.hours, 2) + ':' + formatDigits(time.minutes, 2);
} };
return formatDigits(time.hours, 2) + ':' + formatDigits(time.minutes, 2);
};
var setTime = function(servertime) { var setTime = function(servertime) {
if (timeout != null) { if (timeout != null) {
window.clearTimeout(timeout); window.clearTimeout(timeout);
timeout = null;
}
var time = getMinecraftTime(servertime);
clock
.addClass(time.day ? 'day' : 'night')
.removeClass(time.night ? 'day' : 'night')
.text(formatTime(time));
if (timeout == null) {
timeout = window.setTimeout(function() {
timeout = null; timeout = null;
setTime(time.servertime+(1000/60)); }
}, 700); var time = getMinecraftTime(servertime);
} clock
}; .addClass(time.day ? 'day' : 'night')
.removeClass(time.night ? 'day' : 'night')
.text(formatTime(time));
if (timeout == null) {
timeout = window.setTimeout(function() {
timeout = null;
setTime(time.servertime+(1000/60));
}, 700);
}
};
$(dynmap).bind('worldupdated', function(event, update) {
setTime(update.servertime);
});
}
$(dynmap).bind('worldupdated', function(event, update) { $(dynmap).bind('worldupdated', function(event, update) {
var sunangle; var sunangle;
var time = update.servertime; var time = update.servertime;
@ -80,7 +85,5 @@ componentconstructors['timeofdayclock'] = function(dynmap, configuration) {
sun.css('background-position', (-50 * Math.cos(sunangle)) + 'px ' + (-50 * Math.sin(sunangle)) + 'px'); sun.css('background-position', (-50 * Math.cos(sunangle)) + 'px ' + (-50 * Math.sin(sunangle)) + 'px');
moon.css('background-position', (-50 * Math.cos(moonangle)) + 'px ' + (-50 * Math.sin(moonangle)) + 'px'); moon.css('background-position', (-50 * Math.cos(moonangle)) + 'px ' + (-50 * Math.sin(moonangle)) + 'px');
setTime(update.servertime);
}); });
}; };