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 BlockLegacy;
16class BlockPos;
17class BlockSource;
18class Experiments;
21class Vec3;
22namespace BlockEvents { class BlockPlaceEvent; }
23namespace BlockEvents { class BlockQueuedTickEvent; }
24// clang-format on
25
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 // vIndex: 124
31 virtual ::BlockLegacy& init() /*override*/;
32
33 // vIndex: 78
34 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
35
36 // vIndex: 80
37 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
38
39 // vIndex: 138
40 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
41
42 // vIndex: 5
43 virtual ::AABB getCollisionShape(
44 ::Block const&,
46 ::BlockPos const&,
48 ) const /*override*/;
49
50 // vIndex: 9
51 virtual ::AABB const&
52 getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
53 /*override*/;
54
55 // vIndex: 73
56 virtual bool
57 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
58 /*override*/;
59
60 // vIndex: 75
61 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
62 /*override*/;
63
64 // vIndex: 86
65 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
66 /*override*/;
67
68 // vIndex: 91
69 virtual ::Block const&
70 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
71 /*override*/;
72
73 // vIndex: 147
74 virtual void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const /*override*/;
75
76 // vIndex: 30
77 virtual bool isLavaBlocking() const /*override*/;
78
79 // vIndex: 130
80 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
81
82 // vIndex: 0
83 virtual ~SmallDripleafBlock() /*override*/ = default;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI bool _isViablePlacePos(::BlockSource& region, ::BlockPos const& pos) const;
90
91 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
92 // NOLINTEND
93
94public:
95 // static functions
96 // NOLINTBEGIN
97 MCAPI static void placeUpperBlock(::BlockSource& region, ::BlockPos const& pos, int updateFlags);
98
99 MCAPI static bool
100 tryPlaceSmallDripleaf(::BlockSource& region, ::BlockPos const& pos, int directionState, int updateFlags);
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCAPI ::BlockLegacy& $init();
107
108 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
109
110 MCAPI bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
111
112 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
113
114 MCFOLD ::AABB $getCollisionShape(
115 ::Block const&,
116 ::IConstBlockSource const&,
117 ::BlockPos const&,
119 ) const;
120
121 MCFOLD ::AABB const&
122 $getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
123
124 MCAPI bool
125 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
126
127 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
128
129 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
130
131 MCAPI ::Block const& $getPlacementBlock(
132 ::Actor const& by,
133 ::BlockPos const& pos,
134 uchar face,
135 ::Vec3 const& clickPos,
136 int itemValue
137 ) const;
138
139 MCFOLD void $tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
140
141 MCFOLD bool $isLavaBlocking() const;
142
143 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
144 // NOLINTEND
145
146public:
147 // vftables
148 // NOLINTBEGIN
149 MCNAPI static void** $vftable();
150 // NOLINTEND
151};
Definition AABB.h:18
Definition Actor.h:103
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition FoliageBlock.h:23
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition SmallDripleafBlock.h:26
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition optional_ref.h:10