Class FacetAudienceProvider<V,A extends FacetAudience<V>>
- java.lang.Object
-
- net.kyori.adventure.platform.facet.FacetAudienceProvider<V,A>
-
- Type Parameters:
V
- the viewer typeA
- the audience type
- All Implemented Interfaces:
java.lang.AutoCloseable
,Audience
,ForwardingAudience
,AudienceProvider
,Pointered
@Internal public abstract class FacetAudienceProvider<V,A extends FacetAudience<V>> extends java.lang.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
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.kyori.adventure.platform.AudienceProvider
AudienceProvider.Builder<P extends AudienceProvider,B extends AudienceProvider.Builder<P,B>>
-
Nested classes/interfaces inherited from interface net.kyori.adventure.audience.ForwardingAudience
ForwardingAudience.Single
-
-
Field Summary
Fields Modifier and Type Field Description protected ComponentRenderer<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 ComponentRenderer<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 Audience
all()
@NotNull java.lang.Iterable<? extends Audience>
audiences()
void
close()
@NotNull Audience
console()
protected abstract A
createAudience(@NotNull java.util.Collection<V> viewers)
Creates an audience for a collection of viewers.@NotNull Audience
filter(@NotNull java.util.function.Predicate<V> predicate)
Creates an audience based on a viewer predicate.@NotNull Audience
permission(@NotNull java.lang.String permission)
@NotNull Audience
player(@NotNull java.util.UUID playerId)
@NotNull Audience
players()
void
refreshViewer(V viewer)
Refreshes a viewer's metadata.void
removeViewer(V viewer)
Removes a viewer.@NotNull Audience
server(@NotNull java.lang.String serverName)
@NotNull 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, 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, deleteMessage, filterAudience, forEachAudience, hideBossBar, openBook, playSound, playSound, playSound, pointers, resetTitle, sendActionBar, sendMessage, sendMessage, sendMessage, 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 java.util.Locale DEFAULT_LOCALE
-
componentRenderer
protected final ComponentRenderer<Pointered> componentRenderer
-
viewers
protected final java.util.Map<V,A extends FacetAudience<V>> viewers
-
-
Constructor Detail
-
FacetAudienceProvider
protected FacetAudienceProvider(@NotNull @NotNull ComponentRenderer<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 Audience> audiences()
- Specified by:
audiences
in interfaceForwardingAudience
-
all
@NotNull public @NotNull Audience all()
- Specified by:
all
in interfaceAudienceProvider
-
console
@NotNull public @NotNull Audience console()
- Specified by:
console
in interfaceAudienceProvider
-
players
@NotNull public @NotNull Audience players()
- Specified by:
players
in interfaceAudienceProvider
-
player
@NotNull public @NotNull Audience player(@NotNull @NotNull java.util.UUID playerId)
- Specified by:
player
in interfaceAudienceProvider
-
filter
@NotNull public @NotNull 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 Audience permission(@NotNull @NotNull java.lang.String permission)
- Specified by:
permission
in interfaceAudienceProvider
-
world
@NotNull public @NotNull Audience world(@NotNull @NotNull net.kyori.adventure.key.Key world)
- Specified by:
world
in interfaceAudienceProvider
-
server
@NotNull public @NotNull Audience server(@NotNull @NotNull java.lang.String serverName)
- Specified by:
server
in interfaceAudienceProvider
-
close
public void close()
- Specified by:
close
in interfaceAudienceProvider
- Specified by:
close
in interfacejava.lang.AutoCloseable
-
-