19class PlayerLocationSender {
37 ::ll::TypedStorage<4, 16, ::std::optional<::Vec3>> mPosition;
38 ::ll::TypedStorage<4, 4, ::DimensionType> mDimension;
39 ::ll::TypedStorage<1, 1, bool> mIsSpectator;
43 using OptionalPosition = ::std::optional<::Vec3>;
55 ::std::vector<::ActorUniqueID>,
56 ::std::vector<::PlayerLocationSender::PlayerLocationData>>>
57 mCurrentPlayerLocationData;
62 ::std::pair<::ActorUniqueID, ::ActorUniqueID>,
63 ::std::optional<::Vec3>,
65 ::std::vector<::std::pair<::ActorUniqueID, ::ActorUniqueID>>,
66 ::std::vector<::std::optional<::Vec3>>>>
68 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PacketSender>> mPacketSender;
69 ::ll::TypedStorage<4, 4, float> mSimulationDistance;
74 PlayerLocationSender();
79 MCAPI PlayerLocationSender(
81 int simulationDistanceChunks,
82 float simulationDistanceMultiplyFactor
85 MCAPI
void _checkPlayerPairAndMaybeSendPacket(
91 MCAPI
void _forEachClientPlayerPair(
92 ::std::vector<::WeakEntityRef>
const& gameplayUsers,
96 MCAPI
bool _shouldSendPositionPacket(
97 ::Vec3 const& viewingPlayerPosition,
98 ::DimensionType
const& viewingPlayerDimension,
99 bool viewingPlayerIsSpectator,
100 ::std::optional<::Vec3>
const& observedPlayerPosPrev,
104 MCAPI
void _updatePlayerData(
::Player const& player);
106 MCAPI
void checkPlayerPairsAndMaybeSendPackets(::std::vector<::WeakEntityRef>
const& gameplayUsers);
108 MCAPI
void sendPacketsHidingAllPlayers(::std::vector<::WeakEntityRef>
const& gameplayUsers);
110 MCAPI
void updatePlayersData(::std::vector<::WeakEntityRef>
const& gameplayUsers);
112 MCAPI ~PlayerLocationSender();
118 MCAPI static ::PlayerLocationSender::PlayerLocationData
const& NULL_PLAYER_LOCATION_DATA();
125 $ctor(
::PacketSender& packetSender,
int simulationDistanceChunks,
float simulationDistanceMultiplyFactor);