mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-07 04:17:07 +00:00
Cactus Placement
This commit is contained in:
parent
7e7f1892fd
commit
3e87d1927d
@ -283,14 +283,6 @@ class BlockAPI{
|
||||
"title" => "Furnace",
|
||||
));
|
||||
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:
|
||||
$cancelPlace = true;
|
||||
break;
|
||||
@ -341,14 +333,6 @@ class BlockAPI{
|
||||
$data2["z"] = $next[2][2];
|
||||
$this->server->handle("player.block.place", $data2);
|
||||
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
|
||||
$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);
|
||||
|
@ -30,4 +30,21 @@ class CactusBlock extends TransparentBlock{
|
||||
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){
|
||||
$level->setBlock($block, $this->id, 0);
|
||||
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);
|
||||
$block1 = $level->getBlockFace($down, 3);
|
||||
$block2 = $level->getBlockFace($down, 4);
|
||||
|
Loading…
x
Reference in New Issue
Block a user