Interface Audience
- All Known Subinterfaces:
- ForwardingAudience,- ForwardingAudience.Single
public interface Audience
Audience is designed to be a universal interface for any player,
 command sender, console, or otherwise who can receive text, titles,
 boss bars, and other Minecraft media. It is also designed for a group of
 receivers such as a team, server, world, or permission.
In the past, Minecraft platforms have typically reserved methods such as
 showTitle for a Player interface. While this is good
 textbook object-oriented design, it presents two key drawbacks: 1) there
 is no abstraction for groups of players, such as a Server or a
 Team and 2) it add boilerplate for handling special cases like
 console or command senders.
Consider the use-case of sending a message and title to every player on a
 server, and also sending a message to console. Without an Audience,
 the code might look like this:
   Server server;
   for (Player player : server.getPlayers()) {
     player.sendMessage(...);
     player.showTitle(...);
   }
   server.getConsole().sendMessage(...);
 Now, if Server implemented Audience, its unified interface
 would allow users to easily send media without if-guarding console or
 iterating through the list of players:
Server server; server.sendMessage(...); // Sends a message to players and console server.showTitle(...); // Shows a title to players, silently ignored by console
When an Audience is unable to perform an operation, such as sending
 a boss bar to console, it will silently fail, without logging. This
 requirement allows users to easily send media to a group of
 Audiences without checking each for compatibility.
While the scope of Audience may be expanded in the future to support
 new Minecraft media such as the player list, its interface will remain stateless
 and any new methods will be stubbed by default.
- Since:
- 4.0.0
- See Also:
- ForwardingAudience
- 
Method SummaryModifier and Type Method Description static @NonNull ForwardingAudienceaudience(@NonNull Iterable<? extends Audience> audiences)Creates an audience that forwards to many other audiences.static @NonNull Audienceaudience(@NonNull Audience @NonNull ... audiences)Creates an audience that forwards to many other audiences.default voidclearTitle()Clears the title, if one is being displayed.static @NonNull Audienceempty()Gets an audience that does nothing.default voidhideBossBar(@NonNull BossBar bar)Hides a boss bar.default voidopenBook(@NonNull Book book)Opens a book.default voidopenBook(@NonNull Book.Builder book)Opens a book.default voidplaySound(@NonNull Sound sound)Plays a sound.default voidplaySound(@NonNull Sound sound, double x, double y, double z)Plays a sound at a location.default voidresetTitle()Resets the title and timings back to their default.default voidsendActionBar(@NonNull Component message)Sends a message on the action bar.default voidsendActionBar(@NonNull ComponentLike message)Sends a message on the action bar.default voidsendMessage(@NonNull Identified source, @NonNull Component message)Sends a chat message from the givenIdentifiedto thisAudience.default voidsendMessage(@NonNull Identified source, @NonNull ComponentLike message)Sends a chat message from the givenIdentifiedto thisAudience.default voidsendMessage(@NonNull Identified source, @NonNull ComponentLike message, @NonNull MessageType type)Sends a chat message from the givenIdentifiedto thisAudience.default voidsendMessage(@NonNull Identified source, @NonNull Component message, @NonNull MessageType type)Sends a chat message.default voidsendMessage(@NonNull Identity source, @NonNull Component message)Sends a chat message from the entity represented by the givenIdentity(or the game usingIdentity.nil()) to thisAudience.default voidsendMessage(@NonNull Identity source, @NonNull ComponentLike message)Sends a chat message from the entity represented by the givenIdentity(or the game usingIdentity.nil()) to thisAudience.default voidsendMessage(@NonNull Identity source, @NonNull ComponentLike message, @NonNull MessageType type)Sends a chat message from the entity represented by the givenIdentity(or the game usingIdentity.nil()) to thisAudience.default voidsendMessage(@NonNull Identity source, @NonNull Component message, @NonNull MessageType type)Sends a chat message.default voidsendMessage(@NonNull Component message)default voidsendMessage(@NonNull ComponentLike message)default voidsendMessage(@NonNull ComponentLike message, @NonNull MessageType type)default voidsendMessage(@NonNull Component message, @NonNull MessageType type)default voidshowBossBar(@NonNull BossBar bar)Shows a boss bar.default voidshowTitle(@NonNull Title title)Shows a title.default voidstopSound(@NonNull SoundStop stop)Stops a sound, or many sounds.static @NonNull Collector<? super Audience,?,ForwardingAudience>toAudience()Provides a collector to create a forwarding audience from a stream of audiences.
- 
Method Details- 
emptyGets an audience that does nothing.- Returns:
- a do-nothing audience
- Since:
- 4.0.0
 
- 
audienceCreates an audience that forwards to many other audiences.- Parameters:
- audiences- an array of audiences, can be empty
- Returns:
- an audience
- Since:
- 4.0.0
- See Also:
- ForwardingAudience
 
- 
audienceCreates an audience that forwards to many other audiences.The underlying Iterableis not copied, therefore any changes made will be reflected inAudience.- Parameters:
- audiences- an iterable of audiences, can be empty
- Returns:
- an audience
- Since:
- 4.0.0
- See Also:
- ForwardingAudience
 
