Development plugin types¶
Since the standard types of plugins are usually pretty difficult to work with while developing a plugin, there are more types of plugins that developers can use, but these are not recommended for distribution.
Folder¶
Note: this plugin format is not enabled by default. The DevTools plugin is required to load this type of plugin.
This plugin format is similar to a PHAR plugin in structure, but all the files are in a folder on the disk instead of inside a phar file. This gives you easy access to the source code when you’re developing a plugin.
This plugin format is commonly used for development, because it is just as feature-complete as a PHAR plugin, and can be compiled to a PHAR plugin when you’re ready to release it.
You can see the ExamplePlugin or any plugin source-code repository to get an idea of how this should look.
Loading¶
If you don’t have the DevTools plugin, download its phar file and put it in your
pluginsfolder.Move the folder containing the plugin’s source code into your
pluginsfolder. The plugin’s folder should contain aplugin.ymlfile and asrcfolder.Restart the server and the plugin will be loaded.
Script¶
A script plugin is a single .php file. They’re useful for quickly testing features without creating a full plugin structure.
There are some key differences between a script plugin and other types of plugins:
Instead of a
plugin.yml, the basic metadata of the plugin is declared in a PHPDoc comment at the top of the fileYou can declare multiple classes, but all of them must be inside the script plugin’s
.phpfileResources and
config.ymlfiles are not supported by defaultonCommand()is not supportedAny manifest attribute that accepts arrays or objects (e.g.
commands,permissions,authors) is not supported
Check out the example on GitHub.
Loading¶
Drop the
.phpfile into yourpluginsfolder.Restart the server and the plugin will be loaded.