Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace An0ther;
- USE pocketmine\math\Vector3;
- class Movement{
- PRIVATE $main;
- PRIVATE $motion;
- PUBLIC FUNCTION __construct($main){
- $this->main = $main;
- $this->motion = 0.2;
- }
- PUBLIC FUNCTION fixYaw($entity){
- $yaw = $entity->yaw;
- IF($yaw > 0 && $yaw < 90)
- $yaw = 0;
- IF($yaw > 90 && $yaw < 180)
- $yaw = 90;
- IF($yaw > 180 && $yaw < 270)
- $yaw = 180;
- IF($yaw > 270 && $yaw < 0)
- $yaw = 270;
- RETURN $yaw;
- }
- PUBLIC FUNCTION fixY($entity){
- $y = $entity->getY();
- IF($entity->getLevel()->getBlock(NEW Vector3($entity->getX(),$y - 1,$entity->getZ()))->getId() == 0){
- $y -= 1;
- }
- RETURN $y;
- }
- PUBLIC FUNCTION getForward($entity){
- $yaw = $entity->yaw;
- $x = $entity->getX();
- $y = $this->fixY($entity);
- $z = $entity->getZ();
- switch($yaw){
- CASE 0:
- $z += $this->motion;
- break;
- CASE 90:
- $x -= $this->motion;
- break;
- CASE 180:
- $z -= $this->motion;
- break;
- CASE 270:
- $x += $this->motion;
- break;
- }
- ifblock:
- IF($this->isBlock($x,$y,$z,$entity->getLevel())){
- $y++;
- IF($entity->getY() - $y >= 2)
- RETURN [$entity->getX(),$entity->getY(),$entity->getZ()];
- ELSE
- GOTO ifblock;
- }
- RETURN [$x,$y,$z];
- }
- PUBLIC FUNCTION isBlock($x,$y,$z,$level){
- IF($level->getBlock(NEW Vector3($x,$y,$z))->getId() == 0)
- RETURN FALSE;
- ELSE
- RETURN TRUE;
- }
- PUBLIC FUNCTION getBack($entity){
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement