LeviLamina
Loading...
Searching...
No Matches
SubChunkPacket.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/rendergraph/Packet.h"
7#include "mc/deps/core/utility/AutomaticID.h"
8#include "mc/network/MinecraftPacketIds.h"
9#include "mc/platform/Result.h"
10#include "mc/world/level/SubChunkPos.h"
11
12// auto generated forward declare list
13// clang-format off
14class BinaryStream;
15class Dimension;
17// clang-format on
18
19class SubChunkPacket : public ::Packet {
20public:
21 // SubChunkPacket inner types declare
22 // clang-format off
23 struct HeightmapData;
24 struct SubChunkPacketData;
25 struct SubChunkPosOffset;
26 // clang-format on
27
28 // SubChunkPacket inner types define
29 enum class HeightMapDataType : uchar {
30 NoData = 0,
31 HasData = 1,
32 AllTooHigh = 2,
33 AllTooLow = 3,
34 AllCopied = 4,
35 };
36
37 enum class SubChunkRequestResult : uchar {
38 Undefined = 0,
39 Success = 1,
40 LevelChunkDoesntExist = 2,
41 WrongDimension = 3,
42 PlayerDoesntExist = 4,
43 IndexOutOfBounds = 5,
44 SuccessAllAir = 6,
45 };
46
48 public:
49 // member variables
50 // NOLINTBEGIN
51 ::ll::TypedStorage<1, 1, ::SubChunkPacket::HeightMapDataType> mHeightMapType;
52 ::ll::TypedStorage<1, 256, ::std::array<::std::array<schar, 16>, 16>> mSubchunkHeightMap;
53 ::ll::TypedStorage<1, 1, ::SubChunkPacket::HeightMapDataType> mRenderHeightMapType;
54 ::ll::TypedStorage<1, 256, ::std::array<::std::array<schar, 16>, 16>> mSubchunkRenderHeightMap;
55 // NOLINTEND
56
57 public:
58 // static variables
59 // NOLINTBEGIN
60 MCAPI static schar const& HEIGHT_COLUMN_ABOVE_SUBCHUNK();
61
62 MCAPI static schar const& HEIGHT_COLUMN_BELOW_SUBCHUNK();
63 // NOLINTEND
64 };
65
67 public:
68 // member variables
69 // NOLINTBEGIN
70 ::ll::TypedStorage<1, 1, char> mX;
71 ::ll::TypedStorage<1, 1, char> mY;
72 ::ll::TypedStorage<1, 1, char> mZ;
73 // NOLINTEND
74 };
75
77 public:
78 // member variables
79 // NOLINTBEGIN
80 ::ll::TypedStorage<1, 3, ::SubChunkPacket::SubChunkPosOffset const> mSubChunkPosOffset;
81 ::ll::TypedStorage<8, 32, ::std::string> mSerializedSubChunk;
82 ::ll::TypedStorage<1, 1, ::SubChunkPacket::SubChunkRequestResult> mResult;
83 ::ll::TypedStorage<1, 514, ::SubChunkPacket::HeightmapData> mHeightMapData;
84 ::ll::TypedStorage<8, 8, uint64> mBlobId;
85 // NOLINTEND
86
87 public:
88 // prevent constructor by default
90
91 public:
92 // member functions
93 // NOLINTBEGIN
96 ::SubChunkPacket::SubChunkRequestResult requestResult
97 );
98
99 MCAPI ~SubChunkPacketData();
100 // NOLINTEND
101
102 public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void*
106 $ctor(::SubChunkPacket::SubChunkPosOffset const& pos, ::SubChunkPacket::SubChunkRequestResult requestResult);
107 // NOLINTEND
108
109 public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCFOLD void $dtor();
113 // NOLINTEND
114 };
115
116public:
117 // member variables
118 // NOLINTBEGIN
119 ::ll::TypedStorage<1, 1, bool> mCacheEnabled;
120 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionType;
121 ::ll::TypedStorage<8, 24, ::std::vector<::SubChunkPacket::SubChunkPacketData>> mSubChunkData;
122 ::ll::TypedStorage<4, 12, ::SubChunkPos> mCenterPos;
123 // NOLINTEND
124
125public:
126 // prevent constructor by default
127 SubChunkPacket& operator=(SubChunkPacket const&);
129
130public:
131 // virtual functions
132 // NOLINTBEGIN
133 // vIndex: 0
134 virtual ~SubChunkPacket() /*override*/;
135
136 // vIndex: 1
137 virtual ::MinecraftPacketIds getId() const /*override*/;
138
139 // vIndex: 2
140 virtual ::std::string getName() const /*override*/;
141
142 // vIndex: 4
143 virtual void write(::BinaryStream& stream) const /*override*/;
144
145 // vIndex: 8
146 virtual ::Bedrock::Result<void> _read(::ReadOnlyBinaryStream& stream) /*override*/;
147 // NOLINTEND
148
149public:
150 // member functions
151 // NOLINTBEGIN
152 MCAPI SubChunkPacket(::SubChunkPacket const&);
153 // NOLINTEND
154
155public:
156 // constructor thunks
157 // NOLINTBEGIN
158 MCAPI void* $ctor(::SubChunkPacket const&);
159 // NOLINTEND
160
161public:
162 // destructor thunk
163 // NOLINTBEGIN
164 MCAPI void $dtor();
165 // NOLINTEND
166
167public:
168 // virtual function thunks
169 // NOLINTBEGIN
170 MCAPI ::MinecraftPacketIds $getId() const;
171
172 MCAPI ::std::string $getName() const;
173
174 MCAPI void $write(::BinaryStream& stream) const;
175
176 MCAPI ::Bedrock::Result<void> $_read(::ReadOnlyBinaryStream& stream);
177 // NOLINTEND
178
179public:
180 // vftables
181 // NOLINTBEGIN
182 MCNAPI static void** $vftable();
183 // NOLINTEND
184};
Definition BinaryStream.h:10
Definition Dimension.h:83
Definition Packet.h:26
Definition ReadOnlyBinaryStream.h:8
Definition SubChunkPacket.h:19
static MCAPI void ** $vftable()
STL namespace.
Definition SubChunkPacket.h:47
Definition SubChunkPacket.h:76
Definition SubChunkPacket.h:66