mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-06 01:51:51 +00:00
Mycelium spreads like grass and MonsterSpawner breaktime added
This commit is contained in:
parent
e91781cbf2
commit
532b12c6c0
@ -28,4 +28,25 @@ class MonsterSpawner extends Solid{
|
|||||||
parent::__construct(self::MONSTER_SPAWNER, 0, "Monster Spawner");
|
parent::__construct(self::MONSTER_SPAWNER, 0, "Monster Spawner");
|
||||||
$this->hardness = 25;
|
$this->hardness = 25;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getBreakTime(Item $item){
|
||||||
|
switch($item->isPickaxe()){
|
||||||
|
case 5:
|
||||||
|
return 0.95;
|
||||||
|
case 4:
|
||||||
|
return 1.25;
|
||||||
|
case 3:
|
||||||
|
return 1.9;
|
||||||
|
case 2:
|
||||||
|
return 0.65;
|
||||||
|
case 1:
|
||||||
|
return 3.75;
|
||||||
|
default:
|
||||||
|
return 25;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDrops(Item $item){
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
@ -28,4 +28,26 @@ class Mycelium extends Solid{
|
|||||||
parent::__construct(self::MYCELIUM, 0, "Mycelium");
|
parent::__construct(self::MYCELIUM, 0, "Mycelium");
|
||||||
$this->hardness = 2.5;
|
$this->hardness = 2.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getDrops(Item $item){
|
||||||
|
return [
|
||||||
|
[Item::DIRT, 0, 1],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onUpdate($type){
|
||||||
|
if($type === Level::BLOCK_UPDATE_RANDOM){
|
||||||
|
//TODO: light levels
|
||||||
|
$x = mt_rand($this->x - 1, $this->x + 1);
|
||||||
|
$y = mt_rand($this->y - 2, $this->y + 2);
|
||||||
|
$z = mt_rand($this->z - 1, $this->z + 1);
|
||||||
|
$block = $this->getLevel()->getBlockIdAt($x, $y, $z);
|
||||||
|
if($block === Block::DIRT){
|
||||||
|
$block = $this->getLevel()->getBlock(new Vector3($x, $y, $z));
|
||||||
|
if($block->getSide(1) instanceof Transparent){
|
||||||
|
$this->getLevel()->setBlock($block, new Mycelium());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user