LeviLamina
Loading...
Searching...
No Matches
VineBlock.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/level/block/BlockLegacy.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
13class Block;
14class BlockPos;
15class BlockSource;
16class Experiments;
19class Random;
20class Vec3;
21namespace BlockEvents { class BlockQueuedTickEvent; }
22// clang-format on
23
24class VineBlock : public ::BlockLegacy {
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 // vIndex: 10
29 virtual ::AABB const& getVisualShapeInWorld(
30 ::Block const& block,
31 ::IConstBlockSource const& region,
32 ::BlockPos const& pos,
33 ::AABB& bufferAABB
34 ) const /*override*/;
35
36 // vIndex: 5
37 virtual ::AABB
39 const /*override*/;
40
41 // vIndex: 9
42 virtual ::AABB const&
43 getOutline(::Block const& block, ::IConstBlockSource const& region, ::BlockPos const& pos, ::AABB& bufferValue)
44 const /*override*/;
45
46 // vIndex: 80
47 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
48
49 // vIndex: 87
50 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
51 /*override*/;
52
53 // vIndex: 137
54 virtual void randomTick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const /*override*/;
55
56 // vIndex: 92
57 virtual ::Block const&
58 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
59 /*override*/;
60
61 // vIndex: 131
62 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
63
64 // vIndex: 142
65 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
66
67 // vIndex: 50
68 virtual ::Block const& sanitizeFillBlock(::Block const& block) const /*override*/;
69
70 // vIndex: 0
71 virtual ~VineBlock() /*override*/ = default;
72 // NOLINTEND
73
74public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI bool _canGrowDown(::BlockSource& region, ::BlockPos const& pos) const;
78
79 MCAPI bool _canSideSpread(::BlockSource& region, ::BlockPos const& pos) const;
80
81 MCAPI int _nextVineDirections(::BlockSource& region, ::BlockPos const& pos) const;
82
83 MCAPI void growDown(::BlockSource& region, ::BlockPos const& pos, int spawnFacings) const;
84
85 MCAPI void growSideways(::BlockSource& region, ::BlockPos const& pos, int testDirection) const;
86
87 MCAPI void growUp(::BlockSource& region, ::BlockPos const& pos, int spawnFacings) const;
88
89 MCFOLD void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
90 // NOLINTEND
91
92public:
93 // static functions
94 // NOLINTBEGIN
95 MCAPI static bool isAcceptableNeighbour(::Block const& block);
96 // NOLINTEND
97
98public:
99 // static variables
100 // NOLINTBEGIN
101 MCAPI static int const& VINE_ALL();
102
103 MCAPI static int const& VINE_EAST();
104
105 MCAPI static int const& VINE_NORTH();
106
107 MCAPI static int const& VINE_SOUTH();
108
109 MCAPI static int const& VINE_WEST();
110 // NOLINTEND
111
112public:
113 // destructor thunk
114 // NOLINTBEGIN
115
116 // NOLINTEND
117
118public:
119 // virtual function thunks
120 // NOLINTBEGIN
121 MCAPI ::AABB const& $getVisualShapeInWorld(
122 ::Block const& block,
123 ::IConstBlockSource const& region,
124 ::BlockPos const& pos,
125 ::AABB& bufferAABB
126 ) const;
127
128 MCFOLD ::AABB
130 const;
131
132 MCFOLD ::AABB const&
133 $getOutline(::Block const& block, ::IConstBlockSource const& region, ::BlockPos const& pos, ::AABB& bufferValue)
134 const;
135
136 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
137
138 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
139
140 MCAPI void $randomTick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
141
142 MCAPI ::Block const&
143 $getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue)
144 const;
145
146 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
147
148 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
149
150 MCAPI ::Block const& $sanitizeFillBlock(::Block const& block) const;
151 // NOLINTEND
152
153public:
154 // vftables
155 // NOLINTBEGIN
156 MCAPI static void** $vftable();
157 // NOLINTEND
158};
Definition AABB.h:16
Definition Actor.h:104
Definition BlockQueuedTickEvent.h:15
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Random.h:16
Definition Vec3.h:10
Definition VineBlock.h:24
Definition optional_ref.h:10