Player: fixed internal server error when using insert-before on a client-sided book page

This commit is contained in:
Dylan K. Taylor 2020-06-01 12:59:18 +01:00
parent 21aef97ba7
commit a3f6338626

View File

@ -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;