Skip to content


Repository files navigation

Development Tools for PocketMine-MP

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

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