mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-07 12:18:46 +00:00
InGamePacketHandler: don't bother checking for flag changes if the flag fields are identical
we don't need to check this on a bit by bit level if the integers are the same. this saves 2-3 microseconds per packet on my machine, which doesn't sound like much, but it adds up when there are lots of players.
This commit is contained in:
parent
3724479be3
commit
b75bc61a64
@ -145,6 +145,8 @@ class InGamePacketHandler extends PacketHandler{
|
|||||||
/** @var UseItemTransactionData|null */
|
/** @var UseItemTransactionData|null */
|
||||||
protected $lastRightClickData = null;
|
protected $lastRightClickData = null;
|
||||||
|
|
||||||
|
protected ?int $lastPlayerAuthInputFlags = null;
|
||||||
|
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
public $forceMoveSync = false;
|
public $forceMoveSync = false;
|
||||||
|
|
||||||
@ -208,6 +210,9 @@ class InGamePacketHandler extends PacketHandler{
|
|||||||
$this->forceMoveSync = false;
|
$this->forceMoveSync = false;
|
||||||
|
|
||||||
$inputFlags = $packet->getInputFlags();
|
$inputFlags = $packet->getInputFlags();
|
||||||
|
if($inputFlags !== $this->lastPlayerAuthInputFlags){
|
||||||
|
$this->lastPlayerAuthInputFlags = $inputFlags;
|
||||||
|
|
||||||
$sneaking = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_SNEAKING, PlayerAuthInputFlags::STOP_SNEAKING);
|
$sneaking = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_SNEAKING, PlayerAuthInputFlags::STOP_SNEAKING);
|
||||||
$sprinting = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_SPRINTING, PlayerAuthInputFlags::STOP_SPRINTING);
|
$sprinting = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_SPRINTING, PlayerAuthInputFlags::STOP_SPRINTING);
|
||||||
$swimming = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_SWIMMING, PlayerAuthInputFlags::STOP_SWIMMING);
|
$swimming = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_SWIMMING, PlayerAuthInputFlags::STOP_SWIMMING);
|
||||||
@ -224,6 +229,7 @@ class InGamePacketHandler extends PacketHandler{
|
|||||||
if($packet->hasFlag(PlayerAuthInputFlags::START_JUMPING)){
|
if($packet->hasFlag(PlayerAuthInputFlags::START_JUMPING)){
|
||||||
$this->player->jump();
|
$this->player->jump();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(!$this->forceMoveSync){
|
if(!$this->forceMoveSync){
|
||||||
//TODO: this packet has WAYYYYY more useful information that we're not using
|
//TODO: this packet has WAYYYYY more useful information that we're not using
|
||||||
|
Loading…
x
Reference in New Issue
Block a user