# Uses of Interface
org.bukkit.plugin.Plugin

Packages that use Plugin
Package
Description
co.aikar.timings
com.destroystokyo.paper
com.destroystokyo.paper.exception
org.bukkit
The root package of the Bukkit API, contains generalized API classes.
org.bukkit.command
Classes relating to handling specialized non-chat player input.
org.bukkit.conversations
Classes dedicated to facilitate direct player-to-plugin communication.
org.bukkit.entity
Interfaces for non-voxel objects that can exist in a `world`, including all players, monsters, projectiles, etc.
org.bukkit.event
Classes dedicated to handling triggered code executions.
org.bukkit.event.server
`Events` relating to programmatic state changes on the server.
org.bukkit.metadata
Classes dedicated to providing a layer of plugin specified data on various Minecraft concepts.
org.bukkit.permissions
Classes dedicated to providing binary state properties to players.
org.bukkit.plugin
Classes specifically relating to loading software modules at runtime.
org.bukkit.plugin.java
Classes for handling `plugins` written in java.
org.bukkit.plugin.messaging
Classes dedicated to specialized plugin to client protocols.
org.bukkit.scheduler
Classes dedicated to letting `plugins` run code at specific time intervals, including thread safety.

## Uses of Plugin in co.aikar.timings

Methods in co.aikar.timings that return Plugin
Modifier and Type
Method
Description
`static @Nullable Plugin`
TimingsManager.`getPluginByClassloader(@Nullable Class<?> clazz)`
Looks up the class loader for the specified class, and if it is a PluginClassLoader, return the Plugin that created this class.
Methods in co.aikar.timings with parameters of type Plugin
Modifier and Type
Method
Description
`static @NotNull Timing`
Timings.`of(@NotNull Plugin plugin, @NotNull String name)`
Returns a Timing for a plugin corresponding to a name.
`static @NotNull Timing`
Timings.`of(@NotNull Plugin plugin, @NotNull String name, @Nullable Timing groupHandler)`
Returns a handler that has a groupHandler timer handler.
`static @NotNull Timing`
Timings.`ofStart(@NotNull Plugin plugin, @NotNull String name)`
Returns a Timing object after starting it, useful for Java7 try-with-resources.
`static @NotNull Timing`
Timings.`ofStart(@NotNull Plugin plugin, @NotNull String name, @Nullable Timing groupHandler)`
Returns a Timing object after starting it, useful for Java7 try-with-resources.
Constructors in co.aikar.timings with parameters of type Plugin
Modifier
Constructor
Description
``
`TimedEventExecutor(@NotNull EventExecutor executor, @NotNull Plugin plugin, @Nullable Method method, @NotNull Class<? extends Event> eventClass)`
Wraps an event executor and associates a timing handler to it.

## Uses of Plugin in com.destroystokyo.paper

Constructors in com.destroystokyo.paper with parameters of type Plugin
Modifier
Constructor
Description
``
`NamespacedTag(@NotNull Plugin plugin, @NotNull String key)`
Create a key in the plugin's namespace.

## Uses of Plugin in com.destroystokyo.paper.exception

Methods in com.destroystokyo.paper.exception that return Plugin
Modifier and Type
Method
Description
`Plugin`
ServerPluginException.`getResponsiblePlugin()`
Gets the plugin which is directly responsible for the exception being thrown
Constructors in com.destroystokyo.paper.exception with parameters of type Plugin
Modifier
Constructor
Description
`protected`
`ServerEventException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace, Plugin responsiblePlugin, Listener listener, Event event)`
``
`ServerEventException(String message, Throwable cause, Plugin responsiblePlugin, Listener listener, Event event)`
``
`ServerEventException(Throwable cause, Plugin responsiblePlugin, Listener listener, Event event)`
`protected`
`ServerPluginEnableDisableException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace, Plugin responsiblePlugin)`
``
`ServerPluginEnableDisableException(String message, Throwable cause, Plugin responsiblePlugin)`
``
`ServerPluginEnableDisableException(Throwable cause, Plugin responsiblePlugin)`
`protected`
`ServerPluginException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace, Plugin responsiblePlugin)`
``
`ServerPluginException(String message, Throwable cause, Plugin responsiblePlugin)`
``
`ServerPluginException(Throwable cause, Plugin responsiblePlugin)`
`protected`
`ServerPluginMessageException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace, Plugin responsiblePlugin, Player player, String channel, byte[] data)`
``
`ServerPluginMessageException(String message, Throwable cause, Plugin responsiblePlugin, Player player, String channel, byte[] data)`
``
`ServerPluginMessageException(Throwable cause, Plugin responsiblePlugin, Player player, String channel, byte[] data)`

