My Plugin crash. Here is the reason: Code: [Server] Warning: yaml_parse(): reading error encountered during parsing: invalid leading UTF-8 octet (line 1, column 1) in phar:///storage/emulated/0/PocketMine/PocketMine-MP.phar/src/pocketmine/plugin/PluginDescription.php on line 50 [Server] [14:12:06] ERROR> Could not load '/storage/emulated/0/PocketMine/plugins/FFAStats' in folder '/storage/emulated/0/PocketMine/plugins/': Argument 1 passed to pocketmine\plugin\PluginDescription::loadMap() must be of the type array, boolean given, called in phar:///storage/emulated/0/PocketMine/PocketMine-MP.phar/src/pocketmine/plugin/PluginDescription.php on line 50 [Server][14:12:06] CRITICAL> TypeError: "Argument 1 passed to pocketmine\plugin\PluginDescription::loadMap() must be of the type array, boolean given, called in phar:///storage/emulated/0/PocketMine/PocketMine-MP.phar/src/pocketmine/plugin/PluginDescription.php on line 50" (EXCEPTION) in "/src/pocketmine/plugin/PluginDescription" at line 58 Here The plugin.yml Code: name: FFA-Stats main: FFAStats\Stats version: 1.0 api: 2.0.0 commands: stats: description: "Stats Command für FFA" [/Code] Here is the Stats.php PHP: <?phpnamespace FFAStats;use pocketmine\plugin\PluginBase;use pocketmine\Player;use pocketmine\utils\TextFormat as C;use pocketmine\utils\Config;use pocketmine\event\Listener;use pocketmine\event\player\PlayerJoinEvent;use pocketmine\event\player\PlayerQuitEvent;use pocketmine\event\player\PlayerDeathEvent;use pocketmine\command\Command;use pocketmine\command\CommandSender;class Stats extends PluginBase implements Listener{ public $prefix = C::RED. "FFA". C::GOLD. "Stats". C::GRAY. " |"; public function onEnable(){ $this->getServer()->getPluginManager()->registerEvents($this,$this); @mkdir($this->getDataFolder()); @mkdir($this->getDataFolder()."Players"); $this->getLogger()->info($this->prefix." Wurde aktiviert!"); } public function initPlayer($player){ $name = $player->getName(); $pconfig = new Config($this->getDataFolder()."/Players/".strtolower($name).".yml", Config::YAML); if(empty($pconfig->get("Joins"))){ $pconfig->set("Online", "true"); $pconfig->set("Joins", "0"); $pconfig->set("Deaths", "0"); $pconfig->set("Kills", "0"); $pconfig->save(); } } public function onCommand(CommandSender $sender, Command $cmd, $label, array $args){ $name = $sender->getName(); if($cmd->getName() == "stats"){ if(empty($args[0])){ if($sender instanceof Player){ $player = $sender; $pconfig = new Config($this->getDataFolder()."/Players/".strtolower($name).".yml", Config::YAML); $online = $pconfig->get("Online", "true"); $joins = $pconfig->get("Joins", "0"); $deaths = $pconfig->get("Deaths", "0"); $kills = $pconfig->get("Kills", "0"); $sender->senndMessage($this->prefix); $sendee->sendMessage(C::GOLD."Online: ".$online); $sender->sendMessage(C::GOLD."Joins: ".$joins); $sender->sendMessage(C::GOLD."Kills: ".$kills); $sender->sendMessage(C::GOLD."Deaths: ".$deaths); $sender->sendMessage(C::GILS."K/D: ".$kills / $deaths); $sender->sendMessage($this->prefix); } }elseif(!empty($args[0])){ if(file_exists($this->getDataFolder()."/Players/".strtolower($args[0]).".yml")){ $pconfig = new Config($this->getDataFolder()."/Players/".strtolower($args[0]).".yml", Config::YAML); $online = $pconfig->get("Online", "true"); $joins = $pconfig->get("Joins", "0"); $deaths = $pconfig->get("Deaths", "0"); $kills = $pconfig->get("Kills", "0"); $sender->sendMessage($this->prefix); $sender->sendMessage(C::GRAY."Online: ".$online); $sender->sendMessage(C::GRAY."Joins: ".$joins); $sender->sendMessage(C::GRAY."Kills: ".$kills); $sender->sendMessage(C::GRAY."Deaths: ".$deaths); $sender->sendMessage(C::GRAY."K/D: ".$kills / $deaths); $sender->sendMessage(C::GRAY."------------"); }else{ $sender->sendMessage($this->prefix.C::RED." Dieser Spieler war noch nie auf dem Server!"); } } } } public function onJoin(PlayerJoinEvent $event){ $player = $event->getPlayer(); $name = $player->getName(); $this->initPlayer($player); $pconfig = new Config($this->getDataFolder()."/Players/".strtolower($name).".yml", Config::YAML); $joins = $pconfig->get("Joins"); $pconfig->set("Joins", $joins + 1); $pconfig->set("Online", "true"); $pconfig->save(); } public function onQuit(PlayerQuitEvent $event){ $player = $event->getPlayer(); $name = $player->getName(); $pconfig = new Config($this->getDataFolder()."/Players/".strtolower($name).".yml", Config::YAML); $pconfig->set("Online", "false"); $pconfig->save(); } public function onDeath(PlayerDeathEvent $event){ $player = $event->getPlayer(); $name = $player->getName(); $pconfig = new Config($this->getDataFolder()."/Players/".strtolower($name).".yml", Config::YAML); $deaths = $pconfig->get("Deaths"); $pconfig->set("Deaths", $deaths + 1); $lastDmg = $player->getLastDamageCause(); if($lastDmg instanceof EntityDamageEvent){ if($lastDmg instanceof EntityDamageByEntityEvent){ $killer = $lastDmg->getDamager(); if($killer instanceof Player){ $kconfig = new Config($this->getDataFolder()."/Players/".strtolower($killer).".yml", Config::YAML); $kills = $kconfig->get("Kills"); $kconfig->set("Kills", $kills + 1); $event->setDeathMessage(C::RED . "FFA" . C::GRAY . " | ". C::RED. $name. C::GRAY. " wurde von ". C::GOLD. $killer. C::GRAY " getoetet"; } } } $pconfig->save(); }}
Your plugin.yml seems to contain an invisible invalid character for yaml. Try zipping the real file and uploading that here.
That may be the reason You might want to consider to switch your text editor, obviously it doesn't quite save files cleanly. A cleaned plugin.yml is attached. I'm also curious which text editor you are using?