Package org.bukkit.plugin.messaging
Class StandardMessenger
java.lang.Object
org.bukkit.plugin.messaging.StandardMessenger
- All Implemented Interfaces:
Messenger
public class StandardMessenger extends Object implements 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 Constructor Description StandardMessenger()
-
Method Summary
Modifier and Type Method Description void
dispatchIncomingMessage(Player source, String channel, byte[] message)
Dispatches the specified incoming message to any registered listeners.Set<PluginMessageListenerRegistration>
getIncomingChannelRegistrations(String channel)
Gets a set containing all the incoming plugin channel registrations that are on the requested channel.Set<PluginMessageListenerRegistration>
getIncomingChannelRegistrations(Plugin plugin)
Gets a set containing all the incoming plugin channel registrations that the specified plugin has.Set<PluginMessageListenerRegistration>
getIncomingChannelRegistrations(Plugin plugin, String channel)
Gets a set containing all the incoming plugin channel registrations that the specified plugin has on the requested channel.Set<String>
getIncomingChannels()
Gets a set containing all the incoming plugin channels.Set<String>
getIncomingChannels(Plugin plugin)
Gets a set containing all the incoming plugin channels that the specified plugin is registered for.Set<String>
getOutgoingChannels()
Gets a set containing all the outgoing plugin channels.Set<String>
getOutgoingChannels(Plugin plugin)
Gets a set containing all the outgoing plugin channels that the specified plugin is registered to.boolean
isIncomingChannelRegistered(Plugin plugin, String channel)
Checks if the specified plugin has registered to receive incoming messages through the requested channel.boolean
isOutgoingChannelRegistered(Plugin plugin, String channel)
Checks if the specified plugin has registered to send outgoing messages through the requested channel.boolean
isRegistrationValid(PluginMessageListenerRegistration registration)
Checks if the specified plugin message listener registration is valid.boolean
isReservedChannel(String channel)
Checks if the specified channel is a reserved name.PluginMessageListenerRegistration
registerIncomingPluginChannel(Plugin plugin, String channel, PluginMessageListener listener)
Registers the specific plugin for listening on the requested incoming plugin channel, allowing it to act upon any plugin messages.void
registerOutgoingPluginChannel(Plugin plugin, 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(Plugin plugin)
Unregisters the specific plugin from listening on all plugin channels through all listeners.void
unregisterIncomingPluginChannel(Plugin plugin, 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(Plugin plugin, String channel, 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(Plugin plugin)
Unregisters the specific plugin from all outgoing plugin channels, no longer allowing it to send any plugin messages.void
unregisterOutgoingPluginChannel(Plugin plugin, 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 String
validateAndCorrectChannel(String channel)
Deprecated.not an API methodstatic void
validateChannel(String channel)
Deprecated.not an API methodstatic void
validatePluginMessage(Messenger messenger, Plugin source, String channel, byte[] 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
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
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 PluginMessageListenerRegistration registerIncomingPluginChannel(@NotNull Plugin plugin, @NotNull String channel, @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 Plugin plugin, @NotNull String channel, @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
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 Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations(@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 Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations(@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 Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations(@NotNull Plugin plugin, @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
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
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
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
public void dispatchIncomingMessage(@NotNull Player source, @NotNull String channel, @NotNull byte[] message)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.
-
validateChannel
Deprecated.not an API methodValidates a Plugin Channel name.- Parameters:
channel
- Channel name to validate.
-
validateAndCorrectChannel
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 Messenger messenger, @NotNull Plugin source, @NotNull String channel, @NotNull byte[] 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.
-