Class FacetAudienceProvider<V,A extends FacetAudience<V>>
- java.lang.Object
-
- net.kyori.adventure.platform.facet.FacetAudienceProvider<V,A>
-
- All Implemented Interfaces:
java.lang.AutoCloseable,net.kyori.adventure.audience.Audience,net.kyori.adventure.audience.ForwardingAudience,AudienceProvider
public abstract class FacetAudienceProvider<V,A extends FacetAudience<V>> extends java.lang.Object implements AudienceProvider, net.kyori.adventure.audience.ForwardingAudience
-
-
Constructor Summary
Constructors Constructor Description FacetAudienceProvider()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddViewer(@NonNull V viewer)Adds a viewer.@NonNull net.kyori.adventure.audience.Audienceall()Gets an audience for all online players, including the server's console.@NonNull java.lang.Iterable<? extends net.kyori.adventure.audience.Audience>audiences()voidchangeViewer(@NonNull V viewer, @NonNull java.util.Locale locale)Changes a viewer's locale.voidclose()Closes the provider and forces audiences to be empty.@NonNull net.kyori.adventure.audience.Audienceconsole()Gets an audience for the server's console.protected abstract @NonNull AcreateAudience(@NonNull java.util.Collection<V> viewers)Creates an audience for a collection of viewers.@NonNull net.kyori.adventure.audience.Audiencefilter(@NonNull java.util.function.Predicate<V> predicate)Creates an audience based on a viewer predicate.protected abstract @Nullable java.util.UUIDhasId(@NonNull V viewer)Gets theUUIDof a viewer, if they are a player.protected abstract booleanhasPermission(@NonNull V viewer, @NonNull java.lang.String permission)Gets whether a viewer has permission.protected abstract booleanisConsole(@NonNull V viewer)Gets whether a viewer is considered console.protected abstract booleanisInWorld(@NonNull V viewer, @NonNull net.kyori.adventure.key.Key world)Gets whether a viewer is in a world.protected abstract booleanisOnServer(@NonNull V viewer, @NonNull java.lang.String server)Gets whether a viewer is on a server.@NonNull net.kyori.adventure.audience.Audiencepermission(@NonNull java.lang.String permission)Gets or creates an audience containing all viewers with the provided permission.@NonNull net.kyori.adventure.audience.Audienceplayer(@NonNull java.util.UUID playerId)Gets an audience for an individual player.@NonNull net.kyori.adventure.audience.Audienceplayers()Gets an audience for all online players.voidremoveViewer(@NonNull V viewer)Removes a viewer.@NonNull net.kyori.adventure.audience.Audienceserver(@NonNull java.lang.String serverName)Gets an audience for online players on a server, including the server's console.@NonNull net.kyori.adventure.audience.Audienceworld(@NonNull net.kyori.adventure.key.Key world)Gets an audience for online players in a world, including the server's console.-
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
openBook, sendActionBar, sendMessage, sendMessage, sendMessage
-
Methods inherited from interface net.kyori.adventure.platform.AudienceProvider
permission
-
-
-
-
Method Detail
-
addViewer
public void addViewer(@NonNull V viewer)
Adds a viewer.- Parameters:
viewer- a viewer
-
removeViewer
public void removeViewer(@NonNull V viewer)
Removes a viewer.- Parameters:
viewer- a viewer
-
changeViewer
public void changeViewer(@NonNull V viewer, @NonNull java.util.Locale locale)
Changes a viewer's locale.- Parameters:
viewer- a viewerlocale- a locale
-
hasId
protected abstract @Nullable java.util.UUID hasId(@NonNull V viewer)
Gets theUUIDof a viewer, if they are a player.- Parameters:
viewer- a viewer- Returns:
- a player id or
nullif not a player
-
isConsole
protected abstract boolean isConsole(@NonNull V viewer)
Gets whether a viewer is considered console.- Parameters:
viewer- a viewer- Returns:
- if the viewer is console
-
hasPermission
protected abstract boolean hasPermission(@NonNull V viewer, @NonNull java.lang.String permission)
Gets whether a viewer has permission.- Parameters:
viewer- a viewerpermission- a permission node- Returns:
- if the viewer has permission
-
isInWorld
protected abstract boolean isInWorld(@NonNull V viewer, @NonNull net.kyori.adventure.key.Key world)
Gets whether a viewer is in a world.- Parameters:
viewer- a viewerworld- a world name- Returns:
- if the viewer is in the world
-
isOnServer
protected abstract boolean isOnServer(@NonNull V viewer, @NonNull java.lang.String server)
Gets whether a viewer is on a server.- Parameters:
viewer- a viewerserver- a server name- Returns:
- if the viewer is on the server
-
createAudience
protected abstract @NonNull A createAudience(@NonNull java.util.Collection<V> viewers)
Creates an audience for a collection of viewers.- Parameters:
viewers- a collection viewers- Returns:
- an audience
-
audiences
public @NonNull java.lang.Iterable<? extends net.kyori.adventure.audience.Audience> audiences()
- Specified by:
audiencesin interfacenet.kyori.adventure.audience.ForwardingAudience
-
all
public @NonNull net.kyori.adventure.audience.Audience all()
Description copied from interface:AudienceProviderGets an audience for all online players, including the server's console.The audience is dynamically updated as players join and leave.
- Specified by:
allin interfaceAudienceProvider- Returns:
- the players' and console audience
-
console
public @NonNull net.kyori.adventure.audience.Audience console()
Description copied from interface:AudienceProviderGets an audience for the server's console.- Specified by:
consolein interfaceAudienceProvider- Returns:
- the console audience
-
players
public @NonNull net.kyori.adventure.audience.Audience players()
Description copied from interface:AudienceProviderGets an audience for all online players.The audience is dynamically updated as players join and leave.
- Specified by:
playersin interfaceAudienceProvider- Returns:
- the players' audience
-
player
public @NonNull net.kyori.adventure.audience.Audience player(@NonNull java.util.UUID playerId)
Description copied from interface:AudienceProviderGets an audience for an individual player.If the player is not online, messages are silently dropped.
- Specified by:
playerin interfaceAudienceProvider- Parameters:
playerId- a player uuid- Returns:
- a player audience
-
filter
public @NonNull net.kyori.adventure.audience.Audience filter(@NonNull java.util.function.Predicate<V> predicate)
Creates an audience based on a viewer predicate.- Parameters:
predicate- a predicate- Returns:
- an audience
-
permission
public @NonNull net.kyori.adventure.audience.Audience permission(@NonNull java.lang.String permission)
Description copied from interface:AudienceProviderGets or creates an audience containing all viewers with the provided permission.The audience is dynamically updated as permissions change.
- Specified by:
permissionin interfaceAudienceProvider- Parameters:
permission- the permission to filter sending to- Returns:
- a permissible audience
-
world
public @NonNull net.kyori.adventure.audience.Audience world(@NonNull net.kyori.adventure.key.Key world)
Description copied from interface:AudienceProviderGets an audience for online players in a world, including the server's console.The audience is dynamically updated as players join and leave.
World identifiers were introduced in Minecraft 1.16. On older game instances, worlds will be assigned the
Keyminecraft:<world name>- Specified by:
worldin interfaceAudienceProvider- Parameters:
world- identifier for a world- Returns:
- the world's audience
-
server
public @NonNull net.kyori.adventure.audience.Audience server(@NonNull java.lang.String serverName)
Description copied from interface:AudienceProviderGets an audience for online players on a server, including the server's console.If the platform is not a proxy, the audience defaults to everyone.
- Specified by:
serverin interfaceAudienceProvider- Parameters:
serverName- a server name- Returns:
- a server's audience
-
close
public void close()
Description copied from interface:AudienceProviderCloses the provider and forces audiences to be empty.- Specified by:
closein interfaceAudienceProvider- Specified by:
closein interfacejava.lang.AutoCloseable
-
-