Interface ComponentBuilder<C extends BuildableComponent<C,​B>,​B extends ComponentBuilder<C,​B>>

    • Method Detail

      • append

        @Contract("_ -> this")
        @NonNull B append​(@NonNull Component component)
        Appends a component to this component.
        Parameters:
        component - the component to append
        Returns:
        this builder
        Since:
        4.0.0
      • append

        @Contract("_ -> this")
        default @NonNull B append​(@NonNull ComponentLike component)
        Appends a component to this component.
        Parameters:
        component - the component to append
        Returns:
        this builder
        Since:
        4.0.0
      • append

        @Contract("_ -> this")
        default @NonNull B append​(@NonNull ComponentBuilder<?,​?> builder)
        Appends a component to this component.
        Parameters:
        builder - the component to append
        Returns:
        this builder
        Since:
        4.0.0
      • append

        @Contract("_ -> this")
        @NonNull B append​(@NonNull Component @NonNull ... components)
        Appends components to this component.
        Parameters:
        components - the components to append
        Returns:
        this builder
        Since:
        4.0.0
      • append

        @Contract("_ -> this")
        @NonNull B append​(@NonNull ComponentLike @NonNull ... components)
        Appends components to this component.
        Parameters:
        components - the components to append
        Returns:
        this builder
        Since:
        4.0.0
      • append

        @Contract("_ -> this")
        @NonNull B append​(@NonNull Iterable<? extends ComponentLike> components)
        Appends components to this component.
        Parameters:
        components - the components to append
        Returns:
        this builder
        Since:
        4.0.0
      • apply

        @Contract("_ -> this")
        default @NonNull B apply​(@NonNull Consumer<? super ComponentBuilder<?,​?>> consumer)
        Applies an action to this builder.
        Parameters:
        consumer - the action
        Returns:
        this builder
        Since:
        4.0.0
      • applyDeep

        @Contract("_ -> this")
        @NonNull B applyDeep​(@NonNull Consumer<? super ComponentBuilder<?,​?>> action)
        Applies an action to this component and all child components if they are an instance of BuildableComponent.
        Parameters:
        action - the action
        Returns:
        this builder
        Since:
        4.0.0
      • mapChildren

        @Contract("_ -> this")
        @NonNull B mapChildren​(@NonNull Function<BuildableComponent<?,​?>,​? extends BuildableComponent<?,​?>> function)
        Replaces each child of this component with the resultant component from the function.
        Parameters:
        function - the mapping function
        Returns:
        this builder
        Since:
        4.0.0
      • mapChildrenDeep

        @Contract("_ -> this")
        @NonNull B mapChildrenDeep​(@NonNull Function<BuildableComponent<?,​?>,​? extends BuildableComponent<?,​?>> function)
        Replaces each child and sub-child of this component with the resultant component of the function.
        Parameters:
        function - the mapping function
        Returns:
        this builder
        Since:
        4.0.0
      • style

        @Contract("_ -> this")
        @NonNull B style​(@NonNull Style style)
        Sets the style.
        Parameters:
        style - the style
        Returns:
        this builder
        Since:
        4.0.0
      • style

        @Contract("_ -> this")
        @NonNull B style​(@NonNull Consumer<Style.Builder> consumer)
        Configures the style.
        Parameters:
        consumer - the style consumer
        Returns:
        this builder
        Since:
        4.0.0
      • font

        @Contract("_ -> this")
        @NonNull B font​(@Nullable net.kyori.adventure.key.Key font)
        Sets the font of this component.
        Parameters:
        font - the font
        Returns:
        this builder
        Since:
        4.0.0
      • color

        @Contract("_ -> this")
        @NonNull B color​(@Nullable TextColor color)
        Sets the color of this component.
        Parameters:
        color - the color
        Returns:
        this builder
        Since:
        4.0.0
      • colorIfAbsent

        @Contract("_ -> this")
        @NonNull B colorIfAbsent​(@Nullable TextColor color)
        Sets the color of this component if there isn't one set already.
        Parameters:
        color - the color
        Returns:
        this builder
        Since:
        4.0.0
      • decorations

        @Contract("_ -> this")
        default @NonNull B decorations​(@NonNull Set<TextDecoration> decorations,
                                       boolean flag)
        Sets the state of a set of decorations to flag on this component.
        Parameters:
        decorations - the decorations
        flag - true if this component should have the decorations, false if this component should not have the decorations
        Returns:
        this builder
        Since:
        4.0.0
      • decorate

        @Contract("_ -> this")
        default @NonNull B decorate​(@NonNull TextDecoration decoration)
        Sets the state of decoration to TextDecoration.State.TRUE.
        Parameters:
        decoration - the decoration
        Returns:
        this builder
        Since:
        4.0.0
      • decorate

        @Contract("_ -> this")
        default @NonNull B decorate​(@NonNull TextDecoration @NonNull ... decorations)
        Sets decorations to TextDecoration.State.TRUE.
        Parameters:
        decorations - the decorations
        Returns:
        this builder
        Since:
        4.0.0
      • decoration

        @Contract("_, _ -> this")
        default @NonNull B decoration​(@NonNull TextDecoration decoration,
                                      boolean flag)
        Sets the state of a decoration on this component.
        Parameters:
        decoration - the decoration
        flag - true if this component should have the decoration, false if this component should not have the decoration
        Returns:
        this builder
        Since:
        4.0.0
      • clickEvent

        @Contract("_ -> this")
        @NonNull B clickEvent​(@Nullable ClickEvent event)
        Sets the click event of this component.
        Parameters:
        event - the click event
        Returns:
        this builder
        Since:
        4.0.0
      • hoverEvent

        @Contract("_ -> this")
        @NonNull B hoverEvent​(@Nullable HoverEventSource<?> source)
        Sets the hover event of this component.
        Parameters:
        source - the hover event source
        Returns:
        this builder
        Since:
        4.0.0
      • insertion

        @Contract("_ -> this")
        @NonNull B insertion​(@Nullable String insertion)
        Sets the string to be inserted when this component is shift-clicked.
        Parameters:
        insertion - the insertion string
        Returns:
        this builder
        Since:
        4.0.0
      • mergeStyle

        @Contract("_ -> this")
        default @NonNull B mergeStyle​(@NonNull Component that)
        Merges styling from another component into this component.
        Parameters:
        that - the other component
        Returns:
        this builder
        Since:
        4.0.0
      • mergeStyle

        @Contract("_, _ -> this")
        default @NonNull B mergeStyle​(@NonNull Component that,
                                      @NonNull Style.Merge @NonNull ... merges)
        Merges styling from another component into this component.
        Parameters:
        that - the other component
        merges - the parts to merge
        Returns:
        this builder
        Since:
        4.0.0
      • mergeStyle

        @Contract("_, _ -> this")
        @NonNull B mergeStyle​(@NonNull Component that,
                              @NonNull Set<Style.Merge> merges)
        Merges styling from another component into this component.
        Parameters:
        that - the other component
        merges - the parts to merge
        Returns:
        this builder
        Since:
        4.0.0
      • resetStyle

        @Contract("-> this")
        @NonNull B resetStyle()
        Resets all styling on this component.
        Returns:
        this builder
        Since:
        4.0.0
      • applicableApply

        @Contract("_ -> this")
        default @NonNull B applicableApply​(@NonNull ComponentBuilderApplicable applicable)
        Applies applicable.
        Parameters:
        applicable - the thing to apply
        Returns:
        this builder
        Since:
        4.0.0