LeviLamina
Loading...
Searching...
No Matches
DirtBlock.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/BlockType.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockActor;
14class BlockPos;
15class BlockSource;
16class Experiments;
17class HashedString;
18class ItemInstance;
19class ItemStack;
20namespace BlockEvents { class BlockPlayerInteractEvent; }
21namespace mce { class Color; }
22// clang-format on
23
24class DirtBlock : public ::BlockType {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 8, ::HashedString const&> mBlockToTillInto;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 DirtBlock& operator=(DirtBlock const&);
34 DirtBlock(DirtBlock const&);
35 DirtBlock();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const*) const /*override*/;
41
42 virtual bool
43 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
44 /*override*/;
45
46 virtual bool mayConsumeFertilizer(::BlockSource& region) const /*override*/;
47
48 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
49 /*override*/;
50
51 virtual bool canBeOriginalSurface(bool) const /*override*/;
52
53 virtual bool tryToTill(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity, ::ItemStack& item) const
54 /*override*/;
55
56 virtual ::mce::Color getMapColor(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const
57 /*override*/;
58
59 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
60
61 virtual ~DirtBlock() /*override*/ = default;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
68 // NOLINTEND
69
70public:
71 // virtual function thunks
72 // NOLINTBEGIN
73 MCFOLD ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
74
75 MCFOLD bool
76 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
77
78 MCFOLD bool $mayConsumeFertilizer(::BlockSource& region) const;
79
80 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
81
82 MCFOLD bool $canBeOriginalSurface(bool) const;
83
84 MCFOLD bool $tryToTill(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity, ::ItemStack& item) const;
85
86 MCFOLD ::mce::Color $getMapColor(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
87
88 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
89
90
91 // NOLINTEND
92
93public:
94 // vftables
95 // NOLINTBEGIN
96 MCAPI static void** $vftable();
97 // NOLINTEND
98};
Definition Actor.h:106
Definition BlockActor.h:30
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Block.h:43
Definition Experiments.h:14
Definition HashedString.h:5
Definition ItemInstance.h:15
Definition ItemStack.h:26
Definition Color.h:13