解決済み 自作プラグインでエラーが出ました…

すごろく

Member
12 月 27, 2018
66
22
8
自分が初めて作成したプラグインで、自分の力のみでは解決できないエラーが出てしまいました…
エラー文
Code:
TypeError: "Return value of WorldManager\Main::onCommand() must be of the type boolean, none returned" (EXCEPTION) in "WorldManager-v1.0.0.phar/src/WorldManager/Main" at line 179
デバック文
Code:
#0 src/pocketmine/command/PluginCommand(58): WorldManager\Main->onCommand(pocketmine\command\ConsoleCommandSender object, pocketmine\command\PluginCommand object, string cflat, array Array())
#1 src/pocketmine/command/SimpleCommandMap(256): pocketmine\command\PluginCommand->execute(pocketmine\command\ConsoleCommandSender object, string cflat, array Array())
#2 src/pocketmine/Server(1960): pocketmine\command\SimpleCommandMap->dispatch(pocketmine\command\ConsoleCommandSender object, string cflat)
#3 src/pocketmine/Server(1547): pocketmine\Server->dispatchCommand(pocketmine\command\ConsoleCommandSender object, string cflat)
#4 vendor/pocketmine/snooze/src/SleeperHandler(120): pocketmine\Server->pocketmine\{closure}()
#5 vendor/pocketmine/snooze/src/SleeperHandler(82): pocketmine\snooze\SleeperHandler->processNotifications()
#6 src/pocketmine/Server(2278): pocketmine\snooze\SleeperHandler->sleepUntil(double 1545899231.852)
#7 src/pocketmine/Server(2139): pocketmine\Server->tickProcessor()
#8 src/pocketmine/Server(1715): pocketmine\Server->start()
#9 src/pocketmine/PocketMine(249): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string /storage/emulated/0/PocketMine-MP/, string /storage/emulated/0/PocketMine-MP/plugins/)
#10 /storage/emulated/0/PocketMine-MP/PocketMine-MP.phar(1): require(string phar:///storage/emulated/0/PocketMine-MP/PocketMine-MP.phar/src/pocketmine/PocketMine.php)
 

すごろく

Member
12 月 27, 2018
66
22
8
どうぞ(投稿しようかなと思ってちゃんと作動するか確認したらこのエラーが出ました。)

Code:
<?php

namespace WorldManager;

use pocketmine\utils\TextFormat;
use pocketmine\Server;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\plugin\PluginBase;
use pocketmine\utils\Config;
use pocketmine\level\generator\generatorManager;
use pocketmine\level\generator\generator;
use pocketmine\event\Listener;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;

class Main extends PluginBase implements Listener {

