Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pmmp/devtools

Development tools plugin for PocketMine-MP
https://github.com/pmmp/devtools

github-actions-enabled phpstan-l6 pocketmine-plugin

Last synced: about 22 hours ago
JSON representation

Development tools plugin for PocketMine-MP

Awesome Lists containing this project

README

        

# 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 `: Generates skeleton files for a new plugin
* `/extractplugin `: Extracts the source of a loaded plugin from its Phar file
* `/makeplugin `: Creates a Phar plugin archive for its distribution
* `/makeplugin *`: Creates Phar plugin archives for all loaded plugins
* `/checkperm [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 `: 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
```