LeviLamina
Loading...
Searching...
No Matches
BlockDefinition.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/sem_ver/SemVersion.h"
7#include "mc/resources/MinEngineVersion.h"
8#include "mc/world/level/block/definition/BlockComponentGroupDescription.h"
9#include "mc/world/level/block/definition/BlockDescription.h"
10
11// auto generated forward declare list
12// clang-format off
14class DefinitionEvent;
16namespace Core { class Path; }
17namespace cereal { struct ReflectionCtx; }
18// clang-format on
19
20struct BlockDefinition {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 24, ::SemVersion> mFormatVersion;
25 ::ll::TypedStorage<8, 32, ::MinEngineVersion> mMinEngineVersion;
26 ::ll::TypedStorage<8, 24, ::SemVersion> mOriginalJsonVersion;
27 ::ll::TypedStorage<8, 240, ::BlockDescription> mDescription;
28 ::ll::TypedStorage<8, 112, ::BlockComponentGroupDescription> mBaseComponents;
29 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPermutationDescription>> mPermutationDescriptions;
30 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::DefinitionEvent>> mEventHandlers;
31 // NOLINTEND
32
33public:
34 // member functions
35 // NOLINTBEGIN
36 MCAPI BlockDefinition();
37
38#ifdef LL_PLAT_C
39 MCAPI BlockDefinition(::BlockDefinition&&);
40#endif
41
42 MCAPI BlockDefinition(::BlockDefinition const&);
43
44 MCAPI ::BlockDefinition& operator=(::BlockDefinition&&);
45
46 MCAPI ::BlockDefinition& operator=(::BlockDefinition const&);
47
48 MCAPI ~BlockDefinition();
49 // NOLINTEND
50
51public:
52 // static functions
53 // NOLINTBEGIN
54 MCAPI static ::CerealDocumentUpgrader& initCerealDocumentUpgrader(::cereal::ReflectionCtx& ctx);
55
56 MCAPI static void registerBlockDefinitionTypes(::cereal::ReflectionCtx& ctx);
57
58#ifdef LL_PLAT_S
59 MCAPI static ::std::pair<bool, ::SemVersion> upgradeJson(
61 ::std::string& json,
62 ::Core::Path const& resourceName,
63 bool betaApis,
64 ::std::optional<::SemVersion> minVersion
65 );
66#endif
67 // NOLINTEND
68
69public:
70 // constructor thunks
71 // NOLINTBEGIN
72 MCAPI void* $ctor();
73
74#ifdef LL_PLAT_C
75 MCAPI void* $ctor(::BlockDefinition&&);
76#endif
77
78 MCAPI void* $ctor(::BlockDefinition const&);
79 // NOLINTEND
80
81public:
82 // destructor thunk
83 // NOLINTBEGIN
84 MCAPI void $dtor();
85 // NOLINTEND
86};
Definition CerealDocumentUpgrader.h:13
Definition Path.h:11
Definition DefinitionEvent.h:18
Definition BlockPermutationDescription.h:9
Definition ReflectionCtx.h:11
Definition ctx.h:5