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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
dispatchIncomingMessage
(@NotNull Player source, @NotNull String channel, @org.jetbrains.annotations.NotNull byte[] message) Dispatches the specified incoming message to any registered listeners.Gets a set containing all the incoming plugin channel registrations that are on the requested channel.Gets a set containing all the incoming plugin channel registrations that the specified plugin has.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.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
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
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.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, @org.jetbrains.annotations.NotNull 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
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
public void dispatchIncomingMessage(@NotNull @NotNull Player source, @NotNull @NotNull String channel, @NotNull @org.jetbrains.annotations.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(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, @NotNull @org.jetbrains.annotations.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.
-