LeviLamina
Loading...
Searching...
No Matches
GrassBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Color.h"
7#include "mc/world/item/FertilizerType.h"
8#include "mc/world/level/block/BlockLegacy.h"
9#include "mc/world/level/levelgen/synth/PerlinSimplexNoise.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class Block;
15class BlockPos;
16class BlockSource;
17class Experiments;
18class ItemStack;
19class Random;
20class Randomize;
21struct Brightness;
22namespace BlockEvents { class BlockPlayerInteractEvent; }
23// clang-format on
24
25class GrassBlock : public ::BlockLegacy {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 24, ::std::vector<::mce::Color>> mSideColors;
30 ::ll::TypedStorage<8, 40, ::PerlinSimplexNoise const> mBiomeInfoNoise;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 GrassBlock();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 // vIndex: 135
41 virtual void randomTick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const /*override*/;
42
43 // vIndex: 73
44 virtual bool
45 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
46 /*override*/;
47
48 // vIndex: 75
49 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
50 /*override*/;
51
52 // vIndex: 92
53 virtual int calcVariant(::BlockSource& region, ::BlockPos const& pos, ::mce::Color const& baseColor) const
54 /*override*/;
55
56 // vIndex: 45
57 virtual bool canBeOriginalSurface() const /*override*/;
58
59 // vIndex: 82
60 virtual bool tryToTill(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity, ::ItemStack& item) const
61 /*override*/;
62
63 // vIndex: 130
64 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
65
66 // vIndex: 0
67 virtual ~GrassBlock() /*override*/ = default;
68 // NOLINTEND
69
70public:
71 // member functions
72 // NOLINTBEGIN
73 MCAPI GrassBlock(::std::string const& nameId, int id);
74
75 MCAPI bool _canBeGrass(::BlockSource const& region, ::BlockPos const& pos) const;
76
77 MCAPI bool _plantGrass(::BlockSource& region, ::BlockPos const& abovePos, ::Randomize& randomize) const;
78
79 MCFOLD void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
80 // NOLINTEND
81
82public:
83 // static variables
84 // NOLINTBEGIN
85 MCAPI static ::Brightness const& MIN_BRIGHTNESS();
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCAPI void* $ctor(::std::string const& nameId, int id);
92 // NOLINTEND
93
94public:
95 // virtual function thunks
96 // NOLINTBEGIN
97 MCAPI void $randomTick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
98
99 MCAPI bool
100 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
101
102 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
103
104 MCAPI int $calcVariant(::BlockSource& region, ::BlockPos const& pos, ::mce::Color const& baseColor) const;
105
106 MCFOLD bool $canBeOriginalSurface() const;
107
108 MCAPI bool $tryToTill(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity, ::ItemStack& item) const;
109
110 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
111 // NOLINTEND
112
113public:
114 // vftables
115 // NOLINTBEGIN
116 MCNAPI static void** $vftable();
117 // NOLINTEND
118};
Definition Actor.h:103
Definition BlockPlayerInteractEvent.h:17
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition GrassBlock.h:25
static MCAPI void ** $vftable()
Definition ItemStack.h:25
Definition Random.h:11
Definition Randomize.h:13
Definition Color.h:13
Definition Brightness.h:8