LeviLamina
Loading...
Searching...
No Matches
BubbleColumnBlock.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;
18class HashedString;
20class Random;
23namespace BlockEvents { class BlockPlaceEvent; }
24namespace BlockEvents { class BlockQueuedTickEvent; }
25// clang-format on
26
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<1, 1, bool> mFancyBubbles;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 // vIndex: 122
38 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
39
40 // vIndex: 69
41 virtual bool isPreservingMediumWhenPlaced(::BlockLegacy const* medium) const /*override*/;
42
43 // vIndex: 86
44 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
45 /*override*/;
46
47 // vIndex: 138
48 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
49
50 // vIndex: 56
51 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
52 /*override*/;
53
54 // vIndex: 76
55 virtual bool mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const /*override*/;
56
57 // vIndex: 8
58 virtual void addAABBs(
59 ::Block const& block,
60 ::IConstBlockSource const& region,
61 ::BlockPos const& pos,
62 ::AABB const* intersectTestBox,
63 ::std::vector<::AABB>& inoutBoxes
64 ) const /*override*/;
65
66 // vIndex: 7
67 virtual bool addCollisionShapes(
68 ::Block const& block,
69 ::IConstBlockSource const& region,
70 ::BlockPos const& pos,
71 ::AABB const* intersectTestBox,
72 ::std::vector<::AABB>& inoutBoxes,
74 ) const /*override*/;
75
76 // vIndex: 5
77 virtual ::AABB getCollisionShape(
78 ::Block const&,
80 ::BlockPos const&,
82 ) const /*override*/;
83
84 // vIndex: 134
85 virtual bool shouldTickOnSetBlock() const /*override*/;
86
87 // vIndex: 52
88 virtual ::std::optional<::HashedString> getRequiredMedium() const /*override*/;
89
90 // vIndex: 114
91 virtual void onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context) /*override*/;
92
93 // vIndex: 130
94 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
95
96 // vIndex: 0
97 virtual ~BubbleColumnBlock() /*override*/ = default;
98 // NOLINTEND
99
100public:
101 // member functions
102 // NOLINTBEGIN
103 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
104
105 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
106 // NOLINTEND
107
108public:
109 // static functions
110 // NOLINTBEGIN
111 MCAPI static void _createParticles(::BlockSource& region, ::BlockPos const& pos, ::Random& random, bool down);
112
113 MCAPI static bool addBubbleColumnSegment(::BlockSource& region, ::BlockPos const& pos);
114
115 MCAPI static void spawnBubbles(::BlockSource& region, ::BlockPos const& pos);
116 // NOLINTEND
117
118public:
119 // virtual function thunks
120 // NOLINTBEGIN
121 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
122
123 MCAPI bool $isPreservingMediumWhenPlaced(::BlockLegacy const* medium) const;
124
125 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
126
127 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
128
129 MCFOLD bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
130
131 MCAPI bool $mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const;
132
133 MCFOLD void $addAABBs(
134 ::Block const& block,
135 ::IConstBlockSource const& region,
136 ::BlockPos const& pos,
137 ::AABB const* intersectTestBox,
138 ::std::vector<::AABB>& inoutBoxes
139 ) const;
140
141 MCFOLD bool $addCollisionShapes(
142 ::Block const& block,
143 ::IConstBlockSource const& region,
144 ::BlockPos const& pos,
145 ::AABB const* intersectTestBox,
146 ::std::vector<::AABB>& inoutBoxes,
148 ) const;
149
150 MCFOLD ::AABB $getCollisionShape(
151 ::Block const&,
152 ::IConstBlockSource const&,
153 ::BlockPos const&,
155 ) const;
156
157 MCFOLD bool $shouldTickOnSetBlock() const;
158
159 MCAPI ::std::optional<::HashedString> $getRequiredMedium() const;
160
161 MCAPI void $onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context);
162
163 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
164 // NOLINTEND
165
166public:
167 // vftables
168 // NOLINTBEGIN
169 MCNAPI static void** $vftable();
170 // NOLINTEND
171};
Definition AABB.h:18
Definition Actor.h:103
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition BubbleColumnBlock.h:27
static MCAPI void ** $vftable()
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition HashedString.h:5
Definition IConstBlockSource.h:24
Definition Random.h:11
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:5
Definition BlockGraphicsModeChangeContext.h:5
Definition context.h:5