LeviLamina
Loading...
Searching...
No Matches
LiquidBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/LiquidBlockBase.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
11class BlockPos;
12class BlockSource;
13class Experiments;
14class Random;
15namespace BlockEvents { class BlockQueuedTickEvent; }
16namespace BlockEvents { class BlockRandomTickEvent; }
17// clang-format on
18
20public:
21 // virtual functions
22 // NOLINTBEGIN
23 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
24 /*override*/;
25
26 virtual void entityInside(::BlockSource&, ::BlockPos const&, ::Actor& entity) const /*override*/;
27
28 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
29
30 virtual ~LiquidBlock() /*override*/ = default;
31 // NOLINTEND
32
33public:
34 // member functions
35 // NOLINTBEGIN
36 MCAPI int _getSlopeDistance(::BlockSource& region, ::BlockPos const& pos, int pass, int from) const;
37
38 MCAPI bool _isLiquidBlocking(
39 ::BlockSource& region,
40 ::BlockPos const& pos,
41 ::BlockPos const& flowFromPos,
42 uchar flowFromDirection
43 ) const;
44
45 MCAPI void _spread(::BlockSource& region, ::BlockPos const& pos, int depth, bool preserveExisting) const;
46
47 MCAPI bool _tick(::BlockSource& region, ::BlockPos const& pos, ::Random& random, bool onlyDetectStatic) const;
48
49 MCAPI void _trySpreadTo(
50 ::BlockSource& region,
51 ::BlockPos const& pos,
52 int neighbor,
53 ::BlockPos const& flowFromPos,
54 uchar flowFromDirection
55 ) const;
56
57 MCAPI ::std::array<bool, 4> getSpread(::BlockSource& region, ::BlockPos const& pos) const;
58
59 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
60
61 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
68
69 MCFOLD void $entityInside(::BlockSource&, ::BlockPos const&, ::Actor& entity) const;
70
71 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
72
73
74 // NOLINTEND
75
76public:
77 // vftables
78 // NOLINTBEGIN
79 MCAPI static void** $vftable();
80 // NOLINTEND
81};
Definition Actor.h:105
Definition BlockQueuedTickEvent.h:16
Definition BlockRandomTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Experiments.h:14
Definition LiquidBlockBase.h:27
Definition LiquidBlock.h:19
Definition Random.h:10