Hello i tried to check block under player, but it doesnt work CODE: PHP: $block = $event->getPlayer()->getLevel()->getBlock($event->getPlayer()->floor()->subtract(0, 1));
Yes i give you full code wait please PHP: public function onMoveTools(PlayerMoveEvent $e) { $block = $e->getPlayer()->getLevel()->getBlock($e->getPlayer()->floor()->subtract(0, 1)); $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); } }}
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.
You can try it by using this: PHP: $block = $event->getPlayer()->getLevel()->getBlock($event->getPlayer()->subtract (0,1,0))->getID();
Maybe try: PHP: public function onMoveTools(PlayerMoveEvent $e) { $p = $e->getPlayer(); $block = $p->getLevel()->getBlock($e->getPlayer()->subtract(0, 1, 0)); if($block->getId() === Block::CHEST) { //Maybe also try TRAPPED_CHEST //Your stuff for $p }}