## Uses of Plugin in org.bukkit

Methods in org.bukkit that return types with arguments of type Plugin
Modifier and Type
Method
Description
`@NotNull Collection<Plugin>`
Chunk.`getPluginChunkTickets()`
Retrieves a collection specifying which plugins have tickets for this chunk.
`@NotNull Map<Plugin,Collection<Chunk>>`
World.`getPluginChunkTickets()`
Returns a map of which plugins have tickets for what chunks.
`@NotNull Collection<Plugin>`
World.`getPluginChunkTickets(int x, int z)`
Retrieves a collection specifying which plugins have tickets for the specified chunk.
Methods in org.bukkit with parameters of type Plugin
Modifier and Type
Method
Description
`boolean`
Chunk.`addPluginChunkTicket(@NotNull Plugin plugin)`
Adds a plugin ticket for this chunk, loading this chunk if it is not already loaded.
`boolean`
World.`addPluginChunkTicket(int x, int z, @NotNull Plugin plugin)`
Adds a plugin ticket for the specified chunk, loading the chunk if it is not already loaded.
`static @Nullable NamespacedKey`
NamespacedKey.`fromString(@NotNull String string, @Nullable Plugin defaultNamespace)`
Get a NamespacedKey from the supplied string with a default namespace if a namespace is not defined.
`static boolean`
UnsafeValues.`isLegacyPlugin(Plugin plugin)`
Deprecated.
`boolean`
Chunk.`removePluginChunkTicket(@NotNull Plugin plugin)`
Removes the specified plugin's ticket for this chunk
`boolean`
World.`removePluginChunkTicket(int x, int z, @NotNull Plugin plugin)`
Removes the specified plugin's ticket for the specified chunk
`void`
World.`removePluginChunkTickets(@NotNull Plugin plugin)`
Removes all plugin tickets for the specified plugin
Constructors in org.bukkit with parameters of type Plugin
Modifier
Constructor
Description
``
`NamespacedKey(@NotNull Plugin plugin, @NotNull String key)`
Create a key in the plugin's namespace.

## Uses of Plugin in org.bukkit.command

Methods in org.bukkit.command that return Plugin
Modifier and Type
Method
Description
`@NotNull Plugin`
PluginCommand.`getPlugin()`
Gets the owner of this PluginCommand
`@NotNull Plugin`
PluginIdentifiableCommand.`getPlugin()`
Gets the owner of this PluginIdentifiableCommand.
Methods in org.bukkit.command with parameters of type Plugin
Modifier and Type
Method
Description
`default @NotNull PermissionAttachment`
MessageCommandSender.`addAttachment(@NotNull Plugin plugin)`
`default @NotNull PermissionAttachment`
MessageCommandSender.`addAttachment(@NotNull Plugin plugin, int ticks)`
`default @NotNull PermissionAttachment`
MessageCommandSender.`addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value)`
`default @NotNull PermissionAttachment`
MessageCommandSender.`addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value, int ticks)`
`static @NotNull List<Command>`
PluginCommandYamlParser.`parse(@NotNull Plugin plugin)`
Constructors in org.bukkit.command with parameters of type Plugin
Modifier
Constructor
Description
`protected`
`PluginCommand(@NotNull String name, @NotNull Plugin owner)`

## Uses of Plugin in org.bukkit.conversations

