package tc.oc.commons.core.chat;
import java.util.Collections;
import java.util.List;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
public class BlankComponent extends TextComponent {
public static final BlankComponent INSTANCE = new BlankComponent();
private BlankComponent() {
super("");
}
@Override
public BaseComponent duplicate() {
return this;
}
@Override
public String toPlainText() {
return "";
}
@Override
public String toLegacyText() {
return "";
}
@Override
public List<BaseComponent> getExtra() {
return Collections.emptyList();
}
@Override public void setExtra(List<BaseComponent> components) { throwImmutable(); }
@Override public void addExtra(String text) { throwImmutable(); }
@Override public void addExtra(BaseComponent component) { throwImmutable(); }
@Override public void setColor(ChatColor color) { throwImmutable(); }
@Override public void setBold(Boolean bold) { throwImmutable(); }
@Override public void setItalic(Boolean italic) { throwImmutable(); }
@Override public void setUnderlined(Boolean underlined) { throwImmutable(); }
@Override public void setStrikethrough(Boolean strikethrough) { throwImmutable(); }
@Override public void setObfuscated(Boolean obfuscated) { throwImmutable(); }
@Override public void setClickEvent(ClickEvent clickEvent) { throwImmutable(); }
@Override public void setHoverEvent(HoverEvent hoverEvent) { throwImmutable(); }
protected void throwImmutable() {
throw new UnsupportedOperationException(getClass().getSimpleName() + " is immutable");
}
}