public final class ComponentBuilder extends Object
ComponentBuilder simplifies creating basic messages by allowing the use of a chainable builder.
new ComponentBuilder("Hello ").color(ChatColor.RED). append("World").color(ChatColor.BLUE). append("!").bold(true).create();
All methods (excluding append(String)
and create()
work on
the last part appended to the builder, so in the example above "Hello " would
be ChatColor.RED
and "World" would be
ChatColor.BLUE
but "!" would be bold and
ChatColor.BLUE
because append copies the previous
part's formatting
Modifier and Type | Class and Description |
---|---|
static class |
ComponentBuilder.FormatRetention |
static interface |
ComponentBuilder.Joiner
Functional interface to join additional components to a ComponentBuilder.
|
Constructor and Description |
---|
ComponentBuilder() |
ComponentBuilder(BaseComponent component)
Creates a ComponentBuilder with the given component as the first part.
|
ComponentBuilder(ComponentBuilder original)
Creates a ComponentBuilder from the other given ComponentBuilder to clone
it.
|
ComponentBuilder(String text)
Creates a ComponentBuilder with the given text as the first part.
|
Modifier and Type | Method and Description |
---|---|
ComponentBuilder |
append(BaseComponent component)
Appends a component to the builder and makes it the current target for
formatting.
|
ComponentBuilder |
append(BaseComponent[] components)
Appends the components to the builder and makes the last element the
current target for formatting.
|
ComponentBuilder |
append(BaseComponent[] components,
ComponentBuilder.FormatRetention retention)
Appends the components to the builder and makes the last element the
current target for formatting.
|
ComponentBuilder |
append(BaseComponent component,
ComponentBuilder.FormatRetention retention)
Appends a component to the builder and makes it the current target for
formatting.
|
ComponentBuilder |
append(ComponentBuilder.Joiner joiner)
Allows joining additional components to this builder using the given
ComponentBuilder.Joiner and ComponentBuilder.FormatRetention.ALL . |
ComponentBuilder |
append(ComponentBuilder.Joiner joiner,
ComponentBuilder.FormatRetention retention)
Allows joining additional components to this builder using the given
ComponentBuilder.Joiner . |
ComponentBuilder |
append(String text)
Appends the text to the builder and makes it the current target for
formatting.
|
ComponentBuilder |
append(String text,
ComponentBuilder.FormatRetention retention)
Appends the text to the builder and makes it the current target for
formatting.
|
ComponentBuilder |
appendLegacy(String text)
Parse text to BaseComponent[] with colors and format, appends the text to
the builder and makes it the current target for formatting.
|
ComponentBuilder |
bold(boolean bold)
Sets whether the current part is bold.
|
ComponentBuilder |
color(ChatColor color)
Sets the color of the current part.
|
BaseComponent[] |
create()
Returns the components needed to display the message created by this
builder.git
|
ComponentBuilder |
event(ClickEvent clickEvent)
Sets the click event for the current part.
|
ComponentBuilder |
event(HoverEvent hoverEvent)
Sets the hover event for the current part.
|
ComponentBuilder |
font(String font)
Sets the font of the current part.
|
BaseComponent |
getComponent(int pos)
Gets the component part at the position of given index.
|
BaseComponent |
getCurrentComponent()
Gets the component at the position of the cursor.
|
int |
getCursor()
The position for the current part to modify.
|
List<BaseComponent> |
getParts() |
ComponentBuilder |
insertion(String insertion)
Sets the insertion text for the current part.
|
ComponentBuilder |
italic(boolean italic)
Sets whether the current part is italic.
|
ComponentBuilder |
obfuscated(boolean obfuscated)
Sets whether the current part is obfuscated.
|
void |
removeComponent(int pos)
Remove the component part at the position of given index.
|
ComponentBuilder |
reset()
Sets the current part back to normal settings.
|
ComponentBuilder |
resetCursor()
Resets the cursor to index of the last element.
|
ComponentBuilder |
retain(ComponentBuilder.FormatRetention retention)
Retains only the specified formatting.
|
ComponentBuilder |
setCursor(int pos)
Sets the position of the current component to be modified
|
ComponentBuilder |
strikethrough(boolean strikethrough)
Sets whether the current part is strikethrough.
|
ComponentBuilder |
underlined(boolean underlined)
Sets whether the current part is underlined.
|
public ComponentBuilder(ComponentBuilder original)
original
- the original for the new ComponentBuilder.public ComponentBuilder(String text)
text
- the first text elementpublic ComponentBuilder(BaseComponent component)
component
- the first component elementpublic ComponentBuilder()
public ComponentBuilder resetCursor()
public ComponentBuilder setCursor(int pos) throws IndexOutOfBoundsException
pos
- the cursor position synonymous to an element position for a
listIndexOutOfBoundsException
- if the index is out of range
(index < 0 || index >= size()
)public ComponentBuilder append(BaseComponent component)
component
- the component to appendpublic ComponentBuilder append(BaseComponent component, ComponentBuilder.FormatRetention retention)
component
- the component to appendretention
- the formatting to retainpublic ComponentBuilder append(BaseComponent[] components)
components
- the components to appendpublic ComponentBuilder append(BaseComponent[] components, ComponentBuilder.FormatRetention retention)
components
- the components to appendretention
- the formatting to retainpublic ComponentBuilder append(String text)
text
- the text to appendpublic ComponentBuilder appendLegacy(String text)
text
- the text to appendpublic ComponentBuilder append(String text, ComponentBuilder.FormatRetention retention)
text
- the text to appendretention
- the formatting to retainpublic ComponentBuilder append(ComponentBuilder.Joiner joiner)
ComponentBuilder.Joiner
and ComponentBuilder.FormatRetention.ALL
.
Simply executes the provided joiner on this instance to facilitate a
chain pattern.joiner
- joiner used for operationpublic ComponentBuilder append(ComponentBuilder.Joiner joiner, ComponentBuilder.FormatRetention retention)
ComponentBuilder.Joiner
.
Simply executes the provided joiner on this instance to facilitate a
chain pattern.joiner
- joiner used for operationretention
- the formatting to retainpublic void removeComponent(int pos) throws IndexOutOfBoundsException
pos
- the index to remove atIndexOutOfBoundsException
- if the index is out of range
(index < 0 || index >= size()
)public BaseComponent getComponent(int pos) throws IndexOutOfBoundsException
pos
- the index to findIndexOutOfBoundsException
- if the index is out of range
(index < 0 || index >= size()
)public BaseComponent getCurrentComponent()
public ComponentBuilder color(ChatColor color)
color
- the new colorpublic ComponentBuilder font(String font)
font
- the new fontpublic ComponentBuilder bold(boolean bold)
bold
- whether this part is boldpublic ComponentBuilder italic(boolean italic)
italic
- whether this part is italicpublic ComponentBuilder underlined(boolean underlined)
underlined
- whether this part is underlinedpublic ComponentBuilder strikethrough(boolean strikethrough)
strikethrough
- whether this part is strikethroughpublic ComponentBuilder obfuscated(boolean obfuscated)
obfuscated
- whether this part is obfuscatedpublic ComponentBuilder insertion(String insertion)
insertion
- the insertion textpublic ComponentBuilder event(ClickEvent clickEvent)
clickEvent
- the click eventpublic ComponentBuilder event(HoverEvent hoverEvent)
hoverEvent
- the hover eventpublic ComponentBuilder reset()
public ComponentBuilder retain(ComponentBuilder.FormatRetention retention)
retention
- the formatting to retainpublic BaseComponent[] create()
public int getCursor()
public List<BaseComponent> getParts()
Copyright © 2012–2020 SpigotMC. All rights reserved.