Fields in org.bukkit.conversations declared as Plugin
Modifier and Type
Field
Description
`protected Plugin`
ConversationFactory.`plugin`
`protected Plugin`
InactivityConversationCanceller.`plugin`
`protected Plugin`
PluginNameConversationPrefix.`plugin`
Methods in org.bukkit.conversations that return Plugin
Modifier and Type
Method
Description
`@Nullable Plugin`
ConversationContext.`getPlugin()`
Gets the plugin that owns this conversation.
Constructors in org.bukkit.conversations with parameters of type Plugin
Modifier
Constructor
Description
``
`Conversation(@Nullable Plugin plugin, @NotNull Conversable forWhom, @Nullable Prompt firstPrompt)`
Initializes a new Conversation.
``
`Conversation(@Nullable Plugin plugin, @NotNull Conversable forWhom, @Nullable Prompt firstPrompt, @NotNull Map<Object,Object> initialSessionData)`
Initializes a new Conversation.
``
`ConversationContext(@Nullable Plugin plugin, @NotNull Conversable forWhom, @NotNull Map<Object,Object> initialSessionData)`
``
`ConversationFactory(@NotNull Plugin plugin)`
Constructs a ConversationFactory.
``
`InactivityConversationCanceller(@NotNull Plugin plugin, int timeoutSeconds)`
Creates an InactivityConversationCanceller.
``
`PlayerNamePrompt(@NotNull Plugin plugin)`
``
`PluginNameConversationPrefix(@NotNull Plugin plugin)`
``
`PluginNameConversationPrefix(@NotNull Plugin plugin, @NotNull String separator, @NotNull ChatColor prefixColor)`

## Uses of Plugin in org.bukkit.entity

Methods in org.bukkit.entity with parameters of type Plugin
Modifier and Type
Method
Description
`void`
Player.`hideEntity(@NotNull Plugin plugin, @NotNull Entity entity)`
Visually hides an entity from this player.
`void`
Player.`hidePlayer(@NotNull Plugin plugin, @NotNull Player player)`
Hides a player from this player
`void`
Player.`showEntity(@NotNull Plugin plugin, @NotNull Entity entity)`
Allows this player to see an entity that was previously hidden.
`void`
Player.`showPlayer(@NotNull Plugin plugin, @NotNull Player player)`
Allows this player to see a player that was previously hidden.

## Uses of Plugin in org.bukkit.event

Methods in org.bukkit.event with parameters of type Plugin
Modifier and Type
Method
Description
`static @NotNull ArrayList<RegisteredListener>`
HandlerList.`getRegisteredListeners(@NotNull Plugin plugin)`
Get a specific plugin's registered listeners associated with this handler list
`void`
HandlerList.`unregister(@NotNull Plugin plugin)`
Remove a specific plugin's listeners from this handler
`static void`
HandlerList.`unregisterAll(@NotNull Plugin plugin)`
Unregister a specific plugin's listeners from all handler lists.

## Uses of Plugin in org.bukkit.event.server

Methods in org.bukkit.event.server that return Plugin
Modifier and Type
Method
Description
`@NotNull Plugin`
PluginEvent.`getPlugin()`
Gets the plugin involved in this event
Constructors in org.bukkit.event.server with parameters of type Plugin
Modifier
Constructor
Description
``
`PluginDisableEvent(@NotNull Plugin plugin)`
``
`PluginEnableEvent(@NotNull Plugin plugin)`
``
`PluginEvent(@NotNull Plugin plugin)`

## Uses of Plugin in org.bukkit.metadata

