LeviLamina
Loading...
Searching...
No Matches
LeavesBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/comprehensive/ParticleType.h"
7#include "mc/deps/core/math/Color.h"
8#include "mc/world/level/block/BlockRenderLayer.h"
9#include "mc/world/level/block/BlockSupportType.h"
10#include "mc/world/level/block/BlockType.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class BaseGameVersion;
16class Block;
17class BlockPos;
18class BlockSource;
19class Experiments;
20class HashedString;
21class Vec3;
24namespace BlockEvents { class BlockRandomTickEvent; }
25// clang-format on
26
27class LeavesBlock : public ::BlockType {
28public:
29 // LeavesBlock inner types declare
30 // clang-format off
31 struct ParticleParams;
32 // clang-format on
33
34 // LeavesBlock inner types define
36 public:
37 // ParticleParams inner types declare
38 // clang-format off
39 struct BiomeTintedColor;
40 // clang-format on
41
42 // ParticleParams inner types define
44
45 public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<
49 4,
50 20,
51 ::std::variant<::ParticleType, ::mce::Color, ::LeavesBlock::ParticleParams::BiomeTintedColor>>
52 mParticle;
53 ::ll::TypedStorage<4, 4, int> mOneOutOfChance;
54 // NOLINTEND
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
60 ::ll::TypedStorage<1, 1, bool> mHasTransparentLeaves;
61 ::ll::TypedStorage<8, 8, ::HashedString const&> mSapling;
62 ::ll::TypedStorage<4, 28, ::std::optional<::LeavesBlock::ParticleParams>> mParticleParams;
63 // NOLINTEND
64
65public:
66 // prevent constructor by default
67 LeavesBlock& operator=(LeavesBlock const&);
68 LeavesBlock(LeavesBlock const&);
69 LeavesBlock();
70
71public:
72 // virtual functions
73 // NOLINTBEGIN
74 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
75
76 virtual int getVariant(::Block const& block) const /*override*/;
77
78 virtual bool isSeasonTinted(::Block const& block, ::BlockSource& region, ::BlockPos const& p) const /*override*/;
79
80 virtual ::BlockRenderLayer getRenderLayer(::Block const&, ::BlockSource& region, ::BlockPos const& pos) const
81 /*override*/;
82
83 virtual ::HashedString const& getCullingLayer() const /*override*/;
84
85 virtual void animateTick(::BlockAnimateTickData const& tickData) const /*override*/;
86
87 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
88
89 virtual ::Block const&
90 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
91 /*override*/;
92
93 virtual void onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context) /*override*/;
94
95 virtual bool canProvideSupport(::Block const&, uchar, ::BlockSupportType) const /*override*/;
96
97 virtual bool canProvideMultifaceSupport(::Block const& block, uchar face) const /*override*/;
98
99 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
100
101 virtual ~LeavesBlock() /*override*/ = default;
102 // NOLINTEND
103
104public:
105 // member functions
106 // NOLINTBEGIN
107 MCAPI void _die(::BlockSource& region, ::BlockPos const& pos) const;
108
109 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
110 // NOLINTEND
111
112public:
113 // static functions
114 // NOLINTBEGIN
115 MCAPI static void runDecay(::BlockSource& region, ::BlockPos const& pos, int range);
116 // NOLINTEND
117
118public:
119 // static variables
120 // NOLINTBEGIN
121 MCAPI static ::LeavesBlock::ParticleParams const& BIOME_TINTED_LEAVES_PARTICLE_PARAMS();
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
128
129 MCAPI int $getVariant(::Block const& block) const;
130
131 MCAPI bool $isSeasonTinted(::Block const& block, ::BlockSource& region, ::BlockPos const& p) const;
132
133 MCAPI ::BlockRenderLayer $getRenderLayer(::Block const&, ::BlockSource& region, ::BlockPos const& pos) const;
134
135 MCAPI ::HashedString const& $getCullingLayer() const;
136
137 MCAPI void $animateTick(::BlockAnimateTickData const& tickData) const;
138
139 MCFOLD bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
140
141 MCAPI ::Block const& $getPlacementBlock(
142 ::Actor const& by,
143 ::BlockPos const& pos,
144 uchar face,
145 ::Vec3 const& clickPos,
146 int itemValue
147 ) const;
148
149 MCAPI void $onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context);
150
151 MCFOLD bool $canProvideSupport(::Block const&, uchar, ::BlockSupportType) const;
152
153 MCFOLD bool $canProvideMultifaceSupport(::Block const& block, uchar face) const;
154
155 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
156
157
158 // NOLINTEND
159
160public:
161 // vftables
162 // NOLINTBEGIN
163 MCAPI static void** $vftable();
164 // NOLINTEND
165};
Definition Actor.h:105
Definition BaseGameVersion.h:8
Definition BlockRandomTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Experiments.h:14
Definition HashedString.h:5
Definition Vec3.h:10
Definition BlockAnimateTickData.h:14
Definition BlockGraphicsModeChangeContext.h:5
Definition BlockRandomTickEvent.h:13
Definition LeavesBlock.h:35
Definition context.h:5