From e824266457c3207bb2565256e2f9a58652d98a51 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 22 Aug 2025 18:27:06 +0100 Subject: [PATCH 1/2] ChiseledBookshelf: add setSlots() --- src/block/ChiseledBookshelf.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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. */ From 47140cb8d7a956d767423de56410c46526c10468 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 22 Aug 2025 18:27:32 +0100 Subject: [PATCH 2/2] RedstoneLamp: implement Lightable, shimmed to powered --- src/block/RedstoneLamp.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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; + } }