    public function onEnable() {
        $this->getServer()->getPluginManager()->registerEvents($this,$this);
        $this->getLogger()->info("WorldManagerが読み込まれました。");
        $this->getLogger()->info("Author:Sugoroku");
        $this->getLogger()->info("Version:v1.0.0");
        $this->getLogger()->info("プラグインの改造は許可しますが、二次配布は禁止です。");
        $this->getLogger()->info("また、プラグインの改造をする場合は、'plugin.yml'内のauthorを変えないでください。");
        if (!file_exists($this->getDataFolder())) {
            @mkdir($this->getDataFolder(), 0744, true);
        }
        $this->load = new Config($this->getDataFolder() . "worldload.yml", Config::YAML,array(
          '説明' => 'このworldload.ymlの設定項目は、ワールドを全て読み込むか、1つの名前の決められたワールドを読み込むか、ワールドを一切読み込まないかを設定できます。',
          '項目1' => 'ワールドを全て読み込みますか?trueで有効、falseで無効',
          '初期値' => 'false',
          'full-load' => 'false',
          '項目2' => '上の選択肢で、falseを選択した場合で、ワールドを読み込みますか?trueで有効、falseで無効',
          '初期値' => 'false',
          'world-load' => 'false',
          '項目3' => '上の選択肢で、trueを選択した場合で、どの名前のワールドを読み込みますか?',
          '初期値' => '',
          'load-name' => '',
          '警告' => '項目2でtrueを選択した場合は、この項目を必ず空にしないでください。プラグインエラーが発生する可能性があります。',
        ));
        $this->login = new Config($this->getDataFolder() . "login.yml", Config::YAML,array(
          '説明' => 'このlogin.ymlは、WorldManagerログイン機能を有効化するかを設定するファイルです。',
          '項目' => 'login機能を使用しますか?trueで有効、falseで無効',
          '初期値' => 'false',
          'login-use' => 'false',
        ));
        $this->accounts = new Config($this->getDataFolder() . "accounts.yml", Config::YAML);
        $this->logins = new Config($this->getDataFolder() . "logins.yml", Config::YAML);
        $name = $this->load->get("world-name");
          if($this->load->get("full-load") === "true"){
          foreach (scandir("worlds/") as $value) {
           if(is_dir("worlds/" . $value) && ($value !== "." && $value !== "..") ){
            $this->getServer()->loadLevel($value);
           }
          }
          $this->getLogger()->info("このサーバー内にある全てのワールドを読み込みました。");
          }
          if($this->load->get("full-load") === "false"){
          if ($this->load->get("world-load") === "true"){
          $this->getServer()->loadLevel($name);
          $this->getLogger()->info("このサーバー内にある設定ファイルで定められたワールドを読み込みました。");
          }
          if ($this->load->get("world-load") === "false"){
          }
          }
    }

    public function onDisable(){
    $this->getLogger()->info("終了処理の実行中...");
    unlink($this->getDataFolder() ."logins.yml");
    }

    public function onJoin(PlayerJoinEvent $event){
            $player = $event->getPlayer();
            $pname = $player->getName();
            if($this->login->get("login-use") === "true"){
            if ($this->accounts->get("$pname") == null){
            $this->accounts->set($pname);
            $this->accounts->save();
            }else{
            }
            }elseif($this->login->get("$pname")){
            }
    }

