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;
17namespace Core { class Path; }
18namespace cereal { struct ReflectionCtx; }
19// clang-format on
20
21struct BlockDefinition {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 24, ::SemVersion> mFormatVersion;
26 ::ll::TypedStorage<8, 32, ::MinEngineVersion> mMinEngineVersion;
27 ::ll::TypedStorage<8, 24, ::SemVersion> mOriginalJsonVersion;
28 ::ll::TypedStorage<8, 192, ::BlockDescription> mDescription;
29 ::ll::TypedStorage<8, 112, ::BlockComponentGroupDescription> mBaseComponents;
30 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPermutationDescription>> mPermutationDescriptions;
31 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::DefinitionEvent>> mEventHandlers;
32 // NOLINTEND
33
34public:
35 // member functions
36 // NOLINTBEGIN
37 MCAPI BlockDefinition();
38
39 MCAPI BlockDefinition(::BlockDefinition&&);
40
41 MCAPI BlockDefinition(::BlockDefinition const&);
42
43 MCAPI ::BlockDefinition& operator=(::BlockDefinition&&);
44
45 MCAPI ::BlockDefinition& operator=(::BlockDefinition const&);
46
47 MCAPI ~BlockDefinition();
48 // NOLINTEND
49
50public:
51 // static functions
52 // NOLINTBEGIN
53 MCAPI static ::CerealDocumentUpgrader& initCerealDocumentUpgrader(::cereal::ReflectionCtx& ctx);
54
55 MCAPI static void registerBlockDefinitionTypes(::cereal::ReflectionCtx& ctx);
56
57 MCAPI static ::std::pair<bool, ::SemVersion> upgradeJson(
59 ::std::string& json,
60 ::Core::Path const& resourceName,
61 bool betaApis,
62 ::std::optional<::SemVersion> minVersion
63 );
64 // NOLINTEND
65
66public:
67 // static variables
68 // NOLINTBEGIN
69 MCAPI static ::SemVersionConstant const& VERSION();
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCAPI void* $ctor();
76
77 MCAPI void* $ctor(::BlockDefinition&&);
78
79 MCAPI void* $ctor(::BlockDefinition const&);
80 // NOLINTEND
81
82public:
83 // destructor thunk
84 // NOLINTBEGIN
85 MCAPI void $dtor();
86 // NOLINTEND
87};
Definition CerealDocumentUpgrader.h:13
Definition Path.h:17
Definition DefinitionEvent.h:18
Definition SemVersionConstant.h:8
Definition BlockPermutationDescription.h:9
Definition ReflectionCtx.h:11
Definition ctx.h:5