Package com.velocitypowered.api.plugin
Interface PluginManager
-
public interface PluginManager
Manages plugins loaded on the proxy. This manager can retrievePluginContainer
s from plugin instances and inject arbitrary JAR files into the plugin classpath withaddToClasspath(Object, Path)
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addToClasspath(Object plugin, Path path)
Adds the specifiedpath
to the plugin classpath.Optional<PluginContainer>
fromInstance(Object instance)
Gets the plugin container from an instance.Optional<PluginContainer>
getPlugin(String id)
Retrieves aPluginContainer
based on its ID.Collection<PluginContainer>
getPlugins()
Gets aCollection
of allPluginContainer
s.boolean
isLoaded(String id)
Checks if a plugin is loaded based on its ID.
-
-
-
Method Detail
-
fromInstance
Optional<PluginContainer> fromInstance(Object instance)
Gets the plugin container from an instance.- Parameters:
instance
- the instance- Returns:
- the container
-
getPlugin
Optional<PluginContainer> getPlugin(String id)
Retrieves aPluginContainer
based on its ID.- Parameters:
id
- the plugin ID- Returns:
- the plugin, if available
-
getPlugins
Collection<PluginContainer> getPlugins()
Gets aCollection
of allPluginContainer
s.- Returns:
- the plugins
-
isLoaded
boolean isLoaded(String id)
Checks if a plugin is loaded based on its ID.- Parameters:
id
- the id of the plugin- Returns:
true
if loaded
-
addToClasspath
void addToClasspath(Object plugin, Path path)
Adds the specifiedpath
to the plugin classpath.- Parameters:
plugin
- the pluginpath
- the path to the JAR you want to inject into the classpath- Throws:
UnsupportedOperationException
- if the operation is not applicable to this plugin
-
-