summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Ward <chris@chrisgward.com>2013-12-04 01:41:08 +1100
committerKHobbits <rob@khobbits.co.uk>2013-12-05 23:08:29 +0000
commitbac26f966c71427dc3ca724149111c4a9e2cd4c6 (patch)
treef02cb372b9f0d78cbcf4d5d7a687048ac0246206
parent278bb9864901abe4dae7be942fc3d542f92863a8 (diff)
downloadEssentials-bac26f966c71427dc3ca724149111c4a9e2cd4c6.tar
Essentials-bac26f966c71427dc3ca724149111c4a9e2cd4c6.tar.gz
Essentials-bac26f966c71427dc3ca724149111c4a9e2cd4c6.tar.lz
Essentials-bac26f966c71427dc3ca724149111c4a9e2cd4c6.tar.xz
Essentials-bac26f966c71427dc3ca724149111c4a9e2cd4c6.zip
Cleanup join/quit messages.
-rw-r--r--Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java49
-rw-r--r--Essentials/src/com/earth2me/essentials/Settings.java4
2 files changed, 24 insertions, 29 deletions
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
index 733526381..e869b776c 100644
--- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
+++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
@@ -148,13 +148,15 @@ public class EssentialsPlayerListener implements Listener
}
@EventHandler(priority = EventPriority.HIGHEST)
- public void onPlayerQuitHighest(final PlayerQuitEvent event)
+ public void onPlayerQuit(final PlayerQuitEvent event)
{
- if (ess.getSettings().allowSilentJoinQuit() && event.getPlayer().hasPermission("essentials.silentquit"))
+ final User user = ess.getUser(event.getPlayer());
+
+ if (ess.getSettings().allowSilentJoinQuit() && user.isAuthorized("essentials.silentquit"))
{
event.setQuitMessage(null);
}
- else if (ess.getSettings().isCustomQuitMessage())
+ else if (ess.getSettings().isCustomQuitMessage() && event.getQuitMessage() != null)
{
final Player player = event.getPlayer();
event.setQuitMessage(
@@ -163,12 +165,7 @@ public class EssentialsPlayerListener implements Listener
.replace("{USERNAME}", player.getName())
);
}
- }
- @EventHandler(priority = EventPriority.MONITOR)
- public void onPlayerQuit(final PlayerQuitEvent event)
- {
- final User user = ess.getUser(event.getPlayer());
if (ess.getSettings().removeGodOnDisconnect() && user.isGodModeEnabled())
{
user.setGodModeEnabled(false);
@@ -187,34 +184,18 @@ public class EssentialsPlayerListener implements Listener
}
@EventHandler(priority = EventPriority.HIGHEST)
- public void onPlayerJoinHighest(final PlayerJoinEvent event)
- {
- if(ess.getSettings().allowSilentJoinQuit() && event.getPlayer().hasPermission("essentials.silentjoin"))
- {
- event.setJoinMessage(null);
- }
- else if (ess.getSettings().isCustomJoinMessage())
- {
- final Player player = event.getPlayer();
- event.setJoinMessage(
- ess.getSettings().getCustomJoinMessage()
- .replace("{PLAYER}", player.getDisplayName())
- .replace("{USERNAME}", player.getName())
- );
- }
- }
-
- @EventHandler(priority = EventPriority.MONITOR)
public void onPlayerJoin(final PlayerJoinEvent event)
{
+ final String joinMessage = event.getJoinMessage();
ess.runTaskAsynchronously(new Runnable()
{
@Override
public void run()
{
- delayedJoin(event.getPlayer(), event.getJoinMessage());
+ delayedJoin(event.getPlayer(), joinMessage);
}
});
+ event.setJoinMessage(null);
}
public void delayedJoin(final Player player, final String message)
@@ -227,6 +208,7 @@ public class EssentialsPlayerListener implements Listener
ess.getBackup().onPlayerJoin();
final User user = ess.getUser(player);
+
if (user.isNPC())
{
user.setNPC(false);
@@ -267,6 +249,19 @@ public class EssentialsPlayerListener implements Listener
user.setSleepingIgnored(true);
}
+ if (ess.getSettings().isCustomJoinMessage())
+ {
+ ess.getServer().broadcastMessage(
+ ess.getSettings().getCustomJoinMessage()
+ .replace("{PLAYER}", player.getDisplayName())
+ .replace("{USERNAME}", player.getName())
+ );
+ }
+ else if (!(ess.getSettings().allowSilentJoinQuit() && user.isAuthorized("esentials.silentjoin")))
+ {
+ ess.getServer().broadcastMessage(message);
+ }
+
if (!ess.getSettings().isCommandDisabled("motd") && user.isAuthorized("essentials.motd"))
{
try
diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java
index a218b5e2e..0f961d7ab 100644
--- a/Essentials/src/com/earth2me/essentials/Settings.java
+++ b/Essentials/src/com/earth2me/essentials/Settings.java
@@ -1134,7 +1134,7 @@ public class Settings implements net.ess3.api.ISettings
public String _getCustomJoinMessage()
{
- return ChatColor.translateAlternateColorCodes('&', config.getString("custom-join-message", "none"));
+ return FormatUtil.replaceFormat(config.getString("custom-join-message", "none"));
}
@Override
@@ -1153,7 +1153,7 @@ public class Settings implements net.ess3.api.ISettings
public String _getCustomQuitMessage()
{
- return ChatColor.translateAlternateColorCodes('&', config.getString("custom-quit-message", "none"));
+ return FormatUtil.replaceFormat(config.getString("custom-quit-message", "none"));
}
@Override