Example usage for net.minecraftforge.client.event ClientChatReceivedEvent getMessage

List of usage examples for net.minecraftforge.client.event ClientChatReceivedEvent getMessage

Introduction

In this page you can find the example usage for net.minecraftforge.client.event ClientChatReceivedEvent getMessage.

Prototype

public ITextComponent getMessage() 

Source Link

Usage

From source file:com.crowsofwar.gorecore.chat.ChatSender.java

License:Open Source License

@SideOnly(Side.CLIENT)
@SubscribeEvent//from  w  w w  .  ja  v  a  2s. c o  m
public void processClientChat(ClientChatReceivedEvent e) {
    if (e.getMessage() instanceof TextComponentTranslation) {
        TextComponentTranslation message = (TextComponentTranslation) e.getMessage();

        String result = "";

        List<ITextComponent> comps = new ArrayList();

        Object[] cloneFormatArgs = getFormatArgs(message);
        comps.add(new TextComponentTranslation(getKey(message), cloneFormatArgs));

        comps.addAll(e.getMessage().getSiblings());
        boolean changed = false;

        for (ITextComponent chat : comps) {
            String processed = processChatComponent(chat);
            if (processed != null) {
                changed = true;
                result += processed;
            }
        }
        if (changed)
            e.setMessage(new TextComponentTranslation(result));
    }

}

From source file:net.jaspr.chatalerts.module.AlertHandler.java

License:Creative Commons License

@SubscribeEvent
@SideOnly(Side.CLIENT)//ww  w  .  j  ava 2 s . c o  m
public void onChatMessage(ClientChatReceivedEvent event) {
    EntityPlayer player = Minecraft.getMinecraft().player;

    String message = stripColors(event.getMessage().getUnformattedText());
    String username = player.getDisplayNameString();

    String strippedMessage = getStrippedMessage(message);
    String senderName = getSenderName(message);

    // Outgoing chat message
    if (isProbablyFromCurrentPlayer(message) || message.startsWith(username)) {
        // we don't want alerts for our own messages.
        return;
    }

    // No messages for current player status changes
    if (isCurrentPlayerAFKMessage(message, player) || isCurrentPlayerJoinMessage(message, player)
            || isCurrentPlayerAchievementMessage(message, player)) {
        return;
    }

    // Incoming private message
    if (alertOnPrivateMessage && isProbablyPrivateMessage(message)) {
        String recipient = getPrivateMessageRecipient(message).toLowerCase();
        if (recipient.equals("me") || recipient.equals(username.toLowerCase())) {
            playAlert(message);
            return;
        }
    }

    // Username was mentioned in an incoming message
    if (alertOnUserMention && strippedMessage.toLowerCase().contains(username.toLowerCase())) {
        playAlert(message);
        return;
    }

    // Incoming server message.
    if (alertOnServerMessage && isProbablyFromServer(message)) {
        playAlert(message);
        return;
    }

    // Matches user-defined chat terms or senders.
    if (additionalMatchTerms.length > 0 || starredUsers.length > 0) {
        for (String term : additionalMatchTerms) {
            if (!term.trim().isEmpty() && strippedMessage.toLowerCase().contains(term.trim().toLowerCase())) {
                playAlert(message);
                return;
            }
        }
        for (String starredSender : starredUsers) {
            if (!senderName.isEmpty() && senderName.toLowerCase().equals(starredSender.trim().toLowerCase())) {
                playAlert(message);
                return;
            }
        }
    }
}