From 3d0e47ba14af2ee009cb0e783656d783ba337419 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 16 Jul 2019 17:52:58 +0100 Subject: [PATCH] WritableBookBase: Don't expose page deque on the API putting this stuff on the API creates a nightmare because DS structures are both mutable and by-reference, so they have to be manually copied everywhere. --- src/pocketmine/item/WritableBookBase.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pocketmine/item/WritableBookBase.php b/src/pocketmine/item/WritableBookBase.php index 3d0a75b6e..365766973 100644 --- a/src/pocketmine/item/WritableBookBase.php +++ b/src/pocketmine/item/WritableBookBase.php @@ -149,17 +149,17 @@ abstract class WritableBookBase extends Item{ /** * Returns an array containing all pages of this book. * - * @return WritableBookPage[]|Deque + * @return WritableBookPage[] */ - public function getPages() : Deque{ - return $this->pages; + public function getPages() : array{ + return $this->pages->toArray(); } /** - * @param WritableBookPage[]|Deque $pages + * @param WritableBookPage[] $pages */ - public function setPages(Deque $pages) : void{ - $this->pages = $pages; + public function setPages(array $pages) : void{ + $this->pages = new Deque($pages); } protected function deserializeCompoundTag(CompoundTag $tag) : void{