001package com.ericlam.mc.bungee.hnmc.builders;
002
003import net.md_5.bungee.api.ChatColor;
004import net.md_5.bungee.api.CommandSender;
005import net.md_5.bungee.api.chat.BaseComponent;
006import net.md_5.bungee.api.chat.TextComponent;
007
008public class AdvMessageBuilder {
009    private TextComponent textComponent;
010
011    public AdvMessageBuilder(String msg) {
012        String amsg = ChatColor.translateAlternateColorCodes('&', msg);
013        textComponent = new TextComponent(amsg);
014    }
015
016    public AdvMessageBuilder add(String... msg) {
017        for (String s : msg) {
018            String m = ChatColor.translateAlternateColorCodes('&', s);
019            textComponent.addExtra(m);
020        }
021        return this;
022    }
023
024    public AdvMessageBuilder add(BaseComponent baseComponent) {
025        textComponent.addExtra(baseComponent);
026        return this;
027    }
028
029    public AdvMessageBuilder add(MessageBuilder builder) {
030        for (BaseComponent component : builder.build()) {
031            textComponent.addExtra(component);
032        }
033        return this;
034    }
035
036    public AdvMessageBuilder nextLine() {
037        textComponent.addExtra("\n");
038        return this;
039    }
040
041    public TextComponent build() {
042        return textComponent;
043    }
044
045    public void sendPlayer(CommandSender player) {
046        player.sendMessage(textComponent);
047    }
048
049
050}