PocketMine-MP
5.21.2 git-b2aa6396c3cc2cafdd815eacc360e1ad89599899
Loading...
Searching...
No Matches
ConcretePowder.php
1
<?php
2
3
/*
4
*
5
* ____ _ _ __ __ _ __ __ ____
6
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
7
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
8
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
9
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
10
*
11
* This program is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License as published by
13
* the Free Software Foundation, either version 3 of the License, or
14
* (at your option) any later version.
15
*
16
* @author PocketMine Team
17
* @link http://www.pocketmine.net/
18
*
19
*
20
*/
21
22
declare(strict_types=1);
23
24
namespace
pocketmine\block
;
25
26
use
pocketmine\block\utils\BlockEventHelper
;
27
use pocketmine\block\utils\ColoredTrait;
28
use
pocketmine\block\utils\Fallable
;
29
use pocketmine\block\utils\FallableTrait;
30
use
pocketmine\math\Facing
;
31
32
class
ConcretePowder
extends
Opaque
implements
Fallable
{
33
use ColoredTrait;
34
use FallableTrait {
35
onNearbyBlockChange
as
protected
startFalling;
36
}
37
38
public
function
onNearbyBlockChange
() : void{
39
if(($water = $this->getAdjacentWater()) !== null){
40
BlockEventHelper::form($this, VanillaBlocks::CONCRETE()->setColor($this->color), $water);
41
}
else
{
42
$this->startFalling();
43
}
44
}
45
46
public
function
tickFalling
() : ?
Block
{
47
if($this->getAdjacentWater() === null){
48
return
null
;
49
}
50
return
VanillaBlocks::CONCRETE()->setColor($this->color);
51
}
52
53
private
function
getAdjacentWater() : ?Water{
54
foreach(Facing::ALL as $i){
55
if
($i === Facing::DOWN){
56
continue
;
57
}
58
$block = $this->getSide($i);
59
if
($block instanceof Water){
60
return
$block;
61
}
62
}
63
64
return
null
;
65
}
66
}
pocketmine\block\Block
Definition
Block.php:62
pocketmine\block\ConcretePowder
Definition
ConcretePowder.php:32
pocketmine\block\ConcretePowder\onNearbyBlockChange
onNearbyBlockChange()
Definition
ConcretePowder.php:38
pocketmine\block\ConcretePowder\tickFalling
tickFalling()
Definition
ConcretePowder.php:46
pocketmine\block\Opaque
Definition
Opaque.php:30
pocketmine\block\utils\BlockEventHelper
Definition
BlockEventHelper.php:39
pocketmine\math\Facing
Definition
Facing.php:28
pocketmine\block\utils\Fallable
Definition
Fallable.php:30
pocketmine\block
Definition
ActivatorRail.php:24
src
block
ConcretePowder.php
Generated by
1.12.0