Cleaned up join/quit messages (not being send as chat messages)

This commit is contained in:
FrozenCow 2011-04-05 22:58:46 +02:00
parent be1424ec14
commit 542bda59d4
6 changed files with 47 additions and 26 deletions

View file

@ -29,23 +29,30 @@ public class Client {
public static class ChatMessage extends Stamped { public static class ChatMessage extends Stamped {
public String type = "chat"; public String type = "chat";
public String source;
public String playerName; public String playerName;
public String message; public String message;
public ChatMessage(String playerName, String message) { public ChatMessage(String source, String playerName, String message) {
this.source = source;
this.playerName = playerName; this.playerName = playerName;
this.message = message; this.message = message;
} }
} }
public static class WebChatMessage extends Stamped { public static class PlayerJoinMessage extends Stamped {
public String type = "webchat"; public String type = "playerjoin";
public String playerName; public String playerName;
public String message; public PlayerJoinMessage(String playerName) {
this.playerName = playerName;
public WebChatMessage(String playerName, String message) { }
}
public static class PlayerQuitMessage extends Stamped {
public String type = "playerquit";
public String playerName;
public PlayerQuitMessage(String playerName) {
this.playerName = playerName; this.playerName = playerName;
this.message = message;
} }
} }

View file

@ -15,21 +15,17 @@ public class DynmapPlayerChatListener extends PlayerListener {
@Override @Override
public void onPlayerChat(PlayerChatEvent event) { public void onPlayerChat(PlayerChatEvent event) {
if(event.isCancelled()) return; if(event.isCancelled()) return;
plugin.mapManager.pushUpdate(new Client.ChatMessage(event.getPlayer().getName(), event.getMessage())); plugin.mapManager.pushUpdate(new Client.ChatMessage("player", event.getPlayer().getName(), event.getMessage()));
} }
@Override @Override
public void onPlayerJoin(PlayerJoinEvent event) { public void onPlayerJoin(PlayerJoinEvent event) {
String joinMessage = plugin.configuration.getNode("web").getString("joinmessage", "%playername% joined"); plugin.mapManager.pushUpdate(new Client.PlayerJoinMessage(event.getPlayer().getName()));
joinMessage = joinMessage.replaceAll("%playername%", event.getPlayer().getName());
plugin.mapManager.pushUpdate(new Client.ChatMessage("Server", joinMessage));
} }
@Override @Override
public void onPlayerQuit(PlayerQuitEvent event) { public void onPlayerQuit(PlayerQuitEvent event) {
String quitMessage = plugin.configuration.getNode("web").getString("quitmessage", "%playername% quit"); plugin.mapManager.pushUpdate(new Client.PlayerQuitMessage(event.getPlayer().getName()));
quitMessage = quitMessage.replaceAll("%playername%", event.getPlayer().getName());
plugin.mapManager.pushUpdate(new Client.ChatMessage("Server", quitMessage));
} }
} }

View file

@ -382,7 +382,7 @@ public class DynmapPlugin extends JavaPlugin {
} }
public void webChat(String name, String message) { public void webChat(String name, String message) {
mapManager.pushUpdate(new Client.WebChatMessage(name, message)); mapManager.pushUpdate(new Client.ChatMessage("web", name, message));
log.info("[WEB]" + name + ": " + message); log.info("[WEB]" + name + ": " + message);
getServer().broadcastMessage("[WEB]" + name + ": " + message); getServer().broadcastMessage("[WEB]" + name + ": " + message);
} }

View file

@ -12,10 +12,7 @@ componentconstructors['chat'] = function(dynmap, configuration) {
$(dynmap).bind('worldupdate', function(event, update) { $(dynmap).bind('worldupdate', function(event, update) {
swtch(update.type, { swtch(update.type, {
chat: function() { chat: function() {
$(dynmap).trigger('chat', [{source: 'player', name: update.playerName, text: update.message}]); $(dynmap).trigger('chat', [{source: update.source, name: update.playerName, text: update.message}]);
},
webchat: function() {
$(dynmap).trigger('chat', [{source: 'web', name: update.playerName, text: update.message}]);
} }
}); });
}); });

View file

@ -27,6 +27,27 @@ componentconstructors['chatbox'] = function(dynmap, configuration) {
.appendTo(chat); .appendTo(chat);
} }
var addrow = function(row) {
setTimeout(function() { row.remove(); }, (configuration.messagettl * 1000));
messagelist.append(row);
messagelist.show();
messagelist.scrollTop(messagelist.scrollHeight());
};
$(dynmap).bind('playerjoin', function(event, playername) {
addrow($('<div/>')
.addClass('messagerow')
.text(dynmap.options.joinmessage.replace('%playername%', playername))
);
});
$(dynmap).bind('playerquit', function(event, playername) {
addrow($('<div/>')
.addClass('messagerow')
.text(dynmap.options.quitmessage.replace('%playername%', playername))
);
});
$(dynmap).bind('chat', function(event, message) { $(dynmap).bind('chat', function(event, message) {
var playerName = message.name; var playerName = message.name;
var messageRow = $('<div/>') var messageRow = $('<div/>')
@ -59,12 +80,6 @@ componentconstructors['chatbox'] = function(dynmap, configuration) {
.text(message.text); .text(message.text);
messageRow.append(playerIconContainer,playerNameContainer,playerMessageContainer); messageRow.append(playerIconContainer,playerNameContainer,playerMessageContainer);
//messageRow.append(playerIconContainer,playerWorldContainer,playerGroupContainer,playerNameContainer,playerMessageContainer); addrow(messageRow);
setTimeout(function() { messageRow.remove(); }, (configuration.messagettl * 1000));
messagelist.append(messageRow);
messagelist.show();
//var scrollHeight = jQuery(me.messagelist).attr('scrollHeight');
messagelist.scrollTop(messagelist.scrollHeight());
}); });
}; };

View file

@ -375,6 +375,12 @@ DynMap.prototype = {
swtch(update.type, { swtch(update.type, {
tile: function() { tile: function() {
me.onTileUpdated(update.name); me.onTileUpdated(update.name);
},
playerjoin: function() {
$(me).trigger('playerjoin', [ update.playerName ]);
},
playerquit: function() {
$(me).trigger('playerquit', [ update.playerName ]);
} }
}); });
} }