Due to the increase of low-quality plugins we have decided to apply the Plugin Submission Guidelines again. Plugins that do not follow these Guidelines will be rejected and / or deleted. New plugins must follow them and old plugins must adapt their current information to these Guidelines. Plugins must be fully functional, be complete and serve a purpose. Test before uploading them. For proof of concepts and ideas, you must use the Plugin Development forum. Plugins must be coded with proper syntax and formatting. If a plugin cannot be reviewed correctly due to this, it will be removed. Plugin titles must be descriptive, and must not be repeated. The plugin description must include an overview and basic usage of the plugin. You may extend this on the Documentation tab. Plugins that offer similar functionality as an Official Plugin are not allowed. The plugin must support at least the latest PocketMine-MP stable release at the time of submission. The PocketMine-MP version must specify the latest version or API version it works on. The description must use proper English. Plugin descriptions must not contain advertisements. This includes servers, Youtube channels, and similar. Plugins must work on all operating systems where PocketMine-MP can run (Windows, Linux, MacOS, Linux ARM, Android, iOS) without modifications, except for features that are only available on specific OS. Code that can be executed outside of PocketMine-MP or extensions is not allowed to be placed inside plugin downloads. Selling plugins on the repository is not allowed. Plugins must include its project website (if existent) on the correct field. Posting other people plugins without the author's explicit permission will cause the deletion of the plugin and a warning for the submitter. Even with the explicit permission from the author, posting a plugin from a banned user is forbidden. Malicious content/backdoors are not allowed, and will cause the deletion of all your plugins and permanent ban from the forums. No other download links are allowed in the plugin description, except for development releases. Modification of PocketMine-MP source code is not allowed. Plugins that rewrite/include an already existent PocketMine-MP API / feature are not allowed. If your plugin calls home, uses an external online API, or auto updates, it must say so on the description, who will see it, and how to disable it. Resources needed by the plugin must be included in the package. Downloading files from external sources in the code is not allowed except from the Plugin Repository itself. Any operation that blocks the main thread without doing operations on the game data must be done using an asynchronous task. You must include the full link to the resources and codes used by your plugin, if required by the license of the library(s). Plugin descriptions are not allowed to ask to rate the plugin. Deleting the plugin and submitting it again to reset ratings will blacklist that plugin. The Plugin Reviewers have the last word to approve a plugin or not. Complaining after getting a reason why the plugin has not been allowed will issue you a warning. Harassing them to approve your plugin faster may cause the refusal of your plugin. Plugins must use the new Phar format for its distribution. Use the new DevTools plugin to pack your plugins. You may also upload a zip with multiple Phar files inside and text files, but all other resources must be embedded inside the Phar. At the time of submission or when an update is submitted, the author must select the proper Access fields for the plugin. These are described below. Your submission will be reviewed manually by the PocketMine Staff. The Plugin Developer rank will be given eventually, after your plugins are used by more users. Additional Guidelines for Featured Plugins Featured Plugins are selected manually by the PocketMine Staff, highlighting good and needed plugins. Having more downloads does not necessarily grant the plugin the right to be featured. Also, requesting to do feature a plugin, or complaining about the selection, will blacklist your plugins and they won't be featured in the future. To have your plugin featured: It must have an icon. It must be updated to the latest release. It must include enough documentation (if relevant). Plugin Access Description Starting from Alpha_1.4, plugin authors must select what features they are using in each plugin. This can be done when submitting it, or later on the Edit Plugin page for old plugins. This is done so server owners can know what plugins will be using without looking at the source code. For example, a plugin that just changes join messages shouldn't be doing World Editing. Internet Services: Any access to internet that is not done as the server. This includes acting as a server, downloading files, using external API services, or sending information. Sending custom packets through the normal Player interface or using external databases (like MySQL) are not considered for this section. Other Plugins: If the plugin calls methods on other plugins. This does not include managing plugins. Manages Permissions: Modifying permission nodes values from the default. Creating permission nodes is not considered for this section. Commands: Registering commands via the normal plugin interface or via custom interfaces. Data Saving: Saving data to disk. Usage of databases (like SQLite3 or MySQL) is not covered here. Custom Threading: Only for plugins that create their own threads / workers. Plugins that only use AsyncTasks must not mark this. Databases: If using any kind of database (SQLite3, MySQL, ...) Entities: Tracking entities, spawning custom entities or managing them. Items / Blocks: Modifies/adds blocks or items (not editing the world, but adding new objects) Tile Entities: Tracking tiles, spawning custom tiles or managing them. World Editing: Changes things in loaded worlds Manages worlds: Load/unload/create worlds Manages plugins: Load/unload/enable/disable plugins Thank you for your continued support.