Skip to content

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.php

plugin.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 ​

VanillaMine es un fork de PocketMine-MP mantenido por Luxury Nodes. Sin relación con el equipo de PMMP ni con Mojang.