PocketMine-DevTools
Development Tools for PocketMine-MP
DevTools is a collection of utilities used for developing PocketMine-MP plugins.
Features
-
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
Commands
/genplugin
/extractplugin
/makeplugin
/makeplugin *: Creates Phar plugin archives for all loaded plugins
/checkperm
/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
Using ConsoleScript to build a DevTools phar from source code
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
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.
Build plugin phars from the command line
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