A powerful text formatting utility that leverages Adventure API to create rich text content with support for colors, gradients, and replacements.
// Import the TextBuilder class
import dev.nelmin.ndcore.builders.TextBuilder;
// Create a colored message using legacy color codes
Component coloredText = new TextBuilder("&aWelcome to the server!").colorize('&');
// Create text with a color gradient from blue to red
TextBuilder gradientText = new TextBuilder("This is a fancy title").gradient(Color.BLUE, Color.RED);
// Create a message with placeholders and replace them
TextBuilder personalizedMessage = new TextBuilder("Hello, {player}! Your balance is {balance}.");
personalizedMessage.replace("{player}", "Steve");
personalizedMessage.replace("{balance}", "1000");
// Create and send a message to a player
TextBuilder message = new TextBuilder("&6You received &e{amount} &6coins!");
message.replace("{amount}", "50");
message.sendTo(player, true);
// Parse text using MiniMessage format
TextBuilder miniMessage = new TextBuilder();
miniMessage.parseMiniMessage("<rainbow>This text has rainbow colors</rainbow>");
// Add prefix and suffix to a message
TextBuilder prefixedMessage = new TextBuilder("Welcome to the server!");
prefixedMessage.prefix("[Server]");
prefixedMessage.suffix(" Enjoy your stay!");
// Set content of an existing TextBuilder
TextBuilder contentExample = new TextBuilder();
contentExample.content("This is new content");
// Send a message to multiple players
TextBuilder teamMessage = new TextBuilder("Team objective completed!");
teamMessage.prefix("[Team]");
teamMessage.sendTo(playerList, true);
// Convert a component to plain text
TextBuilder converter = new TextBuilder("");
String plainText = converter.componentToPlainText(someComponent);
// Create text with alternating colors
TextBuilder alternatingText = new TextBuilder("This text alternates between colors");
alternatingText.alternate(TextColor.color(255, 0, 0), TextColor.color(0, 0, 255));