package discord.jar; import java.awt.*; import java.util.ArrayList; import java.util.List; public class EmbedBuilder { private String title; private String type; private String description; private String url; private Color color; private Embed.EmbedFooter footer; private Embed.EmbedImage image; private Embed.EmbedImage thumbnail; private Embed.EmbedMedia video; private Embed.EmbedProvider provider; private Embed.EmbedAuthor author; private List<Embed.EmbedField> fields = new ArrayList<>(); public EmbedBuilder withTitle(String title) { this.title = title; return this; } public EmbedBuilder withType(String type) { this.type = type; return this; } public EmbedBuilder withDescription(String description) { this.description = description; return this; } public EmbedBuilder withUrl(String url) { this.url = url; return this; } public EmbedBuilder withColor(Color color) { this.color = color; return this; } public EmbedBuilder withFooter(Embed.EmbedFooter footer) { this.footer = footer; return this; } public EmbedBuilder withFooter(String text, String iconUrl) { this.footer = new Embed.EmbedFooter(text, iconUrl, null); return this; } public EmbedBuilder withImage(Embed.EmbedImage image) { this.image = image; return this; } public EmbedBuilder withImage(String url) { this.image = new Embed.EmbedImage(url, null, -1, -1); return this; } public EmbedBuilder withThumbnail(Embed.EmbedImage thumbnail) { this.thumbnail = thumbnail; return this; } public EmbedBuilder withThumbnail(String url) { this.thumbnail = new Embed.EmbedImage(url, null, -1, -1); return this; } public EmbedBuilder withVideo(Embed.EmbedMedia video) { this.video = video; return this; } public EmbedBuilder withVideo(String url) { this.video = new Embed.EmbedMedia(url, -1, -1); return this; } public EmbedBuilder withProvider(Embed.EmbedProvider provider) { this.provider = provider; return this; } public EmbedBuilder withProvider(String name, String url) { this.provider = new Embed.EmbedProvider(name, url); return this; } public EmbedBuilder withAuthor(Embed.EmbedAuthor author) { this.author = author; return this; } public EmbedBuilder withAuthor(String name, String url, String iconUrl) { this.author = new Embed.EmbedAuthor(name, url, iconUrl, null); return this; } public EmbedBuilder appendField(Embed.EmbedField field) { this.fields.add(field); return this; } public EmbedBuilder appendField(String name, String value, boolean inline) { this.fields.add(new Embed.EmbedField(name, value, inline)); return this; } public Embed build() { return new Embed(title, type, description, url, color, footer, image, thumbnail, video, provider, author, fields.toArray(new Embed.EmbedField[0])); } }