LeviLamina
Loading...
Searching...
No Matches
CropBlock.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 BlockActor;
16class BlockPos;
17class BlockSource;
18class Experiments;
21class ItemInstance;
22namespace BlockEvents { class BlockRandomTickEvent; }
23// clang-format on
24
25class CropBlock : public ::FoliageBlock {
26public:
27 // prevent constructor by default
28 CropBlock();
29
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
34
35 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
36 /*override*/;
37
38 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
39
40 virtual int getVariant(::Block const& block) const /*override*/;
41
42 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
43
44 virtual ::AABB getCollisionShape(
45 ::Block const&,
47 ::BlockPos const&,
49 ) const /*override*/;
50
51 virtual ::AABB const&
52 getOutline(::Block const& block, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
53 /*override*/;
54
55 virtual void executeEvent(
56 ::BlockSource& region,
57 ::BlockPos const& pos,
58 ::Block const& block,
59 ::std::string const& eventName,
60 ::Actor& sourceEntity
61 ) const /*override*/;
62
63 virtual bool
64 hasTag(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::std::string const& tagName) const
65 /*override*/;
66
67 virtual ::ItemInstance const getBaseSeed() const;
68
69 virtual bool
70 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
71 /*override*/;
72
73 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
74 /*override*/;
75
76 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
77
78 virtual ~CropBlock() /*override*/ = default;
79 // NOLINTEND
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCAPI CropBlock(::std::string const& nameId, int id);
85
86 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
87 // NOLINTEND
88
89public:
90 // constructor thunks
91 // NOLINTBEGIN
92 MCAPI void* $ctor(::std::string const& nameId, int id);
93 // NOLINTEND
94
95public:
96 // virtual function thunks
97 // NOLINTBEGIN
98 MCFOLD bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
99
100 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
101
102 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
103
104 MCAPI int $getVariant(::Block const& block) const;
105
106 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
107
108 MCFOLD ::AABB $getCollisionShape(
109 ::Block const&,
110 ::IConstBlockSource const&,
111 ::BlockPos const&,
113 ) const;
114
115 MCAPI ::AABB const&
116 $getOutline(::Block const& block, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
117
118 MCAPI void $executeEvent(
119 ::BlockSource& region,
120 ::BlockPos const& pos,
121 ::Block const& block,
122 ::std::string const& eventName,
123 ::Actor& sourceEntity
124 ) const;
125
126 MCAPI bool
127 $hasTag(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::std::string const& tagName) const;
128
129 MCAPI ::ItemInstance const $getBaseSeed() const;
130
131 MCAPI bool
132 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
133
134 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
135
136 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
137
138
139 // NOLINTEND
140
141public:
142 // vftables
143 // NOLINTBEGIN
144 MCNAPI static void** $vftable();
145 // NOLINTEND
146};
Definition AABB.h:18
Definition Actor.h:105
Definition BlockActor.h:32
Definition BlockRandomTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
static MCAPI void ** $vftable()
Definition Experiments.h:14
Definition FoliageBlock.h:23
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition optional_ref.h:10