namespace ASETeleport; use pocketmine\plugin\PluginBase; use pocketmine\utils\TextFormat; use pocketmine\Player; use pocketmine\command\CommandSender; use pocketmine\command\Command; use pocketmine\event\entity\ProjectileHitEvent; use pocketmine\event\Listener; use pocketmine\event\player\PlayerChatEvent; use pocketmine\event\player\PlayerInteractEvent; class main extends PluginBase implements Listener { public function onEnable(){ $this->getLogger()->info("Das Plugin ASETeleport läuft ohne Probleme!"); } public function onDisable(){ $this->getLogger()->info("Das Plugin ASETeleport hat wohl einen Fehler!"); } public function onTeleport(ProjectileHitEvent $event){ $arrow = $event->getEntity(); if($arrow instanceof Arrow){ $player = $arrow->shootingEntity; if($player instanceof Player){ $player->teleport($arrow); $player->sendMessage(TextFormat::GREEN."Deine Position wurdd verändert"); } } } }
Mhmm... bad practice.... Try this... PHP: $arrow = $event->getEntity();if($arrow instanceof Arrow){ foreach($arrow->getViewers() as $player){ if($player instanceof Player){ $player->teleport(new Position($arrow->getX(), $arrow->getY(), $arrow->getZ())); $player->sendMessage(TextFormat::GREEN."Deine Position wurdd verändert"); } }}
I got an new Error....i unterstood that I forgot to make a array with loadMap () Original Error: Could not load '/plugins/ASETeleport.phar' in folder '/plugins/': Argument 1 passed to pocketmine\plugin\PluginDescription::loadMap() must be of the type array, boolean given, called in phar:///jar/genisys_PHP7.phar/src/pocketmine/plugin/PluginDescription.php on line 53 Where I have to place the loadMap() ?