Correct and new slab placement (upside-down)

This commit is contained in:
Shoghi Cervantes Pueyo 2013-01-31 18:20:01 +01:00
parent ba4fe61cdb
commit 60c57a6330

View File

@ -397,9 +397,15 @@ class BlockAPI{
switch($data["block"]){
case 44: //Slabs
if($data["face"] === 0){
break;
if($target[0] === 44 and ($target[1] & 0x08) === 0x08 and ($target[1] & 0x07) === ($data["meta"] & 0x07)){
$replace = true;
$data["block"] = 43;
$data["meta"] = $data["meta"] & 0x07;
}else{
$data["meta"] |= 0x08;
}
}elseif($data["face"] === 1){
if(($target[1] & 0x07) === ($data["meta"] & 0x07) and $target[0] === 44){
if($target[0] === 44 and ($target[1] & 0x08) === 0 and ($target[1] & 0x07) === ($data["meta"] & 0x07)){
$replace = true;
$data["block"] = 43;
$data["meta"] = $data["meta"] & 0x07;
@ -408,11 +414,16 @@ class BlockAPI{
$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){
if($b[0] === 44 and ($b[1] & 0x07) === ($data["meta"] & 0x07)){
$data = $data2;
$replace = true;
$data["block"] = 43;
$data["meta"] = $data["meta"] & 0x07;
}else{
$data["meta"] = $data["meta"] & 0x07;
if($data["fy"] > 0.5){
$data["meta"] |= 0x08;
}
}
}
break;