From 5d60ba36b7ecd9fd1caf79b8cd94e55f72b8c0b0 Mon Sep 17 00:00:00 2001 From: IvanCraft623 Date: Tue, 9 Jul 2024 21:07:47 -0500 Subject: [PATCH] Support for 1.21.2 --- composer.json | 2 +- composer.lock | 14 +++++++------- src/network/mcpe/NetworkSession.php | 5 +++++ src/player/Player.php | 7 +++++++ 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index dbc1b1354..299f69f78 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,7 @@ "pocketmine/bedrock-block-upgrade-schema": "~4.2.0+bedrock-1.21.0", "pocketmine/bedrock-data": "~2.11.0+bedrock-1.21.0", "pocketmine/bedrock-item-upgrade-schema": "~1.10.0+bedrock-1.21.0", - "pocketmine/bedrock-protocol": "~31.0.0+bedrock-1.21.0", + "pocketmine/bedrock-protocol": "~32.1.0+bedrock-1.21.2", "pocketmine/binaryutils": "^0.2.1", "pocketmine/callback-validator": "^1.0.2", "pocketmine/color": "^0.3.0", diff --git a/composer.lock b/composer.lock index ce8d52e26..0547560cc 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6254ce9a454f8c9acd4936512c4d315a", + "content-hash": "d459605b85f247204988a879982aab50", "packages": [ { "name": "adhocore/json-comment", @@ -205,16 +205,16 @@ }, { "name": "pocketmine/bedrock-protocol", - "version": "31.0.0+bedrock-1.21.0", + "version": "32.1.0+bedrock-1.21.2", "source": { "type": "git", "url": "https://github.com/pmmp/BedrockProtocol.git", - "reference": "972373b6b8068963649f0a95163424eb5b645e29" + "reference": "bb23db51365bdc91d3135c3885986a691ae1cb44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pmmp/BedrockProtocol/zipball/972373b6b8068963649f0a95163424eb5b645e29", - "reference": "972373b6b8068963649f0a95163424eb5b645e29", + "url": "https://api.github.com/repos/pmmp/BedrockProtocol/zipball/bb23db51365bdc91d3135c3885986a691ae1cb44", + "reference": "bb23db51365bdc91d3135c3885986a691ae1cb44", "shasum": "" }, "require": { @@ -245,9 +245,9 @@ "description": "An implementation of the Minecraft: Bedrock Edition protocol in PHP", "support": { "issues": "https://github.com/pmmp/BedrockProtocol/issues", - "source": "https://github.com/pmmp/BedrockProtocol/tree/31.0.0+bedrock-1.21.0" + "source": "https://github.com/pmmp/BedrockProtocol/tree/32.1.0+bedrock-1.21.2" }, - "time": "2024-06-13T17:34:14+00:00" + "time": "2024-07-10T01:38:43+00:00" }, { "name": "pocketmine/binaryutils", diff --git a/src/network/mcpe/NetworkSession.php b/src/network/mcpe/NetworkSession.php index 04cc7b932..218e10253 100644 --- a/src/network/mcpe/NetworkSession.php +++ b/src/network/mcpe/NetworkSession.php @@ -54,6 +54,7 @@ use pocketmine\network\mcpe\handler\SessionStartPacketHandler; use pocketmine\network\mcpe\handler\SpawnResponsePacketHandler; use pocketmine\network\mcpe\protocol\AvailableCommandsPacket; use pocketmine\network\mcpe\protocol\ChunkRadiusUpdatedPacket; +use pocketmine\network\mcpe\protocol\ClientboundCloseFormPacket; use pocketmine\network\mcpe\protocol\ClientboundPacket; use pocketmine\network\mcpe\protocol\DisconnectPacket; use pocketmine\network\mcpe\protocol\ModalFormRequestPacket; @@ -1170,6 +1171,10 @@ class NetworkSession{ return $this->sendDataPacket(ModalFormRequestPacket::create($id, json_encode($form, JSON_THROW_ON_ERROR))); } + public function onCloseAllForms() : void{ + $this->sendDataPacket(ClientboundCloseFormPacket::create()); + } + /** * Instructs the networksession to start using the chunk at the given coordinates. This may occur asynchronously. * @param \Closure $onCompletion To be called when chunk sending has completed. diff --git a/src/player/Player.php b/src/player/Player.php index 0cefbe71f..d442c6a3b 100644 --- a/src/player/Player.php +++ b/src/player/Player.php @@ -2151,6 +2151,13 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{ return true; } + /** + * Closes the current viewing form and forms in queue. + */ + public function closeAllForms() : void{ + $this->getNetworkSession()->onCloseAllForms(); + } + /** * Transfers a player to another server. *