From 8be7e8f68a9a46c03e017fb4f02a1af71ca410b5 Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Sun, 6 Nov 2011 12:02:50 +0800 Subject: [PATCH] Add 'webmsgformat' setting, deprecate 'webprefix' and 'websuffix' --- .../java/org/dynmap/SimpleWebChatComponent.java | 14 ++++++++++++-- .../org/dynmap/herochat/HeroWebChatComponent.java | 11 ++++++++++- src/main/resources/configuration.txt | 9 ++++++--- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/dynmap/SimpleWebChatComponent.java b/src/main/java/org/dynmap/SimpleWebChatComponent.java index cec84327..7ab474bc 100644 --- a/src/main/java/org/dynmap/SimpleWebChatComponent.java +++ b/src/main/java/org/dynmap/SimpleWebChatComponent.java @@ -18,8 +18,18 @@ public class SimpleWebChatComponent extends Component { public void triggered(ChatEvent t) { DynmapWebChatEvent evt = new DynmapWebChatEvent(t.source, t.name, t.message); plugin.getServer().getPluginManager().callEvent(evt); - if(evt.isCancelled() == false) - plugin.getServer().broadcastMessage(unescapeString(plugin.configuration.getString("webprefix", "\u00A72[WEB] ")) + t.name + ": " + unescapeString(plugin.configuration.getString("websuffix", "\u00A7f")) + t.message); + if(evt.isCancelled() == false) { + String msg; + String msgfmt = plugin.configuration.getString("webmsgformat", null); + if(msgfmt != null) { + msgfmt = unescapeString(msgfmt); + msg = msgfmt.replaceAll("%playername%", t.name).replaceAll("%message%", t.message); + } + else { + msg = unescapeString(plugin.configuration.getString("webprefix", "\u00A72[WEB] ")) + t.name + ": " + unescapeString(plugin.configuration.getString("websuffix", "\u00A7f")) + t.message; + } + plugin.getServer().broadcastMessage(msg); + } } }); diff --git a/src/main/java/org/dynmap/herochat/HeroWebChatComponent.java b/src/main/java/org/dynmap/herochat/HeroWebChatComponent.java index 8847029d..038a9566 100644 --- a/src/main/java/org/dynmap/herochat/HeroWebChatComponent.java +++ b/src/main/java/org/dynmap/herochat/HeroWebChatComponent.java @@ -28,7 +28,16 @@ public class HeroWebChatComponent extends Component { if(evt.isCancelled() == false) { /* Let HeroChat take a look - only broadcast to players if it doesn't handle it */ if (!handler.sendWebMessageToHeroChat(t.name, t.message)) { - plugin.getServer().broadcastMessage(unescapeString(plugin.configuration.getString("webprefix", "\u00A72[WEB] ")) + t.name + ": " + unescapeString(plugin.configuration.getString("websuffix", "\u00A7f")) + t.message); + String msg; + String msgfmt = plugin.configuration.getString("webmsgformat", null); + if(msgfmt != null) { + msgfmt = unescapeString(msgfmt); + msg = msgfmt.replaceAll("%playername%", t.name).replaceAll("%message%", t.message); + } + else { + msg = unescapeString(plugin.configuration.getString("webprefix", "\u00A72[WEB] ")) + t.name + ": " + unescapeString(plugin.configuration.getString("websuffix", "\u00A7f")) + t.message; + } + plugin.getServer().broadcastMessage(msg); } } } diff --git a/src/main/resources/configuration.txt b/src/main/resources/configuration.txt index 00f4b6dc..aef07993 100644 --- a/src/main/resources/configuration.txt +++ b/src/main/resources/configuration.txt @@ -355,9 +355,12 @@ showplayerfacesinmenu: true joinmessage: "%playername% joined" quitmessage: "%playername% quit" spammessage: "You may only chat once every %interval% seconds." -# webprefix and websuffix support using '&color;' as escape code for color code -webprefix: "&color;2[WEB] " -websuffix: "&color;f" +# webprefix and websuffix support using '&color;' as escape code for color code (deprecated: use webmsgformat) +#webprefix: "&color;2[WEB] " +#websuffix: "&color;f" +# format for messages from web: %playername% substitutes sender ID (typically IP), %message% includes text +webmsgformat: "&color;2[WEB] %playername%: &color;f%message%" + # Enable checking for banned IPs via banned-ips.txt (internal web server only) check-banned-ips: true