PHP: public function portalJoin(PlayerMoveEvent $ev){ if (!($this->getServer()->getLevelByName("lobby")->getBlockIdAt($ev->getTo()->getX(),$ev->getTo()->getY()-1,$ev->getTo()->getZ()) == 133)){ if ($ev->getTo()->getLevel()->getName() == "lobby" and in_array($ev->getTo()->getX(), [126,127,128]) and in_array($ev->getTo()->getY(), [36,37]) and in_array($ev->getTo()->getZ(), [140,141,142])){ $num = rand(1,5); $this->joinGame($ev->getPlayer(), $num); } }else { $ev->getPlayer()->knockback(4); }} I'm using this code, but when I stand on Emerald, I don't get any knockback and when I move into position e.g. 126,36,140, I won't join game
try $ev->getPlayer()->getX(),$ev->getPlayer()->getY()-1,$ev->getPlayer()->getZ() or why "!" if (!($this->getServer()->getLevelByName("lobby")->getBlockIdAt($ev->getTo()->getX(),$ev->getTo()->getY()-1,$ev->getTo()->getZ()) == 133)){
can u say why? the difference is only that he checked if the result of both is the same typ of result (int, string...)...
I found out this problem. $this->getTo()->getX() returns e.g. 127,1237777000, so it can't be in array 126,127,128, so I use floor() and it works