Corrected slab placement

* Correct lateral slab placement
* Fixed When placing a block in a slab, it becomes a double one (only
stone)
This commit is contained in:
Shoghi Cervantes Pueyo 2013-01-13 01:53:28 +01:00
parent eacaf139c2
commit 74fa32dfa9

View File

@ -359,16 +359,27 @@ class BlockAPI{
} }
$replace = false; $replace = false;
switch($target[0]){ switch($data["block"]){
case 44: //Slabs case 44: //Slabs
if($data["face"] !== 1){ if($data["face"] === 0){
break; break;
} }elseif($data["face"] === 1){
if(($target[1] & 0x07) === ($data["meta"] & 0x07)){ if(($target[1] & 0x07) === ($data["meta"] & 0x07) and $target[0] === 44){
$replace = true; $replace = true;
$data["block"] = 43; $data["block"] = 43;
$data["meta"] = $data["meta"] & 0x07; $data["meta"] = $data["meta"] & 0x07;
} }
}else{
$data2 = $data;
BlockFace::setPosition($data2, $data["face"]);
$b = $this->server->api->level->getBlock($data2["x"], $data2["y"], $data2["z"]);
if($b[0] === 44 and ($b[1] & 0x07) === ($data["meta"] & 0x07) and $b[0] === 44){
$data = $data2;
$replace = true;
$data["block"] = 43;
$data["meta"] = $data["meta"] & 0x07;
}
}
break; break;
} }