Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
_HeaderOutputPredefine.h
1#pragma once
2
3// clang-format off
4
5#ifdef _MSC_VER
6#pragma warning(disable : 4099) // for MOJANG : type name first seen using 'class' now seen using 'struct'
7#pragma warning(disable : 4201) // for MOJANG : nonstandard extension used : nameless struct/union
8#pragma warning(disable : 4373) // for MOJANG : override virtual function with different const/volatile params
9#endif
10
11#include "ll/api/base/Macro.h"
12
13#define MCAPI LL_SHARED_IMPORT
14#define MCTAPI template<> MCAPI
15#define MCFOLD MCAPI /*Identical COMDAT Folding*/
16#define MCNAPI [[deprecated("This API is not available. Open an issue if you need it. "\
17 "https://github.com/LiteLDev/mcapi-requests/issues/new")]] MCAPI
18
19#include <algorithm> // STL general algorithms
20#include <array> // STL array container
21#include <bitset> // STL bitset container
22#include <cctype> // Character handling functions
23#include <cerrno> // C Error codes
24#include <chrono> // C++11 Time library
25#include <clocale> // C localization library
26#include <cmath> // Common mathematics functions
27#include <complex> // Complex number type
28#include <condition_variable> // condition variable
29#include <cstddef> // Standard size and pointer difference types
30#include <cstdio> // C Standard Input/Output library
31#include <cstdlib> // C Standard General Utilities Library
32#include <cstring> // C string handling
33#include <ctime> // C Time library
34#include <cwchar> // Wide character type
35#include <cwctype> // Wide character classification
36#include <deque> // STL double ended queue container
37#include <exception> // Exception handling classes
38#include <filesystem> // STL file system
39#include <forward_list> // STL forward list container
40#include <fstream> // File stream classes
41#include <functional> // STL Function objects
42#include <iomanip> // Input/Output manipulators
43#include <ios> // Base input/output stream classes
44#include <iosfwd> // Input/Output forward declarations
45#include <iostream> // Standard Input/Output stream objects
46#include <istream> // Basic input stream classes
47#include <limits> // Numeric limits
48#include <list> // STL linear list container
49#include <map> // STL map container
50#include <memory> // STL unique_ptr, shared_ptr, weak_ptr
51#include <mutex> // STL mutual exclusion primitives
52#include <numbers> // numbers standard header
53#include <optional> // STL optional type
54#include <ostream> // Basic output stream classes
55#include <queue> // STL queue and priority_queue container
56#include <random> // C++11 Random numbers
57#include <set> // STL set and multiset container
58#include <shared_mutex> // STL shared mutual exclusion primitives
59#include <sstream> // String stream classes
60#include <stack> // STL stack container
61#include <stdexcept> // Standard exception objects
62#include <streambuf> // Stream buffer classes
63#include <string> // String class
64#include <string_view> // STL string_view type
65#include <unordered_map> // STL unordered map container
66#include <unordered_set> // STL unordered set container
67#include <utility> // STL utility components
68#include <variant> // STL variant type
69#include <vector> // STL dynamic array container
70#include <future> // STL future
71#include <regex> // Regular expression library
72#include <any> // STL any type
73
74// STL expected for C++23
75#if LL_HAS_CXX23
76#include <expected>
77#endif
78
79#include "entt/entt.hpp" // Entity Component System Library
80#include "entt/fwd.hpp" // Entity Component Forward Declarations
81#include "glm/glm.hpp" // OpenGL Mathematics Library
82#include "glm/ext.hpp" // OpenGL Mathematics Library
83#include "gsl/gsl" // Guideline Support Library
84
85// LevelDB C++ Library
86#include "leveldb/c.h"
87#include "leveldb/cache.h"
88#include "leveldb/comparator.h"
89#include "leveldb/db.h"
90#include "leveldb/dumpfile.h"
91#include "leveldb/env.h"
92#include "leveldb/filter_policy.h"
93#include "leveldb/iterator.h"
94#include "leveldb/options.h"
95#include "leveldb/slice.h"
96#include "leveldb/status.h"
97#include "leveldb/table.h"
98#include "leveldb/table_builder.h"
99#include "leveldb/write_batch.h"
100
101// RapidJSON C++ Library
102#include "rapidjson/document.h"
103#include "rapidjson/encodings.h"
104#include "rapidjson/error/en.h"
105#include "rapidjson/filereadstream.h"
106#include "rapidjson/filewritestream.h"
107#include "rapidjson/pointer.h"
108#include "rapidjson/prettywriter.h"
109#include "rapidjson/rapidjson.h"
110#include "rapidjson/reader.h"
111#include "rapidjson/schema.h"
112#include "rapidjson/stringbuffer.h"
113#include "rapidjson/writer.h"
114
115// type_safe C++ Library
116#include "type_safe/strong_typedef.hpp"
117
118// expected_lite C++ Library
119#ifdef _MSC_VER
120#pragma warning(push)
121#pragma warning(disable : 4702)
122#endif
123#define nsel_CONFIG_SELECT_EXPECTED 1
124#include "nonstd/expected.hpp"
125#ifdef _MSC_VER
126#pragma warning(pop)
127#endif
128
129#include "ll/api/base/Alias.h"
130#include "ll/api/base/StdInt.h"
131
132// fmt C++ Library
133#include "fmt/format.h"
134#include "fmt/std.h"
135
136// moodycamel::ConcurrentQueue C++ Library
137#include "concurrentqueue.h"
138
139// stb C++ Library
140#include "stb_truetype.h"
141
142struct HWND__;
143struct HKEY__;
144struct HICON__;
145struct tagRECT;
146struct _TP_CALLBACK_INSTANCE;
147struct _TP_WAIT;
148struct _TP_WORK;
149struct _TP_TIMER;
150typedef long HRESULT;
151enum _WINHTTP_WEB_SOCKET_BUFFER_TYPE;
152struct in6_addr;
153struct in_addr;
154struct sockaddr;
155struct addrinfo;
156struct _IP_ADAPTER_PREFIX_XP;
157struct sockaddr_storage;
158struct sockaddr_in;
159struct sockaddr_in6;
160struct evp_md_ctx_st;
161struct asn1_string_st;
162struct bio_st;
163struct XUser;
164struct tagPOINT;
165struct _INITIALIZE_OPTIONS;
166struct HC_CALL;
167struct tagWNDCLASSEXW;
168struct HINSTANCE__;
169namespace ll {
170 template <size_t A, size_t S>
171 struct TypedStorageType<A, S, ::tagPOINT> {
172 using Type = UntypedStorage<A, S>;
173 };
174 template <size_t A, size_t S>
175 struct TypedStorageType<A, S, ::std::unique_ptr<::evp_md_ctx_st>> {
176 using Type = UntypedStorage<A, S>;
177 };
178 class type_id_ref;
179}
180
181// cgltf exposes pointers to this internal tokenizer type.
182struct jsmntok_t;
183
184namespace Bedrock {
185 template <typename Category, typename Type>
186 ::ll::type_id_ref typeid_storage_impl();
187}
188
189// DirectX definitions
190typedef enum D3D_FEATURE_LEVEL;
191typedef enum DXGI_SWAP_EFFECT;
192typedef enum DXGI_FORMAT;
193typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS;
194typedef enum D3D_SHADER_MODEL;
195typedef enum D3D_DRIVER_TYPE;
196typedef enum D3D12_RESOURCE_STATES;
197typedef enum D3D12_RESOURCE_FLAGS;
198struct IDXGISwapChain3;
199struct ID3D11Texture2D;
200struct ID3D11Device;
201struct ID3D11DeviceContext;
202struct ID3DUserDefinedAnnotation;
203struct ID3D11InfoQueue;
204struct ID3D11RenderTargetView;
205struct ID3D11DepthStencilView;
206struct ID3D11BlendState;
207struct ID3D11DepthStencilState;
208struct ID3D11InputLayout;
209struct ID3D11RasterizerState;
210struct ID3D11SamplerState;
211struct IUnknown;
212struct ID3D11ShaderResourceView;
213struct ID3D11UnorderedAccessView;
214struct ID3D12DescriptorHeap;
215struct ID3D12Resource;
216struct ID3D12Device;
217struct ID3D12Device5;
218struct ID3D12CommandSignature;
219struct D3D12_CPU_DESCRIPTOR_HANDLE;
220// Because these are used in TypedStorage, we need to define them here to avoid compilation errors.
221#ifndef D3D12_RAYTRACING_GEOMETRY_DESC
223#endif
224#ifndef D3D12_FEATURE_DATA_ARCHITECTURE
226#endif
227#ifndef D3D12_FEATURE_DATA_D3D12_OPTIONS
229#endif
230
231// Nvidia SDK definitions
232typedef enum NVSDK_NGX_Logging_Level;
233typedef enum NVSDK_NGX_Feature;
234
235// OpenSSL definitions
236struct ssl_ctx_st;
237struct ssl_st;
238struct ssl_session_st;
239struct x509_store_ctx_st;
240struct x509_st;
241struct evp_md_st;
242struct ssl_session_st;
243
244namespace CompoundTagUpdaterAnon {
245struct SingleUpdate;
246struct UpdateGroup;
247}
248
249namespace AgentCommands {
250enum class SubCommand : int;
251}
252
253// Ungenerated cereal definitions
254namespace cereal {
255namespace internal {
256template<typename It, typename Type>
258}
259}
260
261#ifndef cerealizer
262// Compile-only placeholder for generated headers; does not describe the game's ABI.
263template <typename T>
266};
267#endif
268
269namespace GameInput::v2 {
270 class IGameInput;
271}
272namespace Bedrock {
273 template<typename T>
274 struct ComAdapter {
275 std::unique_ptr<T>* mParent;
276 T* mPtr;
277
278 struct Deleter {
279 void operator()(T* ptr);
280 };
281 };
282}
283struct APP_LOCAL_DEVICE_ID;
284namespace winrt
285{
286 struct event_token;
287 namespace Windows
288 {
289 namespace UI::Text::Core
290 {
291 struct CoreTextEditContext;
292 }
293
294 namespace ApplicationModel::DataTransfer
295 {
296 struct DataTransferManager;
297 }
298 }
299}
300namespace ll {
301 template <size_t A, size_t S>
302 struct TypedStorageType<A, S, ::winrt::event_token> {
303 using Type = UntypedStorage<A, S>;
304 };
305 template <size_t A, size_t S>
306 struct TypedStorageType<A, S, ::winrt::Windows::UI::Text::Core::CoreTextEditContext> {
307 using Type = UntypedStorage<A, S>;
308 };
309 template <size_t A, size_t S>
310 struct TypedStorageType<A, S, ::winrt::Windows::ApplicationModel::DataTransfer::DataTransferManager> {
311 using Type = UntypedStorage<A, S>;
312 };
313}
314namespace DirectX {
315 struct XMMATRIX;
316}
317
318#include "mc/deps/core/utility/optional_ref.h" // replace optional<reference_wrapper<>>
319#include "mc/platform/brstd/function_ref.h" // function reference
320#include "mc/math/vector/Vecs.h" // for vector types
321
322struct RecipeNetIdTag;
325struct ItemStackNetIdTag;
328
329template <typename T0, typename T1 = uint, int T2 = 0>
330class TypedClientNetId;
331template <typename T0, typename T1 = uint, int T2 = 0>
332class TypedServerNetId;
333template <typename T0, typename T1 = uint, int T2 = 0>
334class TypedRuntimeId;
335
336using RecipeNetId = TypedServerNetId<RecipeNetIdTag>;
337using CreativeItemNetId = TypedServerNetId<CreativeItemNetIdTag>;
338using ContainerRuntimeId = TypedRuntimeId<ContainerRuntimeIdTag>;
339using ItemStackNetId = TypedServerNetId<ItemStackNetIdTag, int>;
340using ItemStackRequestId = TypedClientNetId<ItemStackRequestIdTag, int>;
341using ItemStackLegacyRequestId = TypedClientNetId<ItemStackLegacyRequestIdTag, int>;
342
343class BlockType;
344template <typename T0>
345class ActorBlockBase;
346using ActorBlock = ActorBlockBase<BlockType>;
347
348template<int>
350
351template<typename T>
353public:
354 T* mBegin;
355 T* mEnd;
356 class iterator {
357 public:
358 T* mPtr;
359 };
360};
361
362namespace Bedrock {
363template <typename T, typename Err = std::error_code>
364class Result;
365template <typename T>
366class NonOwnerPointer;
367template <typename T>
368using NotNullNonOwnerPtr = gsl::not_null<NonOwnerPointer<T>>;
369
370template <typename T, typename... Args>
371class ImplBase {
372public:
373 virtual ~ImplBase() = default;
374};
375
376template <typename T, typename U, typename A, typename M>
378namespace Detail {
379template <typename T, typename U = void>
381}
382
383namespace Threading {
384template <typename T, typename Alloc = std::allocator<T>>
386}
387}
388
389namespace Core {
390template <typename... Params>
392public:
393 class Listener {};
394};
395template <typename TKey, typename TValue, typename TValuePtr, typename... TNewInstanceArgs>
396class LRUCache {
397public:
398 void* mUnk[14];
399};
400}
401
402namespace Puv {
403template <typename From, typename To, typename CustomData>
405
406template <typename T0, typename T1, typename T2, typename T3, typename T4>
408}
409
410namespace Social {
411enum class SignInResult;
412}
413
414namespace NetherNet::Utils {
415template <typename T>
417public:
418 class View {};
419};
420}
421
422namespace rtc {
423template<class T, ::std::ptrdiff_t N = -4711>
425}
426
427namespace webrtc {
428template<class T, ::std::ptrdiff_t N = -4711>
429class ArrayView;
430}
431
432template <typename T0>
434using http_string = std::basic_string<char, std::char_traits<char>, class http_stl_allocator<char>>;
435using http_wstring = std::basic_string<wchar_t, std::char_traits<wchar_t>, class http_stl_allocator<wchar_t>>;
436
437namespace asio::ssl {
438class verify_context;
439}
440
441namespace leveldb {
442class Compressor;
443class DecompressAllocator;
444}
445
446// clang-format on
Definition ActorBlockBase.h:6
Definition _HeaderOutputPredefine.h:377
Definition _HeaderOutputPredefine.h:371
Definition _HeaderOutputPredefine.h:385
Definition BlockType.h:79
Definition _HeaderOutputPredefine.h:393
Definition _HeaderOutputPredefine.h:391
Definition _HeaderOutputPredefine.h:396
Definition _HeaderOutputPredefine.h:418
Definition _HeaderOutputPredefine.h:416
Definition _HeaderOutputPredefine.h:349
Definition _HeaderOutputPredefine.h:404
Definition _HeaderOutputPredefine.h:407
Definition TypedClientNetId.h:6
Definition TypedRuntimeId.h:6
Definition TypedServerNetId.h:6
Definition _HeaderOutputPredefine.h:356
Definition _HeaderOutputPredefine.h:352
Definition ComponentStorageIterator.h:18
Definition http_stl_allocator.h:6
Definition typeid_t.h:17
Definition _HeaderOutputPredefine.h:424
Definition _HeaderOutputPredefine.h:278
Definition _HeaderOutputPredefine.h:274
Definition _HeaderOutputPredefine.h:380
Definition ContainerRuntimeIdTag.h:5
Definition CreativeItemNetIdTag.h:5
Definition _HeaderOutputPredefine.h:225
Definition _HeaderOutputPredefine.h:228
Definition _HeaderOutputPredefine.h:222
Definition HC_CALL.h:14
Definition ItemStackLegacyRequestIdTag.h:5
Definition ItemStackNetIdTag.h:5
Definition ItemStackRequestIdTag.h:5
Definition RecipeNetIdTag.h:5
Definition _HeaderOutputPredefine.h:265
Definition _HeaderOutputPredefine.h:264
Definition Alias.h:97
Definition Alias.h:14