LeviLamina
Loading...
Searching...
No Matches
SmallDripleafBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/world/item/FertilizerType.h"
8#include "mc/world/level/block/FoliageBlock.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class Block;
15class BlockPos;
16class BlockSource;
17class Experiments;
20class Vec3;
21namespace BlockEvents { class BlockPlaceEvent; }
22namespace BlockEvents { class BlockQueuedTickEvent; }
23// clang-format on
24
25class SmallDripleafBlock : public ::FoliageBlock {
26public:
27 // prevent constructor by default
28 SmallDripleafBlock();
29
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
34
35 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
36
37 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
38
39 virtual ::AABB getCollisionShape(
40 ::Block const&,
42 ::BlockPos const&,
44 ) const /*override*/;
45
46 virtual ::AABB const&
47 getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
48 /*override*/;
49
50 virtual bool
51 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
52 /*override*/;
53
54 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
55 /*override*/;
56
57 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
58 /*override*/;
59
60 virtual ::Block const&
61 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
62 /*override*/;
63
64 virtual void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const /*override*/;
65
66 virtual bool isLavaBlocking() const /*override*/;
67
68 virtual ::Block const& getInitialDefaultState() /*override*/;
69
70 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
71 // NOLINTEND
72
73public:
74 // member functions
75 // NOLINTBEGIN
76 MCAPI SmallDripleafBlock(::std::string const& nameId, int id);
77
78 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
79 // NOLINTEND
80
81public:
82 // static functions
83 // NOLINTBEGIN
84 MCAPI static void placeUpperBlock(::BlockSource& region, ::BlockPos const& pos, int updateFlags);
85
86 MCAPI static bool
87 tryPlaceSmallDripleaf(::BlockSource& region, ::BlockPos const& pos, int directionState, int updateFlags);
88 // NOLINTEND
89
90public:
91 // constructor thunks
92 // NOLINTBEGIN
93 MCAPI void* $ctor(::std::string const& nameId, int id);
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
100
101 MCAPI bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
102
103 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
104
105 MCFOLD ::AABB $getCollisionShape(
106 ::Block const&,
107 ::IConstBlockSource const&,
108 ::BlockPos const&,
110 ) const;
111
112 MCFOLD ::AABB const&
113 $getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
114
115 MCAPI bool
116 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
117
118 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
119
120 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
121
122 MCAPI ::Block const& $getPlacementBlock(
123 ::Actor const& by,
124 ::BlockPos const& pos,
125 uchar face,
126 ::Vec3 const& clickPos,
127 int itemValue
128 ) const;
129
130 MCFOLD void $tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
131
132 MCFOLD bool $isLavaBlocking() const;
133
134 MCAPI ::Block const& $getInitialDefaultState();
135
136 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
137
138
139 // NOLINTEND
140
141public:
142 // vftables
143 // NOLINTBEGIN
144 MCAPI static void** $vftable();
145 // NOLINTEND
146};
Definition AABB.h:18
Definition Actor.h:113
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition Experiments.h:14
Definition FoliageBlock.h:21
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition Vec3.h:10
Definition optional_ref.h:10