Primeros pasos
Los plugins de VanillaMine son plugins de PocketMine-MP 5. Todo lo que sabes de plugins de PocketMine sigue valiendo, y los plugins escritos para PocketMine-MP 5.44.3 funcionan sin cambios.
Un plugin mínimo
MyPlugin/
├── plugin.yml
└── src/
└── Main.phpplugin.yml:
yaml
name: MyPlugin
version: 1.0.0
main: myname\myplugin\Main
src-namespace-prefix: myname\myplugin
api: 5.0.0
description: Saluda.src/Main.php:
php
<?php
declare(strict_types=1);
namespace myname\myplugin;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\plugin\PluginBase;
final class Main extends PluginBase implements Listener{
protected function onEnable() : void{
$this->getServer()->getPluginManager()->registerEvents($this, $this);
}
public function onJoin(PlayerJoinEvent $event) : void{
$event->getPlayer()->sendMessage("Hola, " . $event->getPlayer()->getName());
}
}Probarlo mientras lo desarrollas
Pon la carpeta en plugins/ junto con el plugin DevTools, que carga plugins desde carpetas con el código, o genera un .phar y déjalo en plugins/.
Qué versión de la API declarar
Declara api: 5.0.0 salvo que uses algo más nuevo. Si usas algo que añadió VanillaMine, declara la versión que lo añadió (la insignia de la referencia), por ejemplo api: 5.46.0: así los servidores más antiguos rechazan el plugin con un mensaje claro en lugar de fallar. También puedes comprobarlo en tiempo de ejecución:
php
if($this->getServer()->getProxyNetwork() !== null){ /* ... */ }Siguientes pasos
- Compatibilidad: qué cambia para los plugins existentes.
- Redes con proxy y Aparición e IA de mobs: las APIs nuevas.
- Referencia de la API y novedades (en inglés, generadas desde el código).
- Publicar tu plugin.
- La documentación de PocketMine-MP 5 y su API siguen valiendo para todo lo que ya existía en 5.44.3.
