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