    public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
          $world = strtolower(implode($args));
          $pname = $sender->getName();
        switch($command->getName()){

        
        case "manager":
            if(!($sender->isOp())){
             $sender->sendMessage("そのコマンドは、opのみが実行可能です。");
            }else{
             $sender->sendMessage("当プラグインは、ログイン機能、ワールド作成機能、ワールド読み込み機能を備えております。");
             $sender->sendMessage("~ログイン機能のご紹介~");
             $sender->sendMessage("当プラグインに備えられた、ログイン機能は、オマケとして、追加されました。アップデートで、取り除かれる可能性があります。");
             $sender->sendMessage("このログイン機能は、WorldManagerにログインする機能で、パスワード等の登録が要りません。");
             $sender->sendMessage("サーバーに初めて入ると、自動的にアカウントが作成されます。保存先は、[プラグインフォルダ]/WorldManager/accounts.ymlです。");
             $sender->sendMessage("保存されるデータは、ゲーマータグのみで、それ以外の情報はプラグインには保存されません。(そのため、LoginSystemとして使用することは、おすすめしません。)");
             $sender->sendMessage("~ワールド作成機能のご紹介~");
             $sender->sendMessage("当プラグインは、ワールド管理プラグインとして、公開しています。そのため、当然ワールド作成機能が付いています。");
             $sender->sendMessage("タイプは、Flat、Defaultの2つがあります。");
             $sender->sendMessage("~ワールド読み込み機能のご紹介~");
             $sender->sendMessage("当プラグインは、ワールドを読み込める機能を備えています。");
             $sender->sendMessage("ですが、ゲーム内から実行できるわけではありません。");
             $sender->sendMessage("当プラグインは、サーバー起動時に全てのワールドを読み込むか、設定された名前のワールドのみを読み込むか、ワールドを一切読み込まないかを決められるファイルがあります。");
             $sender->sendMessage("load.yml内の'full-load'を'true'にすることで、有効化できます。(初期では、'false'になっています。)");
             $sender->sendMessage("当プラグインは、更に機能を増やしていこうと思いますので、常に最新版にすることをおすすめします。");
             }
        break;

        case "cflat":
            if(!($sender->isOp())){
            $sender->sendMessage("opのみ実行できます。");
            }elseif("$world" === ""){
            $sender->sendMessage("使用方法:/cflat <ワールド名>");
            }elseif($this->getServer()->isLevelGenerated($world)){
            $sender->sendMessage("そのワールドは、既に作成されています。作成されていないワールド名を入力してください。");
            }else{
            $sender->sendMessage("Flatワールドを作成しています…");
            $this->getServer()->generateLevel("$world", time(), generatorManager::getGenerator("flat"));
            sleep("1");
            $sender->sendMessage("Flatワールドを作成しました。");
            }
        break;

        case "cdef":
            if(!($sender->isOp())){
            $sender->sendMessage("opのみ実行できます。");
            }elseif("$world" === ""){
            $sender->sendMessage("使用方法:/cdef <ワールド名>");
            }elseif($this->getServer()->isLevelGenerated($world)){
            $sender->sendMessage("そのワールドは、既に作成されています。作成されていないワールド名を入力してください。");
            }else{
            $sender->sendMessage("Defaultワールドを作成しています…");
            $this->getServer()->generateLevel("$world", time(), generatorManager::getGenerator("default"));
            sleep("1");
            $sender->sendMessage("Defaultワールドを作成しました。");
            }
        break;

        case "syslogin":
            if($this->login->get("login-use") === "true"){
             if($this->logins->get("$pname") == null){
             $sender->sendMessage("[WorldManager]ログインしています...");
             $this->logins->set($pname);
             $this->logins->save();
             $sender->sendMessage("[WorldManager]ログインしました。");
             }elseif($sender->getName() === "Console"){
             $sender->sendMessage("[WorldManager]コンソールからはログイン処理できません。");
             }else{
             $sender->sendMessage("[WorldManager]既にログイン済みな可能性があります。");
             }
           }elseif($this->login->get("login-use") === "false"){
           $sender->sendMessage("[WorldManager]ログイン機能は'無効化'されています。このコマンドは、ご利用いただけません。");
           }
        break;

        case "systest":
            if($this->login->get("login-use") === "true"){
            $sender->sendMessage("[WorldManager]ログイン機能は'有効化'されています。");
            }elseif($this->login->get("login-use") === "false"){
            $sender->sendMessage("[WorldManager]ログイン機能は'無効化'されています。");
            }
        break;

        case "syshelp":
            if($this->login->get("login-use") === "true"){
            $sender->sendMessage("[WorldManager]");
            $sender->sendMessage("/syslogin WorldManagerにログインします。既にログインしている方は、エラーになります。");
            $sender->sendMessage("/systest WorldManagerにログインする機能が有効になっているかチェックします。このメッセージが、表示されている場合は、機能が'有効'に設定されています。");
            }elseif($this->login->get("login-use") === "false"){
            $sender->sendMessage("[WorldManager]ログイン機能が無効になっています。このコマンドは、ご利用いただけません。");
            }
        break;
        }
    }

}
 

awa

Well-known member
1月 8, 2018
169
72
28
新潟
github.com
boolean型なのでtrueを返す必要があります
Code:
break;
の場所に
Code:
return true;
を置きましょう

