LeviLamina
Loading...
Searching...
No Matches
PlayerLocationSender.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/platform/brstd/flat_map.h"
9#include "mc/world/level/dimension/DimensionType.h"
10
11// auto generated forward declare list
12// clang-format off
13class PacketSender;
14class Player;
16class WeakEntityRef;
17struct ActorUniqueID;
18// clang-format on
19
21public:
22 // PlayerLocationSender inner types declare
23 // clang-format off
26 struct PlayerLocationData;
27 // clang-format on
28
29 // PlayerLocationSender inner types define
31
33
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<4, 16, ::std::optional<::Vec3>> mPosition;
39 ::ll::TypedStorage<4, 4, ::DimensionType> mDimension;
40 ::ll::TypedStorage<1, 1, bool> mIsSpectator;
41 // NOLINTEND
42 };
43
44 using OptionalPosition = ::std::optional<::Vec3>;
45
46public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<
50 8,
51 48,
56 ::std::vector<::ActorUniqueID>,
57 ::std::vector<::PlayerLocationSender::PlayerLocationData>>>
58 mCurrentPlayerLocationData;
59 ::ll::TypedStorage<
60 8,
61 48,
63 ::std::pair<::ActorUniqueID, ::ActorUniqueID>,
64 ::std::optional<::Vec3>,
66 ::std::vector<::std::pair<::ActorUniqueID, ::ActorUniqueID>>,
67 ::std::vector<::std::optional<::Vec3>>>>
68 mSentPlayerData;
69 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PacketSender>> mPacketSender;
70 ::ll::TypedStorage<4, 4, float> mSimulationDistance;
71 // NOLINTEND
72
73public:
74 // member functions
75 // NOLINTBEGIN
76 MCAPI void _forEachClientPlayerPair(
77 ::std::vector<::WeakEntityRef> const& gameplayUsers,
78 ::std::function<void(::UserEntityIdentifierComponent const&, ::Player const&, ::Player const&)> action
79 );
80
81 MCAPI bool _shouldSendPositionPacket(
82 ::Vec3 const& viewingPlayerPosition,
83 ::DimensionType const& viewingPlayerDimension,
84 bool viewingPlayerIsSpectator,
85 ::std::optional<::Vec3> const& observedPlayerPosPrev,
86 ::PlayerLocationSender::PlayerLocationData const& observedPlayerPositionNew
87 ) const;
88
89 MCAPI void _updatePlayerData(::Player const& player);
90 // NOLINTEND
91
92public:
93 // static variables
94 // NOLINTBEGIN
95 MCAPI static ::PlayerLocationSender::PlayerLocationData const& NULL_PLAYER_LOCATION_DATA();
96 // NOLINTEND
97};
Definition PacketSender.h:17
Definition PlayerLocationSender.h:20
Definition Player.h:129
Definition UserEntityIdentifierComponent.h:17
Definition Vec3.h:10
Definition WeakEntityRef.h:14
Definition flat_map.h:15
Definition ActorUniqueID.h:5
Definition DimensionType.h:5
Definition PlayerLocationSender.h:30
Definition PlayerLocationSender.h:32
Definition PlayerLocationSender.h:34