LeviLamina
Loading...
Searching...
No Matches
BrushableBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/FertilizerType.h"
7#include "mc/world/level/block/FallingBlock.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockActor;
14class BlockPos;
15class BlockSource;
16class BlockType;
17class Experiments;
18class HashedString;
19class ItemInstance;
20namespace BlockEvents { class BlockQueuedTickEvent; }
21namespace mce { class Color; }
22// clang-format on
23
24class BrushableBlock : public ::FallingBlock {
25public:
26 // BrushableBlock inner types define
27 enum class Type : int {
28 Sand = 0,
29 Gravel = 1,
30 };
31
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<4, 4, ::BrushableBlock::Type> mType;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 BrushableBlock();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ::BlockType& init() /*override*/;
46
47 virtual void onLand(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
48
49 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const* blockActor) const /*override*/;
50
51 virtual ::mce::Color getDustColor(::Block const&) const /*override*/;
52
53 virtual ::std::string getDustParticleName(::Block const&) const /*override*/;
54
55 virtual int getVariant(::Block const& block) const /*override*/;
56
57 virtual bool
58 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
59 /*override*/;
60
61 virtual bool mayConsumeFertilizer(::BlockSource& region) const /*override*/;
62
63 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
64 /*override*/;
65
66 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
67
68 virtual ~BrushableBlock() /*override*/ = default;
69 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI BrushableBlock(::std::string const& nameID, int id);
75
76 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
77 // NOLINTEND
78
79public:
80 // static variables
81 // NOLINTBEGIN
82 MCAPI static ::HashedString const& EmptyBrushedBlock();
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCAPI void* $ctor(::std::string const& nameID, int id);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCFOLD ::BlockType& $init();
95
96 MCAPI void $onLand(::BlockSource& region, ::BlockPos const& pos) const;
97
98 MCAPI ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const* blockActor) const;
99
100 MCAPI ::mce::Color $getDustColor(::Block const&) const;
101
102 MCAPI ::std::string $getDustParticleName(::Block const&) const;
103
104 MCAPI int $getVariant(::Block const& block) const;
105
106 MCFOLD bool
107 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
108
109 MCFOLD bool $mayConsumeFertilizer(::BlockSource& region) const;
110
111 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
112
113 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
114
115
116 // NOLINTEND
117
118public:
119 // vftables
120 // NOLINTBEGIN
121 MCAPI static void** $vftable();
122 // NOLINTEND
123};
Definition Actor.h:106
Definition BlockActor.h:30
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition BlockType.h:84
Definition Block.h:43
Definition Experiments.h:14
Definition FallingBlock.h:20
Definition HashedString.h:5
Definition ItemInstance.h:15
Definition Color.h:13