Fields in org.bukkit.metadata with type parameters of type Plugin
Modifier and Type
Field
Description
`protected final WeakReference<Plugin>`
MetadataValueAdapter.`owningPlugin`
Methods in org.bukkit.metadata that return Plugin
Modifier and Type
Method
Description
`@Nullable Plugin`
MetadataValue.`getOwningPlugin()`
Returns the `Plugin` that created this metadata item.
`@Nullable Plugin`
MetadataValueAdapter.`getOwningPlugin()`
Methods in org.bukkit.metadata with parameters of type Plugin
Modifier and Type
Method
Description
`void`
MetadataStore.`invalidateAll(@NotNull Plugin owningPlugin)`
Invalidates all metadata in the metadata store that originates from the given plugin.
`void`
MetadataStoreBase.`invalidateAll(@NotNull Plugin owningPlugin)`
Invalidates all metadata in the metadata store that originates from the given plugin.
`void`
MetadataStoreBase.`removeAll(@NotNull Plugin owningPlugin)`
Removes all metadata in the metadata store that originates from the given plugin.
`void`
Metadatable.`removeMetadata(@NotNull String metadataKey, @NotNull Plugin owningPlugin)`
Removes the given metadata value from the implementing object's metadata store.
`void`
MetadataStore.`removeMetadata(T subject, @NotNull String metadataKey, @NotNull Plugin owningPlugin)`
Removes a metadata item owned by a plugin from a subject.
`void`
MetadataStoreBase.`removeMetadata(T subject, @NotNull String metadataKey, @NotNull Plugin owningPlugin)`
Removes a metadata item owned by a plugin from a subject.
Constructors in org.bukkit.metadata with parameters of type Plugin
Modifier
Constructor
Description
``
`FixedMetadataValue(@NotNull Plugin owningPlugin, @Nullable Object value)`
Initializes a FixedMetadataValue with an Object
`protected`
`LazyMetadataValue(@NotNull Plugin owningPlugin)`
Protected special constructor used by FixedMetadataValue to bypass standard setup.
``
`LazyMetadataValue(@NotNull Plugin owningPlugin, @NotNull Callable<Object> lazyValue)`
Initialized a LazyMetadataValue object with the default CACHE_AFTER_FIRST_EVAL cache strategy.
``
`LazyMetadataValue(@NotNull Plugin owningPlugin, @NotNull LazyMetadataValue.CacheStrategy cacheStrategy, @NotNull Callable<Object> lazyValue)`
Initializes a LazyMetadataValue object with a specific cache strategy.
`protected`
`MetadataValueAdapter(@NotNull Plugin owningPlugin)`

## Uses of Plugin in org.bukkit.permissions

Methods in org.bukkit.permissions that return Plugin
Modifier and Type
Method
Description
`@NotNull Plugin`
PermissionAttachment.`getPlugin()`
Gets the plugin responsible for this attachment
Methods in org.bukkit.permissions with parameters of type Plugin
Modifier and Type
Method
Description
`@NotNull PermissionAttachment`
Permissible.`addAttachment(@NotNull Plugin plugin)`
Adds a new empty `PermissionAttachment` to this object
`@Nullable PermissionAttachment`
Permissible.`addAttachment(@NotNull Plugin plugin, int ticks)`
Temporarily adds a new empty `PermissionAttachment` to this object
`@NotNull PermissionAttachment`
Permissible.`addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value)`
Adds a new `PermissionAttachment` with a single permission by name and value
`@Nullable PermissionAttachment`
Permissible.`addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value, int ticks)`
Temporarily adds a new `PermissionAttachment` with a single permission by name and value
`@NotNull PermissionAttachment`
PermissibleBase.`addAttachment(@NotNull Plugin plugin)`
`@Nullable PermissionAttachment`
PermissibleBase.`addAttachment(@NotNull Plugin plugin, int ticks)`
`@NotNull PermissionAttachment`
PermissibleBase.`addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value)`
`@Nullable PermissionAttachment`
PermissibleBase.`addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value, int ticks)`
Constructors in org.bukkit.permissions with parameters of type Plugin
Modifier
Constructor
Description
``
`PermissionAttachment(@NotNull Plugin plugin, @NotNull Permissible permissible)`

## Uses of Plugin in org.bukkit.plugin