Code:
public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
          $world = strtolower(implode($args));
          $pname = $sender->getName();
        switch($label){

       
        case "manager":
            if(!($sender->isOp())){
             $sender->sendMessage("そのコマンドは、opのみが実行可能です。");
            }else{
             $sender->sendMessage("当プラグインは、ログイン機能、ワールド作成機能、ワールド読み込み機能を備えております。");
             $sender->sendMessage("~ログイン機能のご紹介~");
             $sender->sendMessage("当プラグインに備えられた、ログイン機能は、オマケとして、追加されました。アップデートで、取り除かれる可能性があります。");
             $sender->sendMessage("このログイン機能は、WorldManagerにログインする機能で、パスワード等の登録が要りません。");
             $sender->sendMessage("サーバーに初めて入ると、自動的にアカウントが作成されます。保存先は、[プラグインフォルダ]/WorldManager/accounts.ymlです。");
             $sender->sendMessage("保存されるデータは、ゲーマータグのみで、それ以外の情報はプラグインには保存されません。(そのため、LoginSystemとして使用することは、おすすめしません。)");
             $sender->sendMessage("~ワールド作成機能のご紹介~");
             $sender->sendMessage("当プラグインは、ワールド管理プラグインとして、公開しています。そのため、当然ワールド作成機能が付いています。");
             $sender->sendMessage("タイプは、Flat、Defaultの2つがあります。");
             $sender->sendMessage("~ワールド読み込み機能のご紹介~");
             $sender->sendMessage("当プラグインは、ワールドを読み込める機能を備えています。");
             $sender->sendMessage("ですが、ゲーム内から実行できるわけではありません。");
             $sender->sendMessage("当プラグインは、サーバー起動時に全てのワールドを読み込むか、設定された名前のワールドのみを読み込むか、ワールドを一切読み込まないかを決められるファイルがあります。");
             $sender->sendMessage("load.yml内の'full-load'を'true'にすることで、有効化できます。(初期では、'false'になっています。)");
             $sender->sendMessage("当プラグインは、更に機能を増やしていこうと思いますので、常に最新版にすることをおすすめします。");
             }
        return true;

    case "cflat":
            if(!($sender->isOp())){
            $sender->sendMessage("opのみ実行できます。");
            }elseif("$world" === ""){
            $sender->sendMessage("使用方法:/cflat <ワールド名>");
            }elseif($this->getServer()->isLevelGenerated($world)){
            $sender->sendMessage("そのワールドは、既に作成されています。作成されていないワールド名を入力してください。");
            }else{
            $sender->sendMessage("Flatワールドを作成しています…");
            $this->getServer()->generateLevel("$world", time(), generatorManager::getGenerator("flat"));
            sleep("1");
            $sender->sendMessage("Flatワールドを作成しました。");
            }
        return true;

        case "cdef":
            if(!($sender->isOp())){
            $sender->sendMessage("opのみ実行できます。");
            }elseif("$world" === ""){
            $sender->sendMessage("使用方法:/cdef <ワールド名>");
            }elseif($this->getServer()->isLevelGenerated($world)){
            $sender->sendMessage("そのワールドは、既に作成されています。作成されていないワールド名を入力してください。");
            }else{
            $sender->sendMessage("Defaultワールドを作成しています…");
            $this->getServer()->generateLevel("$world", time(), generatorManager::getGenerator("default"));
            sleep("1");
            $sender->sendMessage("Defaultワールドを作成しました。");
            }
        return true;

        case "syslogin":
            if($this->login->get("login-use") === "true"){
             if($this->logins->get("$pname") == null){
             $sender->sendMessage("[WorldManager]ログインしています...");
             $this->logins->set($pname);
             $this->logins->save();
             $sender->sendMessage("[WorldManager]ログインしました。");
             }elseif($sender->getName() === "Console"){
             $sender->sendMessage("[WorldManager]コンソールからはログイン処理できません。");
             }else{
             $sender->sendMessage("[WorldManager]既にログイン済みな可能性があります。");
             }
           }elseif($this->login->get("login-use") === "false"){
           $sender->sendMessage("[WorldManager]ログイン機能は'無効化'されています。このコマンドは、ご利用いただけません。");
           }
        return true;

        case "systest":
            if($this->login->get("login-use") === "true"){
            $sender->sendMessage("[WorldManager]ログイン機能は'有効化'されています。");
            }elseif($this->login->get("login-use") === "false"){
            $sender->sendMessage("[WorldManager]ログイン機能は'無効化'されています。");
            }
        return true;

        case "syshelp":
            if($this->login->get("login-use") === "true"){
            $sender->sendMessage("[WorldManager]");
            $sender->sendMessage("/syslogin WorldManagerにログインします。既にログインしている方は、エラーになります。");
            $sender->sendMessage("/systest WorldManagerにログインする機能が有効になっているかチェックします。このメッセージが、表示されている場合は、機能が'有効'に設定されています。");
            }elseif($this->login->get("login-use") === "false"){
            $sender->sendMessage("[WorldManager]ログイン機能が無効になっています。このコマンドは、ご利用いただけません。");
            }
        return true;
        }
