diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 950a21f4f..08cee3c74 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -3077,6 +3077,11 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ $modifiedPages[] = $packet->pageNumber; break; case BookEditPacket::TYPE_ADD_PAGE: + if(!$newBook->pageExists($packet->pageNumber)){ + //this may only come before a page which already exists + //TODO: the client can send insert-before actions on trailing client-side pages which cause odd behaviour on the server + return false; + } $newBook->insertPage($packet->pageNumber, $packet->text); $modifiedPages[] = $packet->pageNumber; break;