Classes in org.bukkit.plugin that implement Plugin
Modifier and Type
Class
Description
`class`
`PluginBase`
Represents a base `Plugin`
Methods in org.bukkit.plugin that return Plugin
Modifier and Type
Method
Description
`@Nullable Plugin`
PluginManager.`getPlugin(@NotNull String name)`
Checks if the given plugin is loaded and returns it when applicable
`@NotNull Plugin`
RegisteredListener.`getPlugin()`
Gets the plugin for this registration
`@NotNull Plugin`
RegisteredServiceProvider.`getPlugin()`
`@Nullable Plugin`
SimplePluginManager.`getPlugin(@NotNull String name)`
Deprecated, for removal: This API element is subject to removal in a future version.
Checks if the given plugin is loaded and returns it when applicable
`@NotNull Plugin[]`
PluginManager.`getPlugins()`
Gets a list of all currently loaded plugins
`@NotNull Plugin[]`
SimplePluginManager.`getPlugins()`
Deprecated, for removal: This API element is subject to removal in a future version.
`@NotNull Plugin`
PluginLoader.`loadPlugin(@NotNull File file)`
Deprecated, for removal: This API element is subject to removal in a future version.
Loads the plugin contained in the specified file
`@Nullable Plugin`
PluginManager.`loadPlugin(@NotNull File file)`
Loads the plugin in the specified file
`@Nullable Plugin`
SimplePluginManager.`loadPlugin(@NotNull File file)`
Deprecated, for removal: This API element is subject to removal in a future version.
Loads the plugin in the specified file
`@NotNull Plugin[]`
PluginManager.`loadPlugins(@NotNull File directory)`
Loads the plugins contained within the specified directory
`@NotNull Plugin[]`
SimplePluginManager.`loadPlugins(@NotNull File directory)`
Deprecated, for removal: This API element is subject to removal in a future version.
Loads the plugins contained within the specified directory
`@NotNull Plugin[]`
SimplePluginManager.`loadPlugins(@NotNull File directory, @NotNull List<File> extraPluginJars)`
Deprecated, for removal: This API element is subject to removal in a future version.
Methods in org.bukkit.plugin with parameters of type Plugin
Modifier and Type
Method
Description
`@NotNull Map<Class<? extends Event>,Set<RegisteredListener>>`
PluginLoader.`createRegisteredListeners(@NotNull Listener listener, @NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
Creates and returns registered listeners for the event classes used in this listener
`void`
PluginLoader.`disablePlugin(@NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
Disables the specified plugin
`default void`
PluginLoader.`disablePlugin(@NotNull Plugin plugin, boolean closeClassloader)`
Deprecated, for removal: This API element is subject to removal in a future version.
Classloader is always closed by upstream now.
`void`
PluginManager.`disablePlugin(@NotNull Plugin plugin)`
Disables the specified plugin
`default void`
PluginManager.`disablePlugin(@NotNull Plugin plugin, boolean closeClassloader)`
Deprecated, for removal: This API element is subject to removal in a future version.
Classloader is always closed by upstream now.
`void`
SimplePluginManager.`disablePlugin(@NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
`void`
PluginLoader.`enablePlugin(@NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
Enables the specified plugin
`void`
PluginManager.`enablePlugin(@NotNull Plugin plugin)`
Enables the specified plugin
`void`
SimplePluginManager.`enablePlugin(@NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
`@NotNull List<RegisteredServiceProvider<?>>`
ServicesManager.`getRegistrations(@NotNull Plugin plugin)`
Get registrations of providers for a plugin.
`@NotNull List<RegisteredServiceProvider<?>>`
SimpleServicesManager.`getRegistrations(@NotNull Plugin plugin)`
Get registrations of providers for a plugin.
`boolean`
PluginManager.`isPluginEnabled(@Nullable Plugin plugin)`
Checks if the given plugin is enabled or not
`boolean`
SimplePluginManager.`isPluginEnabled(@Nullable Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
Checks if the given plugin is enabled or not
`<T> void`
ServicesManager.`register(@NotNull Class<T> service, T provider, @NotNull Plugin plugin, @NotNull ServicePriority priority)`
Register a provider of a service.
`<T> void`
SimpleServicesManager.`register(@NotNull Class<T> service, T provider, @NotNull Plugin plugin, @NotNull ServicePriority priority)`
Register a provider of a service.
`void`
PluginManager.`registerEvent(@NotNull Class<? extends Event> event, @NotNull Listener listener, @NotNull EventPriority priority, @NotNull EventExecutor executor, @NotNull Plugin plugin)`
Registers the specified executor to the given event class
`void`
PluginManager.`registerEvent(@NotNull Class<? extends Event> event, @NotNull Listener listener, @NotNull EventPriority priority, @NotNull EventExecutor executor, @NotNull Plugin plugin, boolean ignoreCancelled)`
Registers the specified executor to the given event class
`void`
SimplePluginManager.`registerEvent(@NotNull Class<? extends Event> event, @NotNull Listener listener, @NotNull EventPriority priority, @NotNull EventExecutor executor, @NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
`void`
SimplePluginManager.`registerEvent(@NotNull Class<? extends Event> event, @NotNull Listener listener, @NotNull EventPriority priority, @NotNull EventExecutor executor, @NotNull Plugin plugin, boolean ignoreCancelled)`
Deprecated, for removal: This API element is subject to removal in a future version.
Registers the given event to the specified listener using a directly passed EventExecutor
`void`
PluginManager.`registerEvents(@NotNull Listener listener, @NotNull Plugin plugin)`
Registers all the events in the given listener class
`void`
SimplePluginManager.`registerEvents(@NotNull Listener listener, @NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
`void`
ServicesManager.`unregisterAll(@NotNull Plugin plugin)`
Unregister all the providers registered by a particular plugin.
`void`
SimpleServicesManager.`unregisterAll(@NotNull Plugin plugin)`
Unregister all the providers registered by a particular plugin.
Constructors in org.bukkit.plugin with parameters of type Plugin
Modifier
Constructor
Description
``
`PluginLogger(@NotNull Plugin context)`
Creates a new PluginLogger that extracts the name from a plugin.
``
`RegisteredListener(@NotNull Listener listener, @NotNull EventExecutor executor, @NotNull EventPriority priority, @NotNull Plugin plugin, boolean ignoreCancelled)`
``
`RegisteredServiceProvider(@NotNull Class<T> service, T provider, @NotNull ServicePriority priority, @NotNull Plugin plugin)`
``
`TimedRegisteredListener(@NotNull Listener pluginListener, @NotNull EventExecutor eventExecutor, @NotNull EventPriority eventPriority, @NotNull Plugin registeredPlugin, boolean listenCancelled)`

## Uses of Plugin in org.bukkit.plugin.java

Classes in org.bukkit.plugin.java that implement Plugin
Modifier and Type
Class
Description
`class`
`JavaPlugin`
Represents a Java plugin
Methods in org.bukkit.plugin.java that return Plugin
Modifier and Type
Method
Description
`@NotNull Plugin`
JavaPluginLoader.`loadPlugin(@NotNull File file)`
Deprecated, for removal: This API element is subject to removal in a future version.
Methods in org.bukkit.plugin.java with parameters of type Plugin
Modifier and Type
Method
Description
`@NotNull Map<Class<? extends Event>,Set<RegisteredListener>>`
JavaPluginLoader.`createRegisteredListeners(@NotNull Listener listener, @NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
`void`
JavaPluginLoader.`disablePlugin(@NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.
`void`
JavaPluginLoader.`enablePlugin(@NotNull Plugin plugin)`
Deprecated, for removal: This API element is subject to removal in a future version.

## Uses of Plugin in org.bukkit.plugin.messaging

Methods in org.bukkit.plugin.messaging that return Plugin
Modifier and Type
Method
Description
`@NotNull Plugin`
PluginMessageListenerRegistration.`getPlugin()`
Gets the plugin that this registration is for.
Methods in org.bukkit.plugin.messaging with parameters of type Plugin
Modifier and Type
Method
Description
`@NotNull Set<PluginMessageListenerRegistration>`
Messenger.`getIncomingChannelRegistrations(@NotNull Plugin plugin)`
Gets a set containing all the incoming plugin channel registrations that the specified plugin has.
`@NotNull Set<PluginMessageListenerRegistration>`
Messenger.`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.
`@NotNull Set<PluginMessageListenerRegistration>`
StandardMessenger.`getIncomingChannelRegistrations(@NotNull Plugin plugin)`
`@NotNull Set<PluginMessageListenerRegistration>`
StandardMessenger.`getIncomingChannelRegistrations(@NotNull Plugin plugin, @NotNull String channel)`
`@NotNull Set<String>`
Messenger.`getIncomingChannels(@NotNull Plugin plugin)`
Gets a set containing all the incoming plugin channels that the specified plugin is registered for.
`@NotNull Set<String>`
StandardMessenger.`getIncomingChannels(@NotNull Plugin plugin)`
`@NotNull Set<String>`
Messenger.`getOutgoingChannels(@NotNull Plugin plugin)`
Gets a set containing all the outgoing plugin channels that the specified plugin is registered to.
`@NotNull Set<String>`
StandardMessenger.`getOutgoingChannels(@NotNull Plugin plugin)`
`boolean`
Messenger.`isIncomingChannelRegistered(@NotNull Plugin plugin, @NotNull String channel)`
Checks if the specified plugin has registered to receive incoming messages through the requested channel.
`boolean`
StandardMessenger.`isIncomingChannelRegistered(@NotNull Plugin plugin, @NotNull String channel)`
`boolean`
Messenger.`isOutgoingChannelRegistered(@NotNull Plugin plugin, @NotNull String channel)`
Checks if the specified plugin has registered to send outgoing messages through the requested channel.
`boolean`
StandardMessenger.`isOutgoingChannelRegistered(@NotNull Plugin plugin, @NotNull String channel)`
`@NotNull PluginMessageListenerRegistration`
Messenger.`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.
`@NotNull PluginMessageListenerRegistration`
StandardMessenger.`registerIncomingPluginChannel(@NotNull Plugin plugin, @NotNull String channel, @NotNull PluginMessageListener listener)`
`void`
Messenger.`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`
StandardMessenger.`registerOutgoingPluginChannel(@NotNull Plugin plugin, @NotNull String channel)`
`void`
PluginMessageRecipient.`sendPluginMessage(@NotNull Plugin source, @NotNull String channel, @org.jetbrains.annotations.NotNull byte[] message)`
Sends this recipient a Plugin Message on the specified outgoing channel.
`void`
Messenger.`unregisterIncomingPluginChannel(@NotNull Plugin plugin)`
Unregisters the specific plugin from listening on all plugin channels through all listeners.
`void`
Messenger.`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`
Messenger.`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`
StandardMessenger.`unregisterIncomingPluginChannel(@NotNull Plugin plugin)`
`void`
StandardMessenger.`unregisterIncomingPluginChannel(@NotNull Plugin plugin, @NotNull String channel)`
`void`
StandardMessenger.`unregisterIncomingPluginChannel(@NotNull Plugin plugin, @NotNull String channel, @NotNull PluginMessageListener listener)`
`void`
Messenger.`unregisterOutgoingPluginChannel(@NotNull Plugin plugin)`
Unregisters the specific plugin from all outgoing plugin channels, no longer allowing it to send any plugin messages.
`void`
Messenger.`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.
`void`
StandardMessenger.`unregisterOutgoingPluginChannel(@NotNull Plugin plugin)`
`void`
StandardMessenger.`unregisterOutgoingPluginChannel(@NotNull Plugin plugin, @NotNull String channel)`
`static void`
StandardMessenger.`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.
Constructors in org.bukkit.plugin.messaging with parameters of type Plugin
Modifier
Constructor
Description
``
`PluginMessageListenerRegistration(@NotNull Messenger messenger, @NotNull Plugin plugin, @NotNull String channel, @NotNull PluginMessageListener listener)`

## Uses of Plugin in org.bukkit.scheduler

Methods in org.bukkit.scheduler that return Plugin
Modifier and Type
Method
Description
`@NotNull Plugin`
BukkitTask.`getOwner()`
Returns the Plugin that owns this task.
`@NotNull Plugin`
BukkitWorker.`getOwner()`
Returns the Plugin that owns this task.
Methods in org.bukkit.scheduler with parameters of type Plugin
Modifier and Type
Method
Description
`<T> @NotNull Future<T>`
BukkitScheduler.`callSyncMethod(@NotNull Plugin plugin, @NotNull Callable<T> task)`
Calls a method on the main thread and returns a Future object.
`void`
BukkitScheduler.`cancelTasks(@NotNull Plugin plugin)`
Removes all tasks associated with a particular plugin from the scheduler.
`Executor`
BukkitScheduler.`getMainThreadExecutor(@NotNull Plugin plugin)`
Returns an executor that will run tasks on the next server tick.
`@NotNull BukkitTask`
BukkitRunnable.`runTask(@NotNull Plugin plugin)`
Schedules this in the Bukkit scheduler to run on next tick.
`@NotNull BukkitTask`
BukkitScheduler.`runTask(@NotNull Plugin plugin, @NotNull Runnable task)`
Returns a task that will run on the next server tick.
`void`
BukkitScheduler.`runTask(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task)`
Returns a task that will run on the next server tick.
`@NotNull BukkitTask`
BukkitScheduler.`runTask(@NotNull Plugin plugin, @NotNull BukkitRunnable task)`
Deprecated.
Use `BukkitRunnable.runTask(Plugin)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskAsynchronously(@NotNull Plugin plugin)`
Asynchronous tasks should never access any API in Bukkit.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskAsynchronously(@NotNull Plugin plugin, @NotNull Runnable task)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`void`
BukkitScheduler.`runTaskAsynchronously(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskAsynchronously(@NotNull Plugin plugin, @NotNull BukkitRunnable task)`
Deprecated.
Use `BukkitRunnable.runTaskAsynchronously(Plugin)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskLater(@NotNull Plugin plugin, long delay)`
Schedules this to run after the specified number of server ticks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskLater(@NotNull Plugin plugin, @NotNull Runnable task, long delay)`
Returns a task that will run after the specified number of server ticks.
`void`
BukkitScheduler.`runTaskLater(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task, long delay)`
Returns a task that will run after the specified number of server ticks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskLater(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay)`
Deprecated.
Use `BukkitRunnable.runTaskLater(Plugin, long)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskLaterAsynchronously(@NotNull Plugin plugin, long delay)`
Asynchronous tasks should never access any API in Bukkit.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskLaterAsynchronously(@NotNull Plugin plugin, @NotNull Runnable task, long delay)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`void`
BukkitScheduler.`runTaskLaterAsynchronously(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task, long delay)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskLaterAsynchronously(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay)`
Deprecated.
Use `BukkitRunnable.runTaskLaterAsynchronously(Plugin, long)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskTimer(@NotNull Plugin plugin, long delay, long period)`
Schedules this to repeatedly run until cancelled, starting after the specified number of server ticks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskTimer(@NotNull Plugin plugin, @NotNull Runnable task, long delay, long period)`
Returns a task that will repeatedly run until cancelled, starting after the specified number of server ticks.
`void`
BukkitScheduler.`runTaskTimer(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task, long delay, long period)`
Returns a task that will repeatedly run until cancelled, starting after the specified number of server ticks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskTimer(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay, long period)`
Deprecated.
Use `BukkitRunnable.runTaskTimer(Plugin, long, long)`
`@NotNull BukkitTask`
BukkitRunnable.`runTaskTimerAsynchronously(@NotNull Plugin plugin, long delay, long period)`
Asynchronous tasks should never access any API in Bukkit.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskTimerAsynchronously(@NotNull Plugin plugin, @NotNull Runnable task, long delay, long period)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`void`
BukkitScheduler.`runTaskTimerAsynchronously(@NotNull Plugin plugin, @NotNull Consumer<BukkitTask> task, long delay, long period)`
Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.
`@NotNull BukkitTask`
BukkitScheduler.`runTaskTimerAsynchronously(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay, long period)`
Deprecated.
Use `BukkitRunnable.runTaskTimerAsynchronously(Plugin, long, long)`
`int`
BukkitScheduler.`scheduleAsyncDelayedTask(@NotNull Plugin plugin, @NotNull Runnable task)`
Deprecated.
This name is misleading, as it does not schedule "a sync" task, but rather, "an async" task
`int`
BukkitScheduler.`scheduleAsyncDelayedTask(@NotNull Plugin plugin, @NotNull Runnable task, long delay)`
Deprecated.
This name is misleading, as it does not schedule "a sync" task, but rather, "an async" task
`int`
BukkitScheduler.`scheduleAsyncRepeatingTask(@NotNull Plugin plugin, @NotNull Runnable task, long delay, long period)`
Deprecated.
This name is misleading, as it does not schedule "a sync" task, but rather, "an async" task
`int`
BukkitScheduler.`scheduleSyncDelayedTask(@NotNull Plugin plugin, @NotNull Runnable task)`
Schedules a once off task to occur as soon as possible.
`int`
BukkitScheduler.`scheduleSyncDelayedTask(@NotNull Plugin plugin, @NotNull Runnable task, long delay)`
Schedules a once off task to occur after a delay.
`int`
BukkitScheduler.`scheduleSyncDelayedTask(@NotNull Plugin plugin, @NotNull BukkitRunnable task)`
Deprecated.
Use `BukkitRunnable.runTask(Plugin)`
`int`
BukkitScheduler.`scheduleSyncDelayedTask(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay)`
Deprecated.
Use `BukkitRunnable.runTaskLater(Plugin, long)`
`int`
BukkitScheduler.`scheduleSyncRepeatingTask(@NotNull Plugin plugin, @NotNull Runnable task, long delay, long period)`
Schedules a repeating task.
`int`
BukkitScheduler.`scheduleSyncRepeatingTask(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay, long period)`
Deprecated.
Use `BukkitRunnable.runTaskTimer(Plugin, long, long)`