LeviLamina
Loading...
Searching...
No Matches
PositionSource.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/shared_types/legacy/actor/ActorLocation.h"
8#include "mc/legacy/ActorUniqueID.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockSource;
13class CompoundTag;
14class IBlockSource;
15// clang-format on
16
17namespace GameEvents {
18
20public:
21 // PositionSource inner types define
22 using ActorWithAttachPos = ::std::pair<::ActorUniqueID, ::SharedTypes::Legacy::ActorLocation>;
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::
28 TypedStorage<8, 24, ::std::variant<::std::pair<::ActorUniqueID, ::SharedTypes::Legacy::ActorLocation>, ::Vec3>>
29 mVariant;
30 // NOLINTEND
31
32public:
33 // member functions
34 // NOLINTBEGIN
35 MCAPI_C ::std::optional<::Vec3> getPosition(::IBlockSource const& region) const;
36
37 MCAPI void serializeTo(::CompoundTag& tag) const;
38 // NOLINTEND
39
40public:
41 // static functions
42 // NOLINTBEGIN
43 MCAPI_C static ::std::optional<::GameEvents::PositionSource> deserializeFrom(::CompoundTag const& tag);
44
45 MCAPI_C static ::std::optional<::Vec3>
46 extractPosition(::CompoundTag const& data, char const* tagName, ::BlockSource const& region);
47 // NOLINTEND
48};
49
50} // namespace GameEvents
Definition BlockSource.h:68
Definition CompoundTag.h:23
Definition PositionSource.h:19
Definition IBlockSource.h:37
Definition Vec3.h:10