直してみました
 
  • Like
Reactions: すごろく

Noiさん

Member
1月 8, 2018
18
5
3
found me...
boolean型なのでtrueを返す必要があります
Code:
break;
の場所に
Code:
return true;
を置きましょう

Code:
public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
          $world = strtolower(implode($args));
          $pname = $sender->getName();
        switch($label){

      
        case "manager":
            if(!($sender->isOp())){
             $sender->sendMessage("そのコマンドは、opのみが実行可能です。");
            }else{
             $sender->sendMessage("当プラグインは、ログイン機能、ワールド作成機能、ワールド読み込み機能を備えております。");
             $sender->sendMessage("~ログイン機能のご紹介~");
             $sender->sendMessage("当プラグインに備えられた、ログイン機能は、オマケとして、追加されました。アップデートで、取り除かれる可能性があります。");
             $sender->sendMessage("このログイン機能は、WorldManagerにログインする機能で、パスワード等の登録が要りません。");
             $sender->sendMessage("サーバーに初めて入ると、自動的にアカウントが作成されます。保存先は、[プラグインフォルダ]/WorldManager/accounts.ymlです。");
             $sender->sendMessage("保存されるデータは、ゲーマータグのみで、それ以外の情報はプラグインには保存されません。(そのため、LoginSystemとして使用することは、おすすめしません。)");
             $sender->sendMessage("~ワールド作成機能のご紹介~");
             $sender->sendMessage("当プラグインは、ワールド管理プラグインとして、公開しています。そのため、当然ワールド作成機能が付いています。");
             $sender->sendMessage("タイプは、Flat、Defaultの2つがあります。");
             $sender->sendMessage("~ワールド読み込み機能のご紹介~");
             $sender->sendMessage("当プラグインは、ワールドを読み込める機能を備えています。");
             $sender->sendMessage("ですが、ゲーム内から実行できるわけではありません。");
             $sender->sendMessage("当プラグインは、サーバー起動時に全てのワールドを読み込むか、設定された名前のワールドのみを読み込むか、ワールドを一切読み込まないかを決められるファイルがあります。");
             $sender->sendMessage("load.yml内の'full-load'を'true'にすることで、有効化できます。(初期では、'false'になっています。)");
             $sender->sendMessage("当プラグインは、更に機能を増やしていこうと思いますので、常に最新版にすることをおすすめします。");
             }
        return true;

    case "cflat":
            if(!($sender->isOp())){
            $sender->sendMessage("opのみ実行できます。");
            }elseif("$world" === ""){
            $sender->sendMessage("使用方法:/cflat <ワールド名>");
            }elseif($this->getServer()->isLevelGenerated($world)){
            $sender->sendMessage("そのワールドは、既に作成されています。作成されていないワールド名を入力してください。");
            }else{
            $sender->sendMessage("Flatワールドを作成しています…");
            $this->getServer()->generateLevel("$world", time(), generatorManager::getGenerator("flat"));
            sleep("1");
            $sender->sendMessage("Flatワールドを作成しました。");
            }
        return true;

        case "cdef":
            if(!($sender->isOp())){
            $sender->sendMessage("opのみ実行できます。");
            }elseif("$world" === ""){
            $sender->sendMessage("使用方法:/cdef <ワールド名>");
            }elseif($this->getServer()->isLevelGenerated($world)){
            $sender->sendMessage("そのワールドは、既に作成されています。作成されていないワールド名を入力してください。");
            }else{
            $sender->sendMessage("Defaultワールドを作成しています…");
            $this->getServer()->generateLevel("$world", time(), generatorManager::getGenerator("default"));
            sleep("1");
            $sender->sendMessage("Defaultワールドを作成しました。");
            }
        return true;

        case "syslogin":
            if($this->login->get("login-use") === "true"){
             if($this->logins->get("$pname") == null){
             $sender->sendMessage("[WorldManager]ログインしています...");
             $this->logins->set($pname);
             $this->logins->save();
             $sender->sendMessage("[WorldManager]ログインしました。");
             }elseif($sender->getName() === "Console"){
             $sender->sendMessage("[WorldManager]コンソールからはログイン処理できません。");
             }else{
             $sender->sendMessage("[WorldManager]既にログイン済みな可能性があります。");
             }
           }elseif($this->login->get("login-use") === "false"){
           $sender->sendMessage("[WorldManager]ログイン機能は'無効化'されています。このコマンドは、ご利用いただけません。");
           }
        return true;

        case "systest":
            if($this->login->get("login-use") === "true"){
            $sender->sendMessage("[WorldManager]ログイン機能は'有効化'されています。");
            }elseif($this->login->get("login-use") === "false"){
            $sender->sendMessage("[WorldManager]ログイン機能は'無効化'されています。");
            }
        return true;

        case "syshelp":
            if($this->login->get("login-use") === "true"){
            $sender->sendMessage("[WorldManager]");
            $sender->sendMessage("/syslogin WorldManagerにログインします。既にログインしている方は、エラーになります。");
            $sender->sendMessage("/systest WorldManagerにログインする機能が有効になっているかチェックします。このメッセージが、表示されている場合は、機能が'有効'に設定されています。");
            }elseif($this->login->get("login-use") === "false"){
            $sender->sendMessage("[WorldManager]ログイン機能が無効になっています。このコマンドは、ご利用いただけません。");
            }
        return true;
        }
直してみました
boolean型なのでtrue, false を返り値とします ではないでしょうか?
trueだけに限定しなくても
また、switch()のbreak忘れ
return trueはonCommand()の最後にもってくるようにしとけば良いと思います
 

すごろく

Member
12 月 27, 2018
66
22
8
えっとコマンドの終了が終わったときに
return true;
を全部につけてください
boolean型なのでtrueを返す必要があります
Code:
break;
の場所に
Code:
return true;
を置きましょう

Code:
public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
          $world = strtolower(implode($args));
          $pname = $sender->getName();
        switch($label){

      
        case "manager":
            if(!($sender->isOp())){
             $sender->sendMessage("そのコマンドは、opのみが実行可能です。");
            }else{
             $sender->sendMessage("当プラグインは、ログイン機能、ワールド作成機能、ワールド読み込み機能を備えております。");
             $sender->sendMessage("~ログイン機能のご紹介~");
             $sender->sendMessage("当プラグインに備えられた、ログイン機能は、オマケとして、追加されました。アップデートで、取り除かれる可能性があります。");
             $sender->sendMessage("このログイン機能は、WorldManagerにログインする機能で、パスワード等の登録が要りません。");
             $sender->sendMessage("サーバーに初めて入ると、自動的にアカウントが作成されます。保存先は、[プラグインフォルダ]/WorldManager/accounts.ymlです。");
             $sender->sendMessage("保存されるデータは、ゲーマータグのみで、それ以外の情報はプラグインには保存されません。(そのため、LoginSystemとして使用することは、おすすめしません。)");
             $sender->sendMessage("~ワールド作成機能のご紹介~");
             $sender->sendMessage("当プラグインは、ワールド管理プラグインとして、公開しています。そのため、当然ワールド作成機能が付いています。");
             $sender->sendMessage("タイプは、Flat、Defaultの2つがあります。");
             $sender->sendMessage("~ワールド読み込み機能のご紹介~");
             $sender->sendMessage("当プラグインは、ワールドを読み込める機能を備えています。");
             $sender->sendMessage("ですが、ゲーム内から実行できるわけではありません。");
             $sender->sendMessage("当プラグインは、サーバー起動時に全てのワールドを読み込むか、設定された名前のワールドのみを読み込むか、ワールドを一切読み込まないかを決められるファイルがあります。");
             $sender->sendMessage("load.yml内の'full-load'を'true'にすることで、有効化できます。(初期では、'false'になっています。)");
             $sender->sendMessage("当プラグインは、更に機能を増やしていこうと思いますので、常に最新版にすることをおすすめします。");
             }
        return true;

    case "cflat":
            if(!($sender->isOp())){
            $sender->sendMessage("opのみ実行できます。");
            }elseif("$world" === ""){
            $sender->sendMessage("使用方法:/cflat <ワールド名>");
            }elseif($this->getServer()->isLevelGenerated($world)){
            $sender->sendMessage("そのワールドは、既に作成されています。作成されていないワールド名を入力してください。");
            }else{
            $sender->sendMessage("Flatワールドを作成しています…");
            $this->getServer()->generateLevel("$world", time(), generatorManager::getGenerator("flat"));
            sleep("1");
            $sender->sendMessage("Flatワールドを作成しました。");
            }
        return true;

        case "cdef":
            if(!($sender->isOp())){
            $sender->sendMessage("opのみ実行できます。");
            }elseif("$world" === ""){
            $sender->sendMessage("使用方法:/cdef <ワールド名>");
            }elseif($this->getServer()->isLevelGenerated($world)){
            $sender->sendMessage("そのワールドは、既に作成されています。作成されていないワールド名を入力してください。");
            }else{
            $sender->sendMessage("Defaultワールドを作成しています…");
            $this->getServer()->generateLevel("$world", time(), generatorManager::getGenerator("default"));
            sleep("1");
            $sender->sendMessage("Defaultワールドを作成しました。");
            }
        return true;

        case "syslogin":
            if($this->login->get("login-use") === "true"){
             if($this->logins->get("$pname") == null){
             $sender->sendMessage("[WorldManager]ログインしています...");
             $this->logins->set($pname);
             $this->logins->save();
             $sender->sendMessage("[WorldManager]ログインしました。");
             }elseif($sender->getName() === "Console"){
             $sender->sendMessage("[WorldManager]コンソールからはログイン処理できません。");
             }else{
             $sender->sendMessage("[WorldManager]既にログイン済みな可能性があります。");
             }
           }elseif($this->login->get("login-use") === "false"){
           $sender->sendMessage("[WorldManager]ログイン機能は'無効化'されています。このコマンドは、ご利用いただけません。");
           }
        return true;

        case "systest":
            if($this->login->get("login-use") === "true"){
            $sender->sendMessage("[WorldManager]ログイン機能は'有効化'されています。");
            }elseif($this->login->get("login-use") === "false"){
            $sender->sendMessage("[WorldManager]ログイン機能は'無効化'されています。");
            }
        return true;

        case "syshelp":
            if($this->login->get("login-use") === "true"){
            $sender->sendMessage("[WorldManager]");
            $sender->sendMessage("/syslogin WorldManagerにログインします。既にログインしている方は、エラーになります。");
            $sender->sendMessage("/systest WorldManagerにログインする機能が有効になっているかチェックします。このメッセージが、表示されている場合は、機能が'有効'に設定されています。");
            }elseif($this->login->get("login-use") === "false"){
            $sender->sendMessage("[WorldManager]ログイン機能が無効になっています。このコマンドは、ご利用いただけません。");
            }
        return true;
        }
直してみました
boolean型なのでtrue, false を返り値とします ではないでしょうか?
trueだけに限定しなくても
また、switch()のbreak忘れ
return trueはonCommand()の最後にもってくるようにしとけば良いと思います
書き忘れていました。
すみません。
ありがとうございます!解決しました!