mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-04-26 08:29:44 +00:00
Prevent errors in listeners affecting EssentialsChat
This commit is contained in:
parent
322fe386f6
commit
54133cd75e
1 changed files with 34 additions and 5 deletions
|
@ -6,6 +6,7 @@ import com.earth2me.essentials.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
|
@ -46,13 +47,27 @@ public abstract class EssentialsChatPlayer implements Listener
|
||||||
}
|
}
|
||||||
synchronized (listeners)
|
synchronized (listeners)
|
||||||
{
|
{
|
||||||
for (IEssentialsChatListener listener : listeners.values())
|
for (Map.Entry<String, IEssentialsChatListener> listener : listeners.entrySet())
|
||||||
{
|
{
|
||||||
if (listener.shouldHandleThisChat(event))
|
try
|
||||||
|
{
|
||||||
|
if (listener.getValue().shouldHandleThisChat(event))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (Throwable t)
|
||||||
|
{
|
||||||
|
if (ess.getSettings().isDebug())
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Error with EssentialsChat listener of " + listener.getKey() + ": " + t.getMessage(), t);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Error with EssentialsChat listener of " + listener.getKey() + ": " + t.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -160,9 +175,23 @@ public abstract class EssentialsChatPlayer implements Listener
|
||||||
String message = String.format(event.getFormat(), type.concat(sender.getDisplayName()), event.getMessage());
|
String message = String.format(event.getFormat(), type.concat(sender.getDisplayName()), event.getMessage());
|
||||||
synchronized (listeners)
|
synchronized (listeners)
|
||||||
{
|
{
|
||||||
for (IEssentialsChatListener listener : listeners.values())
|
for (Map.Entry<String, IEssentialsChatListener> listener : listeners.entrySet())
|
||||||
{
|
{
|
||||||
message = listener.modifyMessage(event, onlinePlayer, message);
|
try
|
||||||
|
{
|
||||||
|
message = listener.getValue().modifyMessage(event, onlinePlayer, message);
|
||||||
|
}
|
||||||
|
catch (Throwable t)
|
||||||
|
{
|
||||||
|
if (ess.getSettings().isDebug())
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Error with EssentialsChat listener of " + listener.getKey() + ": " + t.getMessage(), t);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Error with EssentialsChat listener of " + listener.getKey() + ": " + t.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onlineUser.sendMessage(message);
|
onlineUser.sendMessage(message);
|
||||||
|
|
Loading…
Reference in a new issue