LeviLamina
Loading...
Searching...
No Matches
ClientboundMapItemDataPacketPayload.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/buffer_span.h"
7#include "mc/legacy/ActorUniqueID.h"
8#include "mc/world/level/BlockPos.h"
9#include "mc/world/level/saveddata/maps/MapItemTrackedActor.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockSource;
14class Level;
15class MapDecoration;
17struct DimensionType;
18// clang-format on
19
20struct ClientboundMapItemDataPacketPayload {
21public:
22 // ClientboundMapItemDataPacketPayload inner types define
23 enum class Type : int {
24 Invalid = 0,
25 TextureUpdate = 2,
26 DecorationUpdate = 4,
27 Creation = 8,
28 };
29
30public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mMapId;
34 ::ll::TypedStorage<4, 4, ::ClientboundMapItemDataPacketPayload::Type> mType;
35 ::ll::TypedStorage<1, 1, uchar> mDimension;
36 ::ll::TypedStorage<1, 1, bool> mLocked;
37 ::ll::TypedStorage<4, 12, ::BlockPos> mMapOrigin;
38 ::ll::TypedStorage<8, 24, ::std::vector<::ActorUniqueID>> mCreationMapIds;
39 ::ll::TypedStorage<1, 1, schar> mScale;
40 ::ll::TypedStorage<8, 24, ::std::vector<::MapItemTrackedActor::UniqueId>> mUniqueIds;
41 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::MapDecoration>>> mDecorations;
42 ::ll::TypedStorage<4, 4, int> mWidth;
43 ::ll::TypedStorage<4, 4, int> mHeight;
44 ::ll::TypedStorage<4, 4, int> mStartX;
45 ::ll::TypedStorage<4, 4, int> mStartY;
46 ::ll::TypedStorage<8, 24, ::std::vector<uint>> mMapPixels;
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 ClientboundMapItemDataPacketPayload();
52
53public:
54 // member functions
55 // NOLINTBEGIN
56 MCAPI ClientboundMapItemDataPacketPayload(::gsl::not_null<::MapItemSavedData*> newMapItem, ::Level& level);
57
58 MCAPI ClientboundMapItemDataPacketPayload(
59 ::ActorUniqueID mapId,
60 schar scale,
61 ::std::vector<::std::pair<::MapItemTrackedActor::UniqueId, ::std::shared_ptr<::MapDecoration>>> const&
62 decorations,
63 ::buffer_span<uint> mapColors,
64 int startX,
65 int startY,
66 int width,
67 int height,
68 ::DimensionType dimension,
69 bool isLocked,
70 ::BlockPos const& mapOrigin
71 );
72
73#ifdef LL_PLAT_C
74 MCAPI void applyToMap(::MapItemSavedData& map, bool resampleMap) const;
75
76 MCAPI ::std::vector<::ActorUniqueID> getMapIds() const;
77
78 MCAPI void resampleClientMap(
80 ::BlockSource& region,
81 ::BlockPos const& updatePosition,
82 int scale
83 ) const;
84#endif
85
86 MCAPI ~ClientboundMapItemDataPacketPayload();
87 // NOLINTEND
88
89public:
90 // constructor thunks
91 // NOLINTBEGIN
92 MCAPI void* $ctor(::gsl::not_null<::MapItemSavedData*> newMapItem, ::Level& level);
93
94 MCAPI void* $ctor(
95 ::ActorUniqueID mapId,
96 schar scale,
97 ::std::vector<::std::pair<::MapItemTrackedActor::UniqueId, ::std::shared_ptr<::MapDecoration>>> const&
98 decorations,
99 ::buffer_span<uint> mapColors,
100 int startX,
101 int startY,
102 int width,
103 int height,
104 ::DimensionType dimension,
105 bool isLocked,
106 ::BlockPos const& mapOrigin
107 );
108 // NOLINTEND
109
110public:
111 // destructor thunk
112 // NOLINTBEGIN
113 MCAPI void $dtor();
114 // NOLINTEND
115};
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Level.h:254
Definition MapDecoration.h:8
Definition MapItemSavedData.h:32
Definition buffer_span.h:6
Definition ActorUniqueID.h:5
Definition DimensionType.h:5
Definition MapItemTrackedActor.h:32