1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

Plugin correct code?

Discussion in 'Development' started by Brian Medina, Feb 25, 2017.

  1. Brian Medina

    Brian Medina Spider Jockey

    Messages:
    27
    GitHub:
    NintendoCore16
    PHP:
    <?php
    #Plugin echo por NintendoCore16

    namespace NintendoCore16;

    use 
    pocketmine\event\player\PlayerLoginEvent;
    use 
    pocketmine\plugin\PluginBase;
    use 
    pocketmine\event\Listener;
    use 
    pocketmine\utils\TextFormat as c;
    use 
    pocketmine\utils\Config;

    class 
    Slots extends PluginBase implements Listener {

        public function 
    onEnable(){
            
    $this->getServer()->getLogger()->info(c::AQUA "PLUGIN ACTIVADO");
            
    $this->getServer()->getPluginManager()->registerEvents($this$this);
            @
    mkdir($this->getDataFolder());
            
    $this->saveResource("config.yml");
            
    $this->Config = new Config($this->getDataFolder() . "config.yml"Config::YAML);
        }

        public function 
    onPlayerLogin(PlayerLoginEvent $event){
            if(
    $event->getReason() === "disconnectionScreen.serverFull"){
                
    $this->Config = new Config($this->getDataFolder() . "config.yml"Config::YAML);
                if(
    count($this->getServer()->getOnlinePlayers()) < $this->getConfig()->get("Slots")){
                    
    $event->setCancelled(true);
                } else {
                    if(
    $event->getPlayer()->hasPermission("nintendo.slots.full")){
                        
    $event->setCancelled(true);
                        return;
                    }
                    
    $event->setKickMessage("");
                }
            } else if(
    $event->getReason() === "disconnectionScreen.serverFull"){
                
    $this->Config = new Config($this->getDataFolder() . "config.yml"Config::YAML);
                if(
    count($this->getServer()->getOnlinePlayers()) < $this->getConfig()->get("Slots")){
                    
    $event->setCancelled(true);
                } else {
                    if(
    $event->getPlayer()->hasPermission("nintendo.slots.full")){
                        
    $event->setCancelled(true);
                        return;
                    }
                    
    $event->setKickMessage("");
                }
            }
        }
    }
     
    EdwardHamHam likes this.
  2. Sandertv

    Sandertv Zombie Pigman Poggit Reviewer

    Messages:
    786
    GitHub:
    Sandertv
    We can't magically read your mind and know what your problem is. :facepalm:
     
    Thunder33345 likes this.
  3. Brian Medina

    Brian Medina Spider Jockey

    Messages:
    27
    GitHub:
    NintendoCore16
    not problem
    my code is bad
     
  4. Sandertv

    Sandertv Zombie Pigman Poggit Reviewer

    Messages:
    786
    GitHub:
    Sandertv
    Why is it bad...
     
  5. Muqsit

    Muqsit Chicken

    Messages:
    1,548
    GitHub:
    muqsit
    You mean...Optimization?

    Don't use new Config($path, Config::YAML), use yaml_parse_file($path);

    saveResource() call onEnable is useless. Won't affect the performance by a bit tho.

    You don't need to redeclare $this->Config again, in PlayerLoginEvent. You have already declared it in onEnable.

    Save $this->getConfig()->get("Slots") to a global variable in onEnable(), then call the global variable instead of calling $this->getConfig()->get("Slots").
     
  6. PocketKiller

    PocketKiller Slime

    Messages:
    83
    GitHub:
    iPocket
    It'd be better if you use camelCase on your variable names. :shoghi:
     
  7. Thunder33345

    Thunder33345 Moderator Staff Member

    Messages:
    2,137
    GitHub:
    Thunder33345
    just because you prefer X over Y, that dosent make X superior over Y
    it ultimately depends on who writes the code shall write it their way
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.