- 
toAudienceProvides a collector to create a forwarding audience from a stream of audiences.The audience produced is immutable and can be reused as desired. - Returns:
- a collector to create a forwarding audience
- Since:
- 4.0.0
 
- 
sendMessage- Parameters:
- message- a message
- Since:
- 4.1.0
- See Also:
- Component,- sendMessage(Identified, ComponentLike),- sendMessage(Identity, ComponentLike)
 
- 
sendMessageSends a chat message from the givenIdentifiedto thisAudience.- Parameters:
- source- the source of the message
- message- a message
- Since:
- 4.0.0
- See Also:
- Component
 
- 
sendMessageSends a chat message from the entity represented by the givenIdentity(or the game usingIdentity.nil()) to thisAudience.- Parameters:
- source- the identity of the source of the message
- message- a message
- Since:
- 4.0.0
- See Also:
- Component
 
- 
sendMessage- Parameters:
- message- a message
- Since:
- 4.1.0
- See Also:
- Component,- sendMessage(Identified, Component),- sendMessage(Identity, Component)
 
- 
sendMessageSends a chat message from the givenIdentifiedto thisAudience.- Parameters:
- source- the source of the message
- message- a message
- Since:
- 4.0.0
- See Also:
- Component
 
- 
sendMessageSends a chat message from the entity represented by the givenIdentity(or the game usingIdentity.nil()) to thisAudience.- Parameters:
- source- the identity of the source of the message
- message- a message
- Since:
- 4.0.0
- See Also:
- Component
 
- 
sendMessage- Parameters:
- message- a message
- type- the type
- Since:
- 4.1.0
- See Also:
- Component,- sendMessage(Identified, ComponentLike, MessageType),- sendMessage(Identity, ComponentLike, MessageType)
 
- 
sendMessagedefault void sendMessage(@NonNull Identified source, @NonNull ComponentLike message, @NonNull MessageType type)Sends a chat message from the givenIdentifiedto thisAudience.- Parameters:
- source- the source of the message
- message- a message
- type- the type
- Since:
- 4.0.0
- See Also:
- Component
 
- 
sendMessagedefault void sendMessage(@NonNull Identity source, @NonNull ComponentLike message, @NonNull MessageType type)Sends a chat message from the entity represented by the givenIdentity(or the game usingIdentity.nil()) to thisAudience.- Parameters:
- source- the identity of the source of the message
- message- a message
- type- the type
- Since:
- 4.0.0
- See Also:
- Component
 
- 
sendMessage- Parameters:
- message- a message
- type- the type
- Since:
- 4.1.0
- See Also:
- Component,- sendMessage(Identified, Component, MessageType),- sendMessage(Identity, Component, MessageType)
 
- 
sendMessagedefault void sendMessage(@NonNull Identified source, @NonNull Component message, @NonNull MessageType type)Sends a chat message.- Parameters:
- source- the source of the message
- message- a message
- type- the type
- Since:
- 4.0.0
- See Also:
- Component
 
- 
sendMessagedefault void sendMessage(@NonNull Identity source, @NonNull Component message, @NonNull MessageType type)Sends a chat message.- Parameters:
- source- the identity of the source of the message
- message- a message
- type- the type
- Since:
- 4.0.0
- See Also:
- Component
 
- 
sendActionBarSends a message on the action bar.- Parameters:
- message- a message
- Since:
- 4.0.0
- See Also:
- Component
 
- 
sendActionBarSends a message on the action bar.- Parameters:
- message- a message
- Since:
- 4.0.0
- See Also:
- Component
 
- 
showTitleShows a title.- Parameters:
- title- a title
- Since:
- 4.0.0
- See Also:
- Title
 
- 
clearTitledefault void clearTitle()Clears the title, if one is being displayed.- Since:
- 4.0.0
- See Also:
- Title
 
- 
resetTitledefault void resetTitle()Resets the title and timings back to their default.- Since:
- 4.0.0
- See Also:
- Title
 
- 
showBossBarShows a boss bar.- Parameters:
- bar- a boss bar
- Since:
- 4.0.0
- See Also:
- BossBar
 
- 
hideBossBarHides a boss bar.- Parameters:
- bar- a boss bar
- Since:
- 4.0.0
- See Also:
- BossBar
 
- 
playSoundPlays a sound.- Parameters:
- sound- a sound
- Since:
- 4.0.0
- See Also:
- Sound
 
- 
playSoundPlays a sound at a location.- Parameters:
- sound- a sound
- x- x coordinate
- y- y coordinate
- z- z coordinate
- Since:
- 4.0.0
- See Also:
- Sound
 
- 
stopSoundStops a sound, or many sounds.- Parameters:
- stop- a sound stop
- Since:
- 4.0.0
- See Also:
- SoundStop
 
- 
openBookOpens a book.When possible, no item should persist after closing the book. - Parameters:
- book- a book
- Since:
- 4.0.0
- See Also:
- Book
 
- 
openBookOpens a book.When possible, no item should persist after closing the book. - Parameters:
- book- a book
- Since:
- 4.0.0
- See Also:
- Book
 
 
-