You can check if position Y where player get to is higher than position where player get from. Example: (I do not have tested) PHP: public function onMove(PlayerMoveEvent $e){ $p = $e->getPlayer(); $f = $e->getFrom(); $t = $e->getTo(); $d = $f->distance($t); if($t > $f){ if($d >= 3){ if(!$p->hasEffect(Effect::JUMP_BOOST)){ $p->kick("High jump", false); } } }} EDIT: This code may cause some problems, when player is knockbacked
momentum? since like if you swim up water pillar you would have momentum lower than you just got thrown into the air then fall back also using onMove is not preferred
There is nothing wrong with onMove if you are using it to capture precise movement like this context.
i introduce to you 'PlayerJumpEvent' https://github.com/pmmp/PocketMine-MP/blob/master/src/pocketmine/event/player/PlayerJumpEvent.php