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