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

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

    @Internal
    public abstract class FacetAudienceProvider<V,​A extends FacetAudience<V>>
    extends java.lang.Object
    implements 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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected net.kyori.adventure.text.renderer.ComponentRenderer<net.kyori.adventure.pointer.Pointered> componentRenderer  
      protected static java.util.Locale DEFAULT_LOCALE  
      protected java.util.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 java.lang.Iterable<? extends net.kyori.adventure.audience.Audience> audiences()  
      void close()  
      @NotNull net.kyori.adventure.audience.Audience console()  
      protected abstract A createAudience​(@NotNull java.util.Collection<V> viewers)
      Creates an audience for a collection of viewers.
      @NotNull net.kyori.adventure.audience.Audience filter​(@NotNull java.util.function.Predicate<V> predicate)
      Creates an audience based on a viewer predicate.
      @NotNull net.kyori.adventure.audience.Audience permission​(@NotNull java.lang.String permission)  
      @NotNull net.kyori.adventure.audience.Audience player​(@NotNull java.util.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 java.lang.String serverName)  
      @NotNull net.kyori.adventure.audience.Audience world​(@NotNull net.kyori.adventure.key.Key world)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface net.kyori.adventure.audience.Audience

        deleteMessage, openBook, removeResourcePacks, removeResourcePacks, removeResourcePacks, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendResourcePacks, sendResourcePacks, showTitle, stopSound
      • Methods inherited from interface net.kyori.adventure.audience.ForwardingAudience

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

        get, getOrDefault, getOrDefaultFrom
    • Field Detail

      • DEFAULT_LOCALE

        protected static final java.util.Locale DEFAULT_LOCALE
      • componentRenderer

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

        protected final java.util.Map<V,​A extends FacetAudience<V>> viewers
    • 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 java.util.Collection<V> viewers)
        Creates an audience for a collection of viewers.
        Parameters:
        viewers - a collection viewers
        Returns:
        an audience
      • audiences

        @NotNull
        public @NotNull java.lang.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 AudienceProvider
      • console

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

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

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

        @NotNull
        public @NotNull net.kyori.adventure.audience.Audience filter​(@NotNull
                                                                     @NotNull java.util.function.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 java.lang.String permission)
        Specified by:
        permission in interface AudienceProvider
      • world

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

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

        public void close()
        Specified by:
        close in interface AudienceProvider
        Specified by:
        close in interface java.lang.AutoCloseable