Player: do not assign maybe-false result of json_encode() to ModalFormRequestPacket

fixes a phpstan error on l7
This commit is contained in:
Dylan K. Taylor 2020-06-15 21:22:33 +01:00
parent 6a7b77fee2
commit a8ec51daac
2 changed files with 5 additions and 9 deletions

View File

@ -3515,13 +3515,14 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
* Sends a Form to the player, or queue to send it if a form is already open.
*/
public function sendForm(Form $form) : void{
$formData = json_encode($form);
if($formData === false){
throw new \InvalidArgumentException("Failed to encode form JSON: " . json_last_error_msg());
}
$id = $this->formIdCounter++;
$pk = new ModalFormRequestPacket();
$pk->formId = $id;
$pk->formData = json_encode($form);
if($pk->formData === false){
throw new \InvalidArgumentException("Failed to encode form JSON: " . json_last_error_msg());
}
$pk->formData = $formData;
if($this->dataPacket($pk)){
$this->forms[$id] = $form;
}

View File

@ -45,11 +45,6 @@ parameters:
count: 1
path: ../../../src/pocketmine/Player.php
-
message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\ModalFormRequestPacket\\:\\:\\$formData \\(string\\) does not accept string\\|false\\.$#"
count: 1
path: ../../../src/pocketmine/Player.php
-
message: "#^Only booleans are allowed in an if condition, bool\\|int given\\.$#"
count: 1