mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-13 17:29:44 +00:00
BlockEventPacket: added a ::create() method
This commit is contained in:
parent
790c2cd4b7
commit
77ace57985
@ -86,12 +86,7 @@ class ChestInventory extends ContainerInventory{
|
||||
protected function broadcastBlockEventPacket(bool $isOpen) : void{
|
||||
$holder = $this->getHolder();
|
||||
|
||||
$pk = new BlockEventPacket();
|
||||
$pk->x = (int) $holder->x;
|
||||
$pk->y = (int) $holder->y;
|
||||
$pk->z = (int) $holder->z;
|
||||
$pk->eventType = 1; //it's always 1 for a chest
|
||||
$pk->eventData = $isOpen ? 1 : 0;
|
||||
$holder->getWorld()->broadcastPacketToViewers($holder, $pk);
|
||||
//event ID is always 1 for a chest
|
||||
$holder->getWorld()->broadcastPacketToViewers($holder, BlockEventPacket::create(1, $isOpen ? 1 : 0, $holder->asVector3()));
|
||||
}
|
||||
}
|
||||
|
@ -26,6 +26,7 @@ namespace pocketmine\network\mcpe\protocol;
|
||||
#include <rules/DataPacket.h>
|
||||
|
||||
|
||||
use pocketmine\math\Vector3;
|
||||
use pocketmine\network\mcpe\handler\SessionHandler;
|
||||
|
||||
class BlockEventPacket extends DataPacket implements ClientboundPacket{
|
||||
@ -42,6 +43,16 @@ class BlockEventPacket extends DataPacket implements ClientboundPacket{
|
||||
/** @var int */
|
||||
public $eventData;
|
||||
|
||||
public static function create(int $eventId, int $eventData, Vector3 $pos) : self{
|
||||
$pk = new self;
|
||||
$pk->eventType = $eventId;
|
||||
$pk->eventData = $eventData;
|
||||
$pk->x = $pos->getFloorX();
|
||||
$pk->y = $pos->getFloorY();
|
||||
$pk->z = $pos->getFloorZ();
|
||||
return $pk;
|
||||
}
|
||||
|
||||
protected function decodePayload() : void{
|
||||
$this->getBlockPosition($this->x, $this->y, $this->z);
|
||||
$this->eventType = $this->getVarInt();
|
||||
|
Loading…
x
Reference in New Issue
Block a user