From dd3207cbd8ed5d1a3569c6490411667ee6338fe7 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Thu, 27 Nov 2014 13:47:17 +0100 Subject: [PATCH] Possible fix for #2267, #2314 --- src/pocketmine/level/Level.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index b2be7d2e9..f7387c486 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -1936,18 +1936,18 @@ class Level implements ChunkManager, Metadatable{ } if($spawn instanceof Vector3){ $v = $spawn->floor(); - for(; $v->y > 0; $v->y -= 2){ + for(; $v->y > 0; --$v->y){ $b = $this->getBlock($v); if($b === null){ return $spawn; - }elseif(!($b instanceof Air)){ - $v->y += 1; + }elseif($b->isSolid){ + $v->y++; break; } } for(; $v->y < 128; ++$v->y){ - if($this->getBlock($v->getSide(1)) instanceof Air){ - if($this->getBlock($v) instanceof Air){ + if(!$this->getBlock($v->getSide(1))->isSolid){ + if(!$this->getBlock($v)->isSolid){ return new Position($spawn->x, $v->y === Math::floorFloat($spawn->y) ? $spawn->y : $v->y, $spawn->z, $this); } }else{