Advertisement
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

commands dont work

Comments in 'Plugin Development' started by Driesboy1, Feb 11, 2016.

  1. Driesboy1
    Offline

    Driesboy1 Active Member

    Joined:
    Oct 28, 2015
    Posts:
    102
    Minecraft User:
    Driesboy
    name: Parkour
    main: Parkour\Main
    version: 3.0
    api: [1.0.0]
    author: Driesboy
    commands:
    parkour:
    permission: parkour
    clearparkour:
    description: clear checkpoints
    permission: parkour.clear
    toparkour:
    description: go to checkpoint
    permission: parkour.tocheckpoint
    permissions:
    parkour.clear:
    description: clear checkpoints
    default: default
    parkour.tocheckpoint:
    description: clear checkpoints
    default: default
    Code:
    <?php
    /*
      _____       _           _               
    |  __ \     (_)         | |              
    | |  | |_ __ _  ___  ___| |__   ___  _   _
    | |  | | '__| |/ _ \/ __| '_ \ / _ \| | | |
    | |__| | |  | |  __/\__ \ |_) | (_) | |_| |
    |_____/|_|  |_|\___||___/_.__/ \___/ \__, |
                                           __/ |
                                          |___/
    */
    namespace Parkour;
    use pocketmine\plugin\PluginBase;
    use pocketmine\Server;
    use pocketmine\command\ConsoleCommandSender;
    use pocketmine\event\Listener;
    use pocketmine\utils\Config;
    use pocketmine\event\player\PlayerInteractEvent;
    use pocketmine\utils\TextFormat;
    use pocketmine\Player;
    use pocketmine\tile\Sign;
    use pocketmine\level\Position;
    use pocketmine\level\Level;
    use pocketmine\entity\Entity;
    use pocketmine\math\Vector3;
    use pocketmine\event\player\PlayerMoveEvent;
    class Main extends PluginBase{
      
        private $config;
        private $pos;
        public function onEnable(){
            $this->getServer()->getLogger()->info(TextFormat::BLUE . "Parkour Has Been Enabled.");
            $this->getServer()->getLogger()->info(TextFormat::BLUE . "By: Driesboy. http://github.com/Driesboy");
            $this->getServer()->getPluginManager()->registerEvents($this, $this);
            @mkdir($this->getDataFolder());
                $this->saveDefaultConfig();
            $this->data = new Config($this->getDataFolder()."Data.yml", Config::YAML, array());
        }
      
        public function onDisable(){
            $this->getServer()->getLogger()->info(TextFormat::GRAY . ">" . TextFormat::RED . "RED" . "Parkour was disabled.");
        }
      
        public function onPlayerTouch(PlayerInteractEvent $event){
            $player = $event->getPlayer();
            $b = $event->getBlock();
            $name = $event->getPlayer()->getName();
            $name = strtolower($name);
            if($b->getID() == 63 || $b->getID() == 68){
                $sign = $player->getLevel()->getTile($b);
                if(!($sign instanceof Sign)){
                    return;
                }
                $sign = $sign->getText();
                if(TextFormat::clean($sign[0]) === '[Checkpoint]'){
                    $this->data->set($name,array($player->x,$player->y,$player->z,$player->getLevel()->getName()));
                    $this->data->save();
                    $player->sendMessage("{$this->getConfig()->get("CheckpointSaved")}");
                }
                if(TextFormat::clean($sign[0]) === '[Earn Reward]'){
                    $this->data->remove($name,array($player->x,$player->y,$player->z,$player->getLevel()->getName()));
                    $this->data->save();
                    $player->sendMessage("{$this->getConfig()->get("EarnReward")}");
                    if($this->getConfig()->get("reward-command")){
                        $player->getServer()->dispatchCommand(new ConsoleCommandSender(), str_ireplace("{PLAYER}", $player->getName(), $this->getConfig()->get("reward-command")));
                        $player->teleport($player->getLevel()->getSafeSpawn());
                    }
                }
            }
        }
         public function onVoidLoop(PlayerMoveEvent $event){
              if($event->getTo()->getFloorY() < 1){
                     $player = $event->getPlayer();
                     $name = $event->getPlayer()->getName();               
                     $name = strtolower($name);
                     $pos = $this->data->get($name);
                    if(is_array($pos)){
                        $player->sendMessage("{$this->getConfig()->get("TeleportMessage")}");
                            $level = $this->getServer()->getLevelByName($pos[3]);
                            $player->teleport(new Position($pos[0],$pos[1],$pos[2],$level));
                        }else{ $player->sendMessage("{$this->getConfig()->get("No-Checkpoint")}");
                        $player->teleport($player->getLevel()->getSafeSpawn());
                        }
              }
         }
    }
  2. PEMapModder
    Offline

    PEMapModder Notable Member Plugin Developer

    Joined:
    Oct 9, 2013
    Posts:
    7,294
    Plugins:
    11
    Minecraft User:
    PEMapModder
    Use Main.php instead of main.php

    And delete the line `private $config;`
  3. Driesboy1
    Offline

    Driesboy1 Active Member

    Joined:
    Oct 28, 2015
    Posts:
    102
    Minecraft User:
    Driesboy
  4. PocketKiller
    Offline

    PocketKiller Notable Member

    Joined:
    Jul 20, 2015
    Posts:
    741
    Spacesareveryimportant
    replaceplugin.ymlwiththisone

    Code:
    name: Parkour
    main: Parkour\Main
    version: 3.0
    api: [1.0.0]
    author: Driesboy
    commands:
     parkour:
      permission: parkour
     clearparkour:
      description: clear checkpoints
      permission: parkour.clear
     toparkour:
      description: go to checkpoint
      permission: parkour.tocheckpoint
    permissions:
     parkour.clear:
      description: clear checkpoints
      default: default
     parkour.tocheckpoint:
      description: clear checkpoints
      default: default
    Nawaf_Craft1b and MichaelM04 like this.

Share This Page

Advertisement