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

Check block under player

Discussion in 'Development' started by kaliiks, Dec 22, 2016.

  1. kaliiks

    kaliiks Zombie

    Messages:
    250
    Hello i tried to check block under player, but it doesnt work
    CODE:
    PHP:
    $block $event->getPlayer()->getLevel()->getBlock($event->getPlayer()->floor()->subtract(01));
     
  2. Muqsit

    Muqsit Chicken

    Messages:
    1,548
    GitHub:
    muqsit
    It should be working. Is your console bleeding? That could help us.
     
  3. kaliiks

    kaliiks Zombie

    Messages:
    250
    No
     
  4. Palente

    Palente Slime

    Messages:
    75
    GitHub:
    palente
    can you give much info?
     
  5. kaliiks

    kaliiks Zombie

    Messages:
    250
    Yes i give you full code wait please

    PHP:
    public function onMoveTools(PlayerMoveEvent $e) {
        
    $block $e->getPlayer()->getLevel()->getBlock($e->getPlayer()->floor()->subtract(01));
        
    $p $e->getPlayer();
        
    $arena $this->getServer()->getLevelByName("Arena1");
        if(
    $block->getId() == 57) {
            foreach (
    $arena->getPlayers() as $players) {
                
    $players->sendMessage($this->gameprefix C::AQUA "§ePlayer §b" $p->getName() . C::YELLOW " won the game. Teleporting to PvP");
                
    $p->sendPopup($this->gameprefix C::GREEN " Congratulations. Wou Won!!");
                
    $this->getPhase(3);
                
    $this->addWin($p);
               
    // $this->wcore->getWin($p);
                // $this->won($p);
            
    }
        }
    }
     
    Last edited by a moderator: Dec 23, 2016
  6. Muqsit

    Muqsit Chicken

    Messages:
    1,548
    GitHub:
    muqsit
    The code seems fine, did you register events when the plugin starts?

    P.S: Use '===' instead of '==' when you are using Block::getId() or Item::getId(). They always return integer (eg: 57), not an integer in string (eg: "57") or anything like that. So it's better you use '===' in this situation.
     
  7. VentroxStudio

    VentroxStudio Witch

    Messages:
    71
    You can try it by using this:

    PHP:
    $block $event->getPlayer()->getLevel()->getBlock($event->getPlayer()->subtract (0,1,0))->getID();
     
    kaliiks likes this.
  8. robske_110 (Tim)

    robske_110 (Tim) Wither Skeleton Poggit Reviewer

    Messages:
    1,342
    GitHub:
    robske110
    Maybe try:
    PHP:
    public function onMoveTools(PlayerMoveEvent $e) {
        
    $p $e->getPlayer();
        
    $block $p->getLevel()->getBlock($e->getPlayer()->subtract(010));
        if(
    $block->getId() === Block::CHEST) { //Maybe also try TRAPPED_CHEST
           //Your stuff for $p
        
    }
    }
     
    Last edited: Dec 23, 2016
    kaliiks likes this.
  9. VentroxStudio

    VentroxStudio Witch

    Messages:
    71
    That's what I said :p
     
  10. kaliiks

    kaliiks Zombie

    Messages:
    250
    VentroxStudio likes this.
  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.