Class FacetAudienceProvider<V,​A extends FacetAudience<V>>

  • Type Parameters:
    V - the viewer type
    A - the audience type
    All Implemented Interfaces:
    AutoCloseable, net.kyori.adventure.audience.Audience, net.kyori.adventure.audience.ForwardingAudience, net.kyori.adventure.platform.AudienceProvider, net.kyori.adventure.pointer.Pointered

    @Internal
    public abstract class FacetAudienceProvider<V,​A extends FacetAudience<V>>
    extends Object
    implements net.kyori.adventure.platform.AudienceProvider, net.kyori.adventure.audience.ForwardingAudience
    An audience provider implementation using facets.

    This is not supported API. Subject to change at any time.

    Since:
    4.0.0
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface net.kyori.adventure.platform.AudienceProvider

        net.kyori.adventure.platform.AudienceProvider.Builder<P extends net.kyori.adventure.platform.AudienceProvider,​B extends net.kyori.adventure.platform.AudienceProvider.Builder<P,​B>>
      • Nested classes/interfaces inherited from interface net.kyori.adventure.audience.ForwardingAudience

        net.kyori.adventure.audience.ForwardingAudience.Single
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected net.kyori.adventure.text.renderer.ComponentRenderer<net.kyori.adventure.pointer.Pointered> componentRenderer  
      protected static Locale DEFAULT_LOCALE  
      protected Map<V,​A> viewers  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected FacetAudienceProvider​(@NotNull net.kyori.adventure.text.renderer.ComponentRenderer<net.kyori.adventure.pointer.Pointered> componentRenderer)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addViewer​(V viewer)
      Adds a viewer.
      @NotNull net.kyori.adventure.audience.Audience all()  
      @NotNull Iterable<? extends net.kyori.adventure.audience.Audience> audiences()  
      void close()  
      @NotNull net.kyori.adventure.audience.Audience console()  
      protected abstract A createAudience​(@NotNull Collection<V> viewers)
      Creates an audience for a collection of viewers.
      @NotNull net.kyori.adventure.audience.Audience filter​(@NotNull Predicate<V> predicate)
      Creates an audience based on a viewer predicate.
      @NotNull net.kyori.adventure.audience.Audience permission​(@NotNull String permission)  
      @NotNull net.kyori.adventure.audience.Audience player​(@NotNull UUID playerId)  
      @NotNull net.kyori.adventure.audience.Audience players()  
      void refreshViewer​(V viewer)
      Refreshes a viewer's metadata.
      void removeViewer​(V viewer)
      Removes a viewer.
      @NotNull net.kyori.adventure.audience.Audience server​(@NotNull String serverName)  
      @NotNull net.kyori.adventure.audience.Audience world​(@NotNull net.kyori.adventure.key.Key world)  
      • Methods inherited from interface net.kyori.adventure.audience.Audience

        openBook, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeaderAndFooter, showTitle, stopSound
      • Methods inherited from interface net.kyori.adventure.platform.AudienceProvider

        flattener, permission
      • Methods inherited from interface net.kyori.adventure.audience.ForwardingAudience

        clearTitle, filterAudience, forEachAudience, hideBossBar, openBook, playSound, playSound, playSound, pointers, resetTitle, sendActionBar, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendTitlePart, showBossBar, stopSound
      • Methods inherited from interface net.kyori.adventure.pointer.Pointered

        get, getOrDefault, getOrDefaultFrom
    • Field Detail

      • DEFAULT_LOCALE

        protected static final Locale DEFAULT_LOCALE
      • componentRenderer

        protected final net.kyori.adventure.text.renderer.ComponentRenderer<net.kyori.adventure.pointer.Pointered> componentRenderer
    • Constructor Detail

      • FacetAudienceProvider

        protected FacetAudienceProvider​(@NotNull
                                        @NotNull net.kyori.adventure.text.renderer.ComponentRenderer<net.kyori.adventure.pointer.Pointered> componentRenderer)
    • Method Detail

      • addViewer

        public void addViewer​(@NotNull
                              V viewer)
        Adds a viewer.
        Parameters:
        viewer - a viewer
        Since:
        4.0.0
      • removeViewer

        public void removeViewer​(@NotNull
                                 V viewer)
        Removes a viewer.
        Parameters:
        viewer - a viewer
        Since:
        4.0.0
      • refreshViewer

        public void refreshViewer​(@NotNull
                                  V viewer)
        Refreshes a viewer's metadata.

        Should be called after a viewer changes their locale, world, server, etc.

        Parameters:
        viewer - a viewer
        Since:
        4.0.0
      • createAudience

        @NotNull
        protected abstract A createAudience​(@NotNull
                                            @NotNull Collection<V> viewers)
        Creates an audience for a collection of viewers.
        Parameters:
        viewers - a collection viewers
        Returns:
        an audience
      • audiences

        @NotNull
        public @NotNull Iterable<? extends net.kyori.adventure.audience.Audience> audiences()
        Specified by:
        audiences in interface net.kyori.adventure.audience.ForwardingAudience
      • all

        @NotNull
        public @NotNull net.kyori.adventure.audience.Audience all()
        Specified by:
        all in interface net.kyori.adventure.platform.AudienceProvider
      • console

        @NotNull
        public @NotNull net.kyori.adventure.audience.Audience console()
        Specified by:
        console in interface net.kyori.adventure.platform.AudienceProvider
      • players

        @NotNull
        public @NotNull net.kyori.adventure.audience.Audience players()
        Specified by:
        players in interface net.kyori.adventure.platform.AudienceProvider
      • player

        @NotNull
        public @NotNull net.kyori.adventure.audience.Audience player​(@NotNull
                                                                     @NotNull UUID playerId)
        Specified by:
        player in interface net.kyori.adventure.platform.AudienceProvider
      • filter

        @NotNull
        public @NotNull net.kyori.adventure.audience.Audience filter​(@NotNull
                                                                     @NotNull Predicate<V> predicate)
        Creates an audience based on a viewer predicate.
        Parameters:
        predicate - a predicate
        Returns:
        an audience
        Since:
        4.0.0
      • permission

        @NotNull
        public @NotNull net.kyori.adventure.audience.Audience permission​(@NotNull
                                                                         @NotNull String permission)
        Specified by:
        permission in interface net.kyori.adventure.platform.AudienceProvider
      • world

        @NotNull
        public @NotNull net.kyori.adventure.audience.Audience world​(@NotNull
                                                                    @NotNull net.kyori.adventure.key.Key world)
        Specified by:
        world in interface net.kyori.adventure.platform.AudienceProvider
      • server

        @NotNull
        public @NotNull net.kyori.adventure.audience.Audience server​(@NotNull
                                                                     @NotNull String serverName)
        Specified by:
        server in interface net.kyori.adventure.platform.AudienceProvider
      • close

        public void close()
        Specified by:
        close in interface net.kyori.adventure.platform.AudienceProvider
        Specified by:
        close in interface AutoCloseable