mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-04 00:55:14 +00:00
Release 5.22.0 (Bedrock 1.21.50 support) (#6559)
Co-authored-by: Dylan K. Taylor <dktapps@pmmp.io>
This commit is contained in:
@ -77,6 +77,7 @@ use pocketmine\network\mcpe\protocol\PlayerHotbarPacket;
|
||||
use pocketmine\network\mcpe\protocol\PlayerInputPacket;
|
||||
use pocketmine\network\mcpe\protocol\PlayerSkinPacket;
|
||||
use pocketmine\network\mcpe\protocol\RequestChunkRadiusPacket;
|
||||
use pocketmine\network\mcpe\protocol\serializer\BitSet;
|
||||
use pocketmine\network\mcpe\protocol\ServerSettingsRequestPacket;
|
||||
use pocketmine\network\mcpe\protocol\SetActorMotionPacket;
|
||||
use pocketmine\network\mcpe\protocol\SetPlayerGameTypePacket;
|
||||
@ -135,7 +136,7 @@ class InGamePacketHandler extends PacketHandler{
|
||||
protected ?Vector3 $lastPlayerAuthInputPosition = null;
|
||||
protected ?float $lastPlayerAuthInputYaw = null;
|
||||
protected ?float $lastPlayerAuthInputPitch = null;
|
||||
protected ?int $lastPlayerAuthInputFlags = null;
|
||||
protected ?BitSet $lastPlayerAuthInputFlags = null;
|
||||
|
||||
public bool $forceMoveSync = false;
|
||||
|
||||
@ -161,9 +162,9 @@ class InGamePacketHandler extends PacketHandler{
|
||||
return true;
|
||||
}
|
||||
|
||||
private function resolveOnOffInputFlags(int $inputFlags, int $startFlag, int $stopFlag) : ?bool{
|
||||
$enabled = ($inputFlags & (1 << $startFlag)) !== 0;
|
||||
$disabled = ($inputFlags & (1 << $stopFlag)) !== 0;
|
||||
private function resolveOnOffInputFlags(BitSet $inputFlags, int $startFlag, int $stopFlag) : ?bool{
|
||||
$enabled = $inputFlags->get($startFlag);
|
||||
$disabled = $inputFlags->get($stopFlag);
|
||||
if($enabled !== $disabled){
|
||||
return $enabled;
|
||||
}
|
||||
@ -215,7 +216,7 @@ class InGamePacketHandler extends PacketHandler{
|
||||
if($inputFlags !== $this->lastPlayerAuthInputFlags){
|
||||
$this->lastPlayerAuthInputFlags = $inputFlags;
|
||||
|
||||
$sneaking = $packet->hasFlag(PlayerAuthInputFlags::SNEAKING);
|
||||
$sneaking = $inputFlags->get(PlayerAuthInputFlags::SNEAKING);
|
||||
if($this->player->isSneaking() === $sneaking){
|
||||
$sneaking = null;
|
||||
}
|
||||
@ -233,10 +234,10 @@ class InGamePacketHandler extends PacketHandler{
|
||||
$this->player->sendData([$this->player]);
|
||||
}
|
||||
|
||||
if($packet->hasFlag(PlayerAuthInputFlags::START_JUMPING)){
|
||||
if($inputFlags->get(PlayerAuthInputFlags::START_JUMPING)){
|
||||
$this->player->jump();
|
||||
}
|
||||
if($packet->hasFlag(PlayerAuthInputFlags::MISSED_SWING)){
|
||||
if($inputFlags->get(PlayerAuthInputFlags::MISSED_SWING)){
|
||||
$this->player->missSwing();
|
||||
}
|
||||
}
|
||||
|
@ -93,6 +93,7 @@ final class ItemStackResponseBuilder{
|
||||
$item->getCount(),
|
||||
$itemStackInfo->getStackId(),
|
||||
$item->getCustomName(),
|
||||
$item->getCustomName(),
|
||||
$item instanceof Durable ? $item->getDamage() : 0,
|
||||
);
|
||||
}
|
||||
|
@ -37,6 +37,7 @@ use pocketmine\network\mcpe\protocol\types\resourcepacks\ResourcePackInfoEntry;
|
||||
use pocketmine\network\mcpe\protocol\types\resourcepacks\ResourcePackStackEntry;
|
||||
use pocketmine\network\mcpe\protocol\types\resourcepacks\ResourcePackType;
|
||||
use pocketmine\resourcepacks\ResourcePack;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use function array_keys;
|
||||
use function array_map;
|
||||
use function ceil;
|
||||
@ -103,7 +104,7 @@ class ResourcePacksPacketHandler extends PacketHandler{
|
||||
//TODO: more stuff
|
||||
|
||||
return new ResourcePackInfoEntry(
|
||||
$pack->getPackId(),
|
||||
Uuid::fromString($pack->getPackId()),
|
||||
$pack->getPackVersion(),
|
||||
$pack->getPackSize(),
|
||||
$this->encryptionKeys[$pack->getPackId()] ?? "",
|
||||
@ -117,7 +118,9 @@ class ResourcePacksPacketHandler extends PacketHandler{
|
||||
resourcePackEntries: $resourcePackEntries,
|
||||
mustAccept: $this->mustAccept,
|
||||
hasAddons: false,
|
||||
hasScripts: false
|
||||
hasScripts: false,
|
||||
worldTemplateId: Uuid::fromString(Uuid::NIL),
|
||||
worldTemplateVersion: ""
|
||||
));
|
||||
$this->session->getLogger()->debug("Waiting for client to accept resource packs");
|
||||
}
|
||||
|
Reference in New Issue
Block a user