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

Code Not running

Discussion in 'Development' started by Defications2po, Jun 1, 2017.

  1. Defications2po

    Defications2po Witch

    Messages:
    51
    So this is my code but when i put it in the plugin it didn't run. My IDE said no errors so.
    PHP:
     public function onUse(PlayerInteractEvent $event)
        {
            
    $player $event->getPlayer();
            if (
    count($player->getEffects()) != 3) {
                if (
    $event->getItem()->getID() == 388) {
                    
    $event->getInventory()->removeItem(Item::get(38801));
                    
    $event->setExpLevel(988);
                    
    $event->sendMessage("xczcxczxcr");
                }

                if (
    $event->getItem()->getID() == 340) {
                    
    $event->getInventory()->removeItem(Item::get(34001));
                    
    $event->setHealth(20.0);
                    
    $player->sendMessage("xczxczxc");
                }
              
                if (
    $event->getItem()->getID() == 378) {
                    
    $event->getInventory()->removeItem(Item::get(37801));
                    
    $event->sendMessage("§sssd");
                }
            }else{
            }
        }
    }
     
  2. corytortoise

    corytortoise Skeleton

    Messages:
    825
    GitHub:
    corytortoise
    Is the event listener registered? If so, try debugging by outputting something when the handler is called.
     
  3. Defications2po

    Defications2po Witch

    Messages:
    51
    ??? wtf did you say srry am a new dev
     
  4. corytortoise

    corytortoise Skeleton

    Messages:
    825
    GitHub:
    corytortoise
    When you use event handlers, like where you used onUse(PlayerInteractEvent $event), you must have that method in a class that implements the pocketmine\event\Listener interface, and is registered with PocketMine. You register it in your plugin's main file with PluginManager->registerEvents.
     
  5. Thouv

    Thouv Slime

    Messages:
    84
    GitHub:
    adeynes
    Basically, you need to have:

    PHP:
    class YourPluginName extends PluginBase implements pocketmine\event\Listener
    {
    // your code
    }
    and this in your onEnable() function/method:

    PHP:
    public function onEnable()
    {
        
    $this->getServer()->getPluginManager()->registerEvents($this$this// or wherever else you're registering your events
    }
     
  6. Zuruki

    Zuruki Baby Zombie

    Messages:
    118
    GitHub:
    zuruki
    or, if is in different class, register the class on enable and construct
     
  7. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,968
    GitHub:
    sof3
    Register the class? What?
     
    Muqsit likes this.
  8. Zuruki

    Zuruki Baby Zombie

    Messages:
    118
    GitHub:
    zuruki
    like, registerEvents(new $className($this), $this);
     
  9. Ragnok123

    Ragnok123 Silverfish

    Messages:
    22
    GitHub:
    Ragnok123
    Why you have className as String?
     
  10. DanielYTK

    DanielYTK Zombie

    Messages:
    227
    PHP:
    $event->setExpLevel()
    in PlayerInteractEvent??
    PHP:
    $player->setXpLevel()
    if XP don't is setted
     
  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.