20class PlayerLocationSender {
38 ::ll::TypedStorage<4, 16, ::std::optional<::Vec3>> mPosition;
39 ::ll::TypedStorage<4, 4, ::DimensionType> mDimension;
40 ::ll::TypedStorage<1, 1, bool> mIsSpectator;
44 using OptionalPosition = ::std::optional<::Vec3>;
56 ::std::vector<::ActorUniqueID>,
57 ::std::vector<::PlayerLocationSender::PlayerLocationData>>>
58 mCurrentPlayerLocationData;
63 ::std::pair<::ActorUniqueID, ::ActorUniqueID>,
64 ::std::optional<::Vec3>,
66 ::std::vector<::std::pair<::ActorUniqueID, ::ActorUniqueID>>,
67 ::std::vector<::std::optional<::Vec3>>>>
69 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PacketSender>> mPacketSender;
70 ::ll::TypedStorage<4, 4, float> mSimulationDistance;
75 PlayerLocationSender();
80 MCAPI PlayerLocationSender(
82 int simulationDistanceChunks,
83 float simulationDistanceMultiplyFactor
86 MCAPI
void _checkPlayerPairAndMaybeSendPacket(
92 MCAPI
void _forEachClientPlayerPair(
93 ::std::vector<::WeakEntityRef>
const& gameplayUsers,
97 MCAPI
bool _shouldSendPositionPacket(
98 ::Vec3 const& viewingPlayerPosition,
100 bool viewingPlayerIsSpectator,
101 ::std::optional<::Vec3>
const& observedPlayerPosPrev,
105 MCAPI
void _updatePlayerData(
::Player const& player);
107 MCAPI
void checkPlayerPairsAndMaybeSendPackets(::std::vector<::WeakEntityRef>
const& gameplayUsers);
109 MCAPI
void sendPacketsHidingAllPlayers(::std::vector<::WeakEntityRef>
const& gameplayUsers);
111 MCAPI
void updatePlayersData(::std::vector<::WeakEntityRef>
const& gameplayUsers);
113 MCAPI ~PlayerLocationSender();
119 MCAPI static ::PlayerLocationSender::PlayerLocationData
const& NULL_PLAYER_LOCATION_DATA();
126 $ctor(
::PacketSender& packetSender,
int simulationDistanceChunks,
float simulationDistanceMultiplyFactor);