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, 176, ::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 MCAPI BlockDefinition(::BlockDefinition&&);
39
40 MCAPI BlockDefinition(::BlockDefinition const&);
41
42 MCAPI ::BlockDefinition& operator=(::BlockDefinition&&);
43
44 MCAPI ::BlockDefinition& operator=(::BlockDefinition const&);
45
46 MCAPI ~BlockDefinition();
47 // NOLINTEND
48
49public:
50 // static functions
51 // NOLINTBEGIN
52 MCAPI static ::CerealDocumentUpgrader& initCerealDocumentUpgrader(::cereal::ReflectionCtx& ctx);
53
54 MCAPI static void registerBlockDefinitionTypes(::cereal::ReflectionCtx& ctx);
55
56 MCAPI static ::std::pair<bool, ::SemVersion> upgradeJson(
58 ::std::string& json,
59 ::Core::Path const& resourceName,
60 ::std::optional<::SemVersion> minVersion
61 );
62 // NOLINTEND
63
64public:
65 // constructor thunks
66 // NOLINTBEGIN
67 MCAPI void* $ctor();
68
69 MCAPI void* $ctor(::BlockDefinition&&);
70
71 MCAPI void* $ctor(::BlockDefinition const&);
72 // NOLINTEND
73
74public:
75 // destructor thunk
76 // NOLINTBEGIN
77 MCAPI void $dtor();
78 // NOLINTEND
79};
Definition CerealDocumentUpgrader.h:13
Definition Path.h:10
Definition DefinitionEvent.h:17
Definition BlockPermutationDescription.h:9
Definition ReflectionCtx.h:11
Definition ctx.h:5