Fix hover messages for players

This commit is contained in:
kosgan10 2013-12-30 18:07:30 +02:00
parent 6c795a25ff
commit f3766bc10b

View File

@ -1,17 +1,15 @@
package net.md_5.bungee.command; package net.md_5.bungee.command;
import com.google.common.base.Joiner;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent; import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command; import net.md_5.bungee.api.plugin.Command;
import net.md_5.bungee.chat.ComponentSerializer; import net.md_5.bungee.chat.ComponentSerializer;
import java.util.Arrays; import com.google.common.base.Joiner;
public class CommandAlertRaw extends Command public class CommandAlertRaw extends Command
{ {
@ -36,13 +34,18 @@ public class CommandAlertRaw extends Command
ProxyServer.getInstance().broadcast( ComponentSerializer.parse( message ) ); ProxyServer.getInstance().broadcast( ComponentSerializer.parse( message ) );
} catch ( Exception e ) } catch ( Exception e )
{ {
Throwable error = e;
while ( error.getCause() != null )
{
error = error.getCause();
}
if ( sender instanceof ProxiedPlayer ) if ( sender instanceof ProxiedPlayer )
{ {
sender.sendMessage( sender.sendMessage(
new ComponentBuilder( "An error occurred while parsing your message. (Hover for details)" ). new ComponentBuilder( "An error occurred while parsing your message. (Hover for details)" ).
color( ChatColor.RED ).underlined( true ). color( ChatColor.RED ).underlined( true ).
event( new HoverEvent( HoverEvent.Action.SHOW_TEXT, event( new HoverEvent( HoverEvent.Action.SHOW_TEXT,
new ComponentBuilder( e.getMessage() ).color( ChatColor.RED ).create() ) ). new ComponentBuilder( error.getMessage() ).color( ChatColor.RED ).create() ) ).
create() ); create() );
} else } else
{ {