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