mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-07 12:18:46 +00:00
Cactus Placement
This commit is contained in:
parent
7e7f1892fd
commit
3e87d1927d
@ -283,14 +283,6 @@ class BlockAPI{
|
|||||||
"title" => "Furnace",
|
"title" => "Furnace",
|
||||||
));
|
));
|
||||||
break;
|
break;
|
||||||
case 6:
|
|
||||||
if($data["block"] === 351 and $data["meta"] === 0x0F){ //Bonemeal
|
|
||||||
$s = new SaplingBlock($target[1] & 0x03);
|
|
||||||
$s->position(new Vector3($target[2][0], $target[2][1], $target[2][2]));
|
|
||||||
$s->onActivate($this->server->api->level, new Item($data["block"], $data["meta"]), $entity->player);
|
|
||||||
$cancelPlace = true;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
$cancelPlace = true;
|
$cancelPlace = true;
|
||||||
break;
|
break;
|
||||||
@ -341,14 +333,6 @@ class BlockAPI{
|
|||||||
$data2["z"] = $next[2][2];
|
$data2["z"] = $next[2][2];
|
||||||
$this->server->handle("player.block.place", $data2);
|
$this->server->handle("player.block.place", $data2);
|
||||||
break;
|
break;
|
||||||
case 59://Seeds
|
|
||||||
case 105:
|
|
||||||
$blockDown = $this->server->api->level->getBlock($data["x"], $data["y"] - 1, $data["z"]);
|
|
||||||
if($blockDown[0] !== 60){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
$data["meta"] = 0;
|
|
||||||
break;
|
|
||||||
case 81: //Cactus
|
case 81: //Cactus
|
||||||
$blockDown = $this->server->api->level->getBlock($data["x"], $data["y"] - 1, $data["z"]);
|
$blockDown = $this->server->api->level->getBlock($data["x"], $data["y"] - 1, $data["z"]);
|
||||||
$block0 = $this->server->api->level->getBlock($data["x"], $data["y"], $data["z"] + 1);
|
$block0 = $this->server->api->level->getBlock($data["x"], $data["y"], $data["z"] + 1);
|
||||||
|
@ -30,4 +30,21 @@ class CactusBlock extends TransparentBlock{
|
|||||||
parent::__construct(CACTUS, 0, "Cactus");
|
parent::__construct(CACTUS, 0, "Cactus");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function place(BlockAPI $level, Item $item, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz){
|
||||||
|
if($block->inWorld === true){
|
||||||
|
$down = $level->getBlockFace($block, 0);
|
||||||
|
if($down->getID() === SAND or $down->getID() === CACTUS){
|
||||||
|
$block0 = $level->getBlockFace($block, 2);
|
||||||
|
$block1 = $level->getBlockFace($block, 3);
|
||||||
|
$block2 = $level->getBlockFace($block, 4);
|
||||||
|
$block3 = $level->getBlockFace($block, 5);
|
||||||
|
if($block0->isFlowable === true and $block1->isFlowable === true and $block2->isFlowable === true and $block3->isFlowable === true){
|
||||||
|
$level->setBlock($block, $this->id, 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -42,7 +42,7 @@ class SugarcaneBlock extends TransparentBlock{
|
|||||||
if($down->getID() === SUGARCANE_BLOCK){
|
if($down->getID() === SUGARCANE_BLOCK){
|
||||||
$level->setBlock($block, $this->id, 0);
|
$level->setBlock($block, $this->id, 0);
|
||||||
return true;
|
return true;
|
||||||
}elseif($down->getID() === 2 or $down->getID() === 3 or $down->getID() === 12){
|
}elseif($down->getID() === GRASS or $down->getID() === DIRT or $down->getID() === SAND){
|
||||||
$block0 = $level->getBlockFace($down, 2);
|
$block0 = $level->getBlockFace($down, 2);
|
||||||
$block1 = $level->getBlockFace($down, 3);
|
$block1 = $level->getBlockFace($down, 3);
|
||||||
$block2 = $level->getBlockFace($down, 4);
|
$block2 = $level->getBlockFace($down, 4);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user