Package org.bukkit.plugin.messaging
Class StandardMessenger
java.lang.Object
org.bukkit.plugin.messaging.StandardMessenger
- All Implemented Interfaces:
Messenger
Standard implementation to
Messenger
-
Field Summary
Fields inherited from interface org.bukkit.plugin.messaging.Messenger
MAX_CHANNEL_SIZE, MAX_MESSAGE_SIZE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispatchIncomingMessage
(@NotNull PlayerConnection source, @NotNull String channel, byte @NotNull [] message) Dispatches the specified incoming message to any registered listeners.void
dispatchIncomingMessage
(@NotNull Player source, @NotNull String channel, byte @NotNull [] message) Deprecated.@NotNull Set
<PluginMessageListenerRegistration> getIncomingChannelRegistrations
(@NotNull String channel) Gets a set containing all the incoming plugin channel registrations that are on the requested channel.@NotNull Set
<PluginMessageListenerRegistration> getIncomingChannelRegistrations
(@NotNull Plugin plugin) Gets a set containing all the incoming plugin channel registrations that the specified plugin has.@NotNull Set
<PluginMessageListenerRegistration> getIncomingChannelRegistrations
(@NotNull Plugin plugin, @NotNull String channel) Gets a set containing all the incoming plugin channel registrations that the specified plugin has on the requested channel.Gets a set containing all the incoming plugin channels.getIncomingChannels
(@NotNull Plugin plugin) Gets a set containing all the incoming plugin channels that the specified plugin is registered for.Gets a set containing all the outgoing plugin channels.getOutgoingChannels
(@NotNull Plugin plugin) Gets a set containing all the outgoing plugin channels that the specified plugin is registered to.boolean
isIncomingChannelRegistered
(@NotNull Plugin plugin, @NotNull String channel) Checks if the specified plugin has registered to receive incoming messages through the requested channel.boolean
isOutgoingChannelRegistered
(@NotNull Plugin plugin, @NotNull String channel) Checks if the specified plugin has registered to send outgoing messages through the requested channel.boolean
isRegistrationValid
(@NotNull PluginMessageListenerRegistration registration) Checks if the specified plugin message listener registration is valid.boolean
isReservedChannel
(@NotNull String channel) Checks if the specified channel is a reserved name.@NotNull PluginMessageListenerRegistration
registerIncomingPluginChannel
(@NotNull Plugin plugin, @NotNull String channel, @NotNull PluginMessageListener listener) Registers the specific plugin for listening on the requested incoming plugin channel, allowing it to act upon any plugin messages.void
registerOutgoingPluginChannel
(@NotNull Plugin plugin, @NotNull String channel) Registers the specific plugin to the requested outgoing plugin channel, allowing it to send messages through that channel to any clients.void
unregisterIncomingPluginChannel
(@NotNull Plugin plugin) Unregisters the specific plugin from listening on all plugin channels through all listeners.void
unregisterIncomingPluginChannel
(@NotNull Plugin plugin, @NotNull String channel) Unregisters the specific plugin from listening on the requested incoming plugin channel, no longer allowing it to act upon any plugin messages.void
unregisterIncomingPluginChannel
(@NotNull Plugin plugin, @NotNull String channel, @NotNull PluginMessageListener listener) Unregisters the specific plugin's listener from listening on the requested incoming plugin channel, no longer allowing it to act upon any plugin messages.void
unregisterOutgoingPluginChannel
(@NotNull Plugin plugin) Unregisters the specific plugin from all outgoing plugin channels, no longer allowing it to send any plugin messages.void
unregisterOutgoingPluginChannel
(@NotNull Plugin plugin, @NotNull String channel) Unregisters the specific plugin from the requested outgoing plugin channel, no longer allowing it to send messages through that channel to any clients.static @NotNull String
validateAndCorrectChannel
(@NotNull String channel) Deprecated.not an API methodstatic void
validateChannel
(@NotNull String channel) Deprecated.not an API methodstatic void
validatePluginMessage
(@NotNull Messenger messenger, @NotNull Plugin source, @NotNull String channel, byte @NotNull [] message) Validates the input of a Plugin Message, ensuring the arguments are all valid.
-
Constructor Details
-
StandardMessenger
public StandardMessenger()
-
-
Method Details
-
isReservedChannel
Description copied from interface:Messenger
Checks if the specified channel is a reserved name.
All channels within the "minecraft" namespace except for "minecraft:brand" are reserved.- Specified by:
isReservedChannel
in interfaceMessenger
- Parameters:
channel
- Channel name to check.- Returns:
- True if the channel is reserved, otherwise false.
-
registerOutgoingPluginChannel
public void registerOutgoingPluginChannel(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String channel) Description copied from interface:Messenger
Registers the specific plugin to the requested outgoing plugin channel, allowing it to send messages through that channel to any clients.- Specified by:
registerOutgoingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that wishes to send messages through the channel.channel
- Channel to register.
-
unregisterOutgoingPluginChannel
public void unregisterOutgoingPluginChannel(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String channel) Description copied from interface:Messenger
Unregisters the specific plugin from the requested outgoing plugin channel, no longer allowing it to send messages through that channel to any clients.- Specified by:
unregisterOutgoingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that no longer wishes to send messages through the channel.channel
- Channel to unregister.
-
unregisterOutgoingPluginChannel
Description copied from interface:Messenger
Unregisters the specific plugin from all outgoing plugin channels, no longer allowing it to send any plugin messages.- Specified by:
unregisterOutgoingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that no longer wishes to send plugin messages.
-
registerIncomingPluginChannel
@NotNull public @NotNull PluginMessageListenerRegistration registerIncomingPluginChannel(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String channel, @NotNull @NotNull PluginMessageListener listener) Description copied from interface:Messenger
Registers the specific plugin for listening on the requested incoming plugin channel, allowing it to act upon any plugin messages.- Specified by:
registerIncomingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that wishes to register to this channel.channel
- Channel to register.listener
- Listener to receive messages on.- Returns:
- The resulting registration that was made as a result of this method.
-
unregisterIncomingPluginChannel
public void unregisterIncomingPluginChannel(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String channel, @NotNull @NotNull PluginMessageListener listener) Description copied from interface:Messenger
Unregisters the specific plugin's listener from listening on the requested incoming plugin channel, no longer allowing it to act upon any plugin messages.- Specified by:
unregisterIncomingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that wishes to unregister from this channel.channel
- Channel to unregister.listener
- Listener to stop receiving messages on.
-
unregisterIncomingPluginChannel
public void unregisterIncomingPluginChannel(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String channel) Description copied from interface:Messenger
Unregisters the specific plugin from listening on the requested incoming plugin channel, no longer allowing it to act upon any plugin messages.- Specified by:
unregisterIncomingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that wishes to unregister from this channel.channel
- Channel to unregister.
-
unregisterIncomingPluginChannel
Description copied from interface:Messenger
Unregisters the specific plugin from listening on all plugin channels through all listeners.- Specified by:
unregisterIncomingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that wishes to unregister from this channel.
-
getOutgoingChannels
Description copied from interface:Messenger
Gets a set containing all the outgoing plugin channels.- Specified by:
getOutgoingChannels
in interfaceMessenger
- Returns:
- List of all registered outgoing plugin channels.
-
getOutgoingChannels
Description copied from interface:Messenger
Gets a set containing all the outgoing plugin channels that the specified plugin is registered to.- Specified by:
getOutgoingChannels
in interfaceMessenger
- Parameters:
plugin
- Plugin to retrieve channels for.- Returns:
- List of all registered outgoing plugin channels that a plugin is registered to.
-
getIncomingChannels
Description copied from interface:Messenger
Gets a set containing all the incoming plugin channels.- Specified by:
getIncomingChannels
in interfaceMessenger
- Returns:
- List of all registered incoming plugin channels.
-
getIncomingChannels
Description copied from interface:Messenger
Gets a set containing all the incoming plugin channels that the specified plugin is registered for.- Specified by:
getIncomingChannels
in interfaceMessenger
- Parameters:
plugin
- Plugin to retrieve channels for.- Returns:
- List of all registered incoming plugin channels that the plugin is registered for.
-
getIncomingChannelRegistrations
@NotNull public @NotNull Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations(@NotNull @NotNull Plugin plugin) Description copied from interface:Messenger
Gets a set containing all the incoming plugin channel registrations that the specified plugin has.- Specified by:
getIncomingChannelRegistrations
in interfaceMessenger
- Parameters:
plugin
- Plugin to retrieve registrations for.- Returns:
- List of all registrations that the plugin has.
-
getIncomingChannelRegistrations
@NotNull public @NotNull Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations(@NotNull @NotNull String channel) Description copied from interface:Messenger
Gets a set containing all the incoming plugin channel registrations that are on the requested channel.- Specified by:
getIncomingChannelRegistrations
in interfaceMessenger
- Parameters:
channel
- Channel to retrieve registrations for.- Returns:
- List of all registrations that are on the channel.
-
getIncomingChannelRegistrations
@NotNull public @NotNull Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String channel) Description copied from interface:Messenger
Gets a set containing all the incoming plugin channel registrations that the specified plugin has on the requested channel.- Specified by:
getIncomingChannelRegistrations
in interfaceMessenger
- Parameters:
plugin
- Plugin to retrieve registrations for.channel
- Channel to filter registrations by.- Returns:
- List of all registrations that the plugin has.
-
isRegistrationValid
public boolean isRegistrationValid(@NotNull @NotNull PluginMessageListenerRegistration registration) Description copied from interface:Messenger
Checks if the specified plugin message listener registration is valid.A registration is considered valid if it has not be unregistered and that the plugin is still enabled.
- Specified by:
isRegistrationValid
in interfaceMessenger
- Parameters:
registration
- Registration to check.- Returns:
- True if the registration is valid, otherwise false.
-
isIncomingChannelRegistered
public boolean isIncomingChannelRegistered(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String channel) Description copied from interface:Messenger
Checks if the specified plugin has registered to receive incoming messages through the requested channel.- Specified by:
isIncomingChannelRegistered
in interfaceMessenger
- Parameters:
plugin
- Plugin to check registration for.channel
- Channel to test for.- Returns:
- True if the channel is registered, else false.
-
isOutgoingChannelRegistered
public boolean isOutgoingChannelRegistered(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String channel) Description copied from interface:Messenger
Checks if the specified plugin has registered to send outgoing messages through the requested channel.- Specified by:
isOutgoingChannelRegistered
in interfaceMessenger
- Parameters:
plugin
- Plugin to check registration for.channel
- Channel to test for.- Returns:
- True if the channel is registered, else false.
-
dispatchIncomingMessage
@Deprecated public void dispatchIncomingMessage(@NotNull @NotNull Player source, @NotNull @NotNull String channel, byte @NotNull [] message) Deprecated.Description copied from interface:Messenger
Dispatches the specified incoming message to any registered listeners.- Specified by:
dispatchIncomingMessage
in interfaceMessenger
- Parameters:
source
- Source of the message.channel
- Channel that the message was sent by.message
- Raw payload of the message.
-
dispatchIncomingMessage
public void dispatchIncomingMessage(@NotNull @NotNull PlayerConnection source, @NotNull @NotNull String channel, byte @NotNull [] message) Description copied from interface:Messenger
Dispatches the specified incoming message to any registered listeners. By default, also callsPluginMessageListener.onPluginMessageReceived(String, Player, byte[])
.- Specified by:
dispatchIncomingMessage
in interfaceMessenger
- Parameters:
source
- Source of the message.channel
- Channel that the message was sent by.message
- Raw payload of the message.
-
validateChannel
Deprecated.not an API methodValidates a Plugin Channel name.- Parameters:
channel
- Channel name to validate.
-
validateAndCorrectChannel
@Deprecated(since="1.13") @NotNull public static @NotNull String validateAndCorrectChannel(@NotNull @NotNull String channel) Deprecated.not an API methodValidates and corrects a Plugin Channel name. Method is not reentrant / idempotent.- Parameters:
channel
- Channel name to validate.- Returns:
- corrected channel name
-
validatePluginMessage
public static void validatePluginMessage(@NotNull @NotNull Messenger messenger, @NotNull @NotNull Plugin source, @NotNull @NotNull String channel, byte @NotNull [] message) Validates the input of a Plugin Message, ensuring the arguments are all valid.- Parameters:
messenger
- Messenger to use for validation.source
- Source plugin of the Message.channel
- Plugin Channel to send the message by.message
- Raw message payload to send.- Throws:
IllegalArgumentException
- Thrown if the source plugin is disabled.IllegalArgumentException
- Thrown if source, channel or message is null.MessageTooLargeException
- Thrown if the message is too big.ChannelNameTooLongException
- Thrown if the channel name is too long.ChannelNotRegisteredException
- Thrown if the channel is not registered for this plugin.
-