DevTools is a collection of utilities used for developing PocketMine-MP plugins.
- Generate skeleton files to bootstrap a new plugin
- Build plugin phars from source code
- Load plugins directly from source code (folder plugins), useful for rapid development
- Check player permissions using commands
/genplugin <pluginName> <authorName>
: Generates skeleton files for a new plugin/extractplugin <pluginName>
: Extracts the source of a loaded plugin from its Phar file/makeplugin <pluginName>
: Creates a Phar plugin archive for its distribution/makeplugin *
: Creates Phar plugin archives for all loaded plugins/checkperm <node> [playerName]
: Checks a permission node/listperms [playerName]
: Lists permissions assigned to the command sender, or the target player/handlers [partialEventName]
: Lists event handlers registered to event classes matching the input/handlersbyplugin <pluginName>
: Lists event handlers registered by the given plugin
Contrary to popular belief, this is very simple. Assuming you have a php executable in your PATH variable, cd into the DevTools directory (the folder where plugin.yml is located) and simply run the following:
php -dphar.readonly=0 path/to/ConsoleScript.php --make path/to/DevTools --relative path/to/DevTools --out path/to/put/devtools/phar/in/DevTools.phar
for Windows:
php -dphar.readonly=0 src/ConsoleScript.php --make "" --relative "" --out DevTools.phar
You can then load the phar onto a PocketMine-MP server. A correctly-built DevTools phar can also be executed directly from the command line as if it was the ConsoleScript.
You can also use the ConsoleScript or a DevTools phar from the command-line to build PocketMine-MP phars or plugin phars.
The script currently takes the following arguments:
argument | required | description |
---|---|---|
--make |
yes | The comma-separated path(s) to the files you want to bundle into a phar |
--relative |
no | Make DevTools resolve paths relative to the given path. If not specified, defaults to the current working directory. |
--stub |
no | PHP file to use as a custom phar stub. The stub will be executed when the phar is run from the command line. |
--out |
yes | Path and filename of the output phar file. |
Example command line for building a plugin:
php -dphar.readonly=0 path/to/ConsoleScript.php --make path/to/your/plugin/sourcecode --out path/to/put/your/plugin.phar