LeviLamina
Loading...
Searching...
No Matches
ITrait.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class BlockType;
8class CompoundTag;
9namespace cereal { struct ReflectionCtx; }
10// clang-format on
11
12namespace BlockTrait {
13
14class ITrait {
15public:
16 // virtual functions
17 // NOLINTBEGIN
18 virtual ~ITrait();
19
20 virtual void applyToBlockType(::BlockType& blockType) const = 0;
21
22 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx) = 0;
23
24 virtual ::std::unique_ptr<::CompoundTag> _buildNetworkTag(::cereal::ReflectionCtx const& ctx) const = 0;
25
26 virtual ::std::string const& _getName() const = 0;
27 // NOLINTEND
28
29public:
30 // member functions
31 // NOLINTBEGIN
32 MCAPI ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
33 // NOLINTEND
34
35public:
36 // destructor thunk
37 // NOLINTBEGIN
38 MCFOLD void $dtor();
39 // NOLINTEND
40
41public:
42 // virtual function thunks
43 // NOLINTBEGIN
44
45 // NOLINTEND
46};
47
48} // namespace BlockTrait
Definition ITrait.h:14
Definition BlockType.h:84
Definition CompoundTag.h:23
Definition ReflectionCtx.h:11
Definition ctx.h:5