LeviLamina
Loading...
Searching...
No Matches
StemBlock.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/FoliageBlock.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
13class Block;
14class BlockActor;
15class BlockPos;
16class BlockSource;
17class BlockType;
18class ItemInstance;
19namespace BlockEvents { class BlockRandomTickEvent; }
20// clang-format on
21
22class StemBlock : public ::FoliageBlock {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 8, ::BlockType const&> mFruit;
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 StemBlock& operator=(StemBlock const&);
32 StemBlock(StemBlock const&);
33 StemBlock();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
39
40 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
41 /*override*/;
42
43 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
44
45 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
46
47 virtual bool onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* fType, ::FertilizerType) const
48 /*override*/;
49
50 virtual bool canBeFertilized(::BlockSource&, ::BlockPos const&, ::Block const&) const /*override*/;
51
52 virtual bool isStemBlock() const /*override*/;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI StemBlock(::std::string const& nameId, int id, ::BlockType const& fruit);
59
60 MCFOLD ::BlockType const& getFruitBlock() const;
61
62 MCAPI float getGrowthSpeed(::BlockSource& region, ::BlockPos const& pos) const;
63
64 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
65 // NOLINTEND
66
67public:
68 // constructor thunks
69 // NOLINTBEGIN
70 MCAPI void* $ctor(::std::string const& nameId, int id, ::BlockType const& fruit);
71 // NOLINTEND
72
73public:
74 // virtual function thunks
75 // NOLINTBEGIN
76 MCFOLD bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
77
78 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
79
80 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
81
82 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
83
84 MCAPI bool $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* fType, ::FertilizerType) const;
85
86 MCFOLD bool $canBeFertilized(::BlockSource&, ::BlockPos const&, ::Block const&) const;
87
88 MCFOLD bool $isStemBlock() const;
89
90
91 // NOLINTEND
92
93public:
94 // vftables
95 // NOLINTBEGIN
96 MCAPI static void** $vftable();
97 // NOLINTEND
98};
Definition AABB.h:18
Definition Actor.h:125
Definition BlockActor.h:30
Definition BlockRandomTickEvent.h:17
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition BlockType.h:84
Definition Block.h:69
Definition ItemInstance.h:15