diff --git a/src/block/ChiseledBookshelf.php b/src/block/ChiseledBookshelf.php index be49c7a91..cbe22a94b 100644 --- a/src/block/ChiseledBookshelf.php +++ b/src/block/ChiseledBookshelf.php @@ -114,6 +114,18 @@ class ChiseledBookshelf extends Opaque implements HorizontalFacing{ return $this->slots; } + /** + * @param ChiseledBookshelfSlot[] $slots + * @return $this + */ + public function setSlots(array $slots) : self{ + $this->slots = []; + foreach($slots as $slot){ + $this->setSlot($slot, true); + } + return $this; + } + /** * Returns the last slot interacted by a player or null if no slot has been interacted with yet. */ diff --git a/src/block/RedstoneLamp.php b/src/block/RedstoneLamp.php index 33a97801d..530fa2410 100644 --- a/src/block/RedstoneLamp.php +++ b/src/block/RedstoneLamp.php @@ -23,11 +23,12 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\block\utils\Lightable; use pocketmine\block\utils\PoweredByRedstone; use pocketmine\block\utils\PoweredByRedstoneTrait; use pocketmine\data\runtime\RuntimeDataDescriber; -class RedstoneLamp extends Opaque implements PoweredByRedstone{ +class RedstoneLamp extends Opaque implements PoweredByRedstone, Lightable{ use PoweredByRedstoneTrait; protected function describeBlockOnlyState(RuntimeDataDescriber $w) : void{ @@ -37,4 +38,14 @@ class RedstoneLamp extends Opaque implements PoweredByRedstone{ public function getLightLevel() : int{ return $this->powered ? 15 : 0; } + + public function isLit() : bool{ + return $this->powered; + } + + /** @return $this */ + public function setLit(bool $lit = true) : self{ + $this->powered = $lit; + return $this; + } }