LeviLamina
Loading...
Searching...
No Matches
LiquidBlockBase.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;
18class Material;
19class Random;
20class Vec3;
22namespace BlockEvents { class BlockPlaceEvent; }
24// clang-format on
25
26class LiquidBlockBase : public ::BlockType {
27public:
28 // prevent constructor by default
29 LiquidBlockBase();
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual bool mayPick(::BlockSource const& block, ::Block const& liquid, bool) const /*override*/;
35
36 virtual ::AABB getCollisionShape(
37 ::Block const&,
39 ::BlockPos const&,
41 ) const /*override*/;
42
43 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
44
45 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
46 /*override*/;
47
48 virtual bool checkIsPathable(::Actor&, ::BlockPos const&, ::BlockPos const&) const /*override*/;
49
50 virtual void onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context) /*override*/;
51 // NOLINTEND
52
53public:
54 // member functions
55 // NOLINTBEGIN
56 MCAPI LiquidBlockBase(::std::string const& nameId, int id, ::Material const& material);
57
58 MCAPI void _solidify(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& changedNeighbor) const;
59
60 MCAPI void emitFizzParticle(::BlockSource& region, ::BlockPos const& p) const;
61
62 MCAPI int getTickDelay(::BlockSource& region) const;
63
64 MCAPI void onPlaceBase(::BlockEvents::BlockPlaceEvent& eventData) const;
65
66 MCAPI void solidify(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& changedNeighbor) const;
67
68 MCAPI void trySpreadFire(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
69 // NOLINTEND
70
71public:
72 // static functions
73 // NOLINTBEGIN
74 MCAPI static ::Vec3 _getFlow(::IConstBlockSource const& region, ::BlockPos const& pos, ::Material const& material);
75
76 MCAPI static int getDepth(::IConstBlockSource const& region, ::BlockPos const& pos, ::Material const& material);
77
78 MCAPI static float getHeightFromDepth(int depth);
79
80#ifdef LL_PLAT_C
81 MCAPI static float getSlopeAngle(::BlockSource& region, ::BlockPos const& pos, ::Material const& m);
82#endif
83
84 MCAPI static void handleEntityInside(
85 ::IConstBlockSource const& region,
86 ::BlockPos const& pos,
87 ::Vec3& current,
88 ::Material const& material
89 );
90 // NOLINTEND
91
92public:
93 // constructor thunks
94 // NOLINTBEGIN
95 MCAPI void* $ctor(::std::string const& nameId, int id, ::Material const& material);
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCAPI bool $mayPick(::BlockSource const& block, ::Block const& liquid, bool) const;
102
103 MCFOLD ::AABB $getCollisionShape(
104 ::Block const&,
105 ::IConstBlockSource const&,
106 ::BlockPos const&,
108 ) const;
109
110 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
111
112 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
113
114 MCAPI bool $checkIsPathable(::Actor&, ::BlockPos const&, ::BlockPos const&) const;
115
116 MCAPI void $onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context);
117
118
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCAPI static void** $vftable();
125 // NOLINTEND
126};
Definition AABB.h:18
Definition Actor.h:125
Definition BlockPlaceEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Material.h:8
Definition Random.h:10
Definition Vec3.h:10
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14
Definition BlockGraphicsModeChangeContext.h:5
Definition context.h:5