Skip to content
LeviMC
English
AutoLightDark
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 // virtual functions
29 // NOLINTBEGIN
30 virtual bool mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const /*override*/;
31
32 virtual ::AABB getCollisionShape(
33 ::Block const&,
35 ::BlockPos const&,
37 ) const /*override*/;
38
39 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
40
41 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
42 /*override*/;
43
44 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
45 /*override*/;
46
47 virtual void onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context) /*override*/;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCNAPI void _solidify(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& changedNeighbor) const;
54
55 MCNAPI void onPlaceBase(::BlockEvents::BlockPlaceEvent& eventData) const;
56
57 MCNAPI void solidify(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& changedNeighbor) const;
58 // NOLINTEND
59
60public:
61 // static functions
62 // NOLINTBEGIN
63 MCNAPI static ::Vec3 _getFlow(::IConstBlockSource const& region, ::BlockPos const& pos, ::Material const& material);
64
65 MCNAPI static void emitFizzParticle(::BlockSource& region, ::BlockPos const& p);
66
67 MCNAPI static int getDepth(::IConstBlockSource const& region, ::BlockPos const& pos, ::Material const& material);
68
69 MCNAPI static void trySpreadFire(::BlockSource& region, ::BlockPos const& pos, ::Random& random);
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCNAPI bool $mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const;
76
77 MCNAPI ::AABB $getCollisionShape(
78 ::Block const&,
80 ::BlockPos const&,
82 ) const;
83
84 MCNAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
85
86 MCNAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
87
88 MCNAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
89
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftable();
99 // NOLINTEND
100};
Definition AABB.h:18
Definition Actor.h:116
Definition BlockPlaceEvent.h:16
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition LiquidBlockBase.h:26
static MCAPI ::Vec3 _getFlow(::IConstBlockSource const &region, ::BlockPos const &pos, ::Material const &material)
MCAPI void _solidify(::BlockSource &region, ::BlockPos const &pos, ::BlockPos const &changedNeighbor) const
static MCAPI void ** $vftable()
static MCAPI void trySpreadFire(::BlockSource &region, ::BlockPos const &pos, ::Random &random)
MCAPI void onPlaceBase(::BlockEvents::BlockPlaceEvent &eventData) const
MCAPI void $neighborChanged(::BlockSource &region, ::BlockPos const &pos, ::BlockPos const &neighborPos) const
MCAPI void solidify(::BlockSource &region, ::BlockPos const &pos, ::BlockPos const &changedNeighbor) const
MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const &tickData) const
static MCAPI void emitFizzParticle(::BlockSource &region, ::BlockPos const &p)
MCAPI bool $mayPick(::BlockSource const &region, ::Block const &block, bool liquid) 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 void $onGraphicsModeChanged(::BlockGraphicsModeChangeContext const &context)
static MCAPI int getDepth(::IConstBlockSource const &region, ::BlockPos const &pos, ::Material const &material)
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