PocketMine-MP
5.21.2 git-a6534ecbbbcf369264567d27e5ed70f7f5be9816
Loading...
Searching...
No Matches
CopperBulb.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\CopperMaterial
;
27
use pocketmine\block\utils\CopperOxidation;
28
use pocketmine\block\utils\CopperTrait;
29
use pocketmine\block\utils\LightableTrait;
30
use pocketmine\block\utils\PoweredByRedstoneTrait;
31
use
pocketmine\data\runtime\RuntimeDataDescriber
;
32
33
class
CopperBulb
extends
Opaque
implements
CopperMaterial
{
34
use CopperTrait;
35
use PoweredByRedstoneTrait;
36
use LightableTrait{
37
describeBlockOnlyState
as encodeLitState;
38
}
39
40
protected
function
describeBlockOnlyState
(
RuntimeDataDescriber
$w) : void{
41
$this->encodeLitState($w);
42
$w->bool($this->powered);
43
}
44
46
public
function
togglePowered
(
bool
$powered) : self{
47
if($powered === $this->powered){
48
return
$this;
49
}
50
if
($powered) {
51
$this->setLit(!$this->lit);
52
}
53
$this->setPowered($powered);
54
return
$this;
55
}
56
57
public
function
getLightLevel
() : int{
58
if ($this->lit) {
59
return
match($this->oxidation){
60
CopperOxidation::NONE => 15,
61
CopperOxidation::EXPOSED => 12,
62
CopperOxidation::WEATHERED => 8,
63
CopperOxidation::OXIDIZED => 4,
64
};
65
}
66
67
return
0;
68
}
69
}
pocketmine\block\CopperBulb
Definition
CopperBulb.php:33
pocketmine\block\CopperBulb\describeBlockOnlyState
describeBlockOnlyState(RuntimeDataDescriber $w)
Definition
CopperBulb.php:40
pocketmine\block\CopperBulb\togglePowered
togglePowered(bool $powered)
Definition
CopperBulb.php:46
pocketmine\block\CopperBulb\getLightLevel
getLightLevel()
Definition
CopperBulb.php:57
pocketmine\block\Opaque
Definition
Opaque.php:30
pocketmine\block\utils\CopperMaterial
Definition
CopperMaterial.php:29
pocketmine\data\runtime\RuntimeDataDescriber
Definition
RuntimeDataDescriber.php:38
pocketmine\block
Definition
ActivatorRail.php:24
src
block
CopperBulb.php
Generated by
1.12.0