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}