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

java.lang.Object
net.kyori.adventure.platform.facet.FacetAudienceProvider<V,A>
Type Parameters:
V - the viewer type
A - the audience type
All Implemented Interfaces:
AutoCloseable, Audience, ForwardingAudience, AudienceProvider, Pointered

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

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

Since:
4.0.0
  • Field Details

  • Constructor Details

  • Method Details

    • 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 Audience> audiences()
      Specified by:
      audiences in interface ForwardingAudience
    • all

      @NotNull public @NotNull Audience all()
      Specified by:
      all in interface AudienceProvider
    • console

      @NotNull public @NotNull Audience console()
      Specified by:
      console in interface AudienceProvider
    • players

      @NotNull public @NotNull Audience players()
      Specified by:
      players in interface AudienceProvider
    • player

      @NotNull public @NotNull Audience player(@NotNull @NotNull UUID playerId)
      Specified by:
      player in interface AudienceProvider
    • filter

      @NotNull public @NotNull 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 Audience permission(@NotNull @NotNull String permission)
      Specified by:
      permission in interface AudienceProvider
    • world

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

      @NotNull public @NotNull Audience server(@NotNull @NotNull String serverName)
      Specified by:
      server in interface AudienceProvider
    • close

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