LeviLamina
Loading...
Searching...
No Matches
FallingBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BlockType.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockPos;
12class BlockSource;
13class Material;
15namespace BlockEvents { class BlockPlaceEvent; }
16namespace BlockEvents { class BlockQueuedTickEvent; }
17namespace mce { class Color; }
18// clang-format on
19
20class FallingBlock : public ::BlockType {
21public:
22 // prevent constructor by default
23 FallingBlock();
24
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
29 /*override*/;
30
31 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
32
33 virtual ::mce::Color getDustColor(::Block const& block) const = 0;
34
35 virtual ::std::string getDustParticleName(::Block const& block) const = 0;
36
37 virtual bool falling() const;
38
39 virtual void onLand(::BlockSource& region, ::BlockPos const& pos) const;
40
41 virtual bool isFreeToFall(::BlockSource& region, ::BlockPos const& pos) const;
42
43 virtual void
44 startFalling(::BlockSource& region, ::BlockPos const& pos, ::Block const& oldBlock, bool creative) const;
45 // NOLINTEND
46
47public:
48 // member functions
49 // NOLINTBEGIN
50 MCAPI FallingBlock(::std::string const& nameId, int id, ::Material const& material);
51
52 MCAPI void _tickBlocksAround2D(::BlockSource& region, ::BlockPos const& pos, ::Block const& oldBlock) const;
53
54 MCAPI void checkSlide(::BlockSource& region, ::BlockPos const& pos) const;
55
56 MCAPI void onPlaceBase(::BlockEvents::BlockPlaceEvent& eventData) const;
57
58 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
59
60 MCAPI void triggerFallCheck(::BlockSource& region, ::BlockPos const& pos) const;
61 // NOLINTEND
62
63public:
64 // constructor thunks
65 // NOLINTBEGIN
66 MCAPI void* $ctor(::std::string const& nameId, int id, ::Material const& material);
67 // NOLINTEND
68
69public:
70 // virtual function thunks
71 // NOLINTBEGIN
72 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
73
74 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
75
76 MCFOLD bool $falling() const;
77
78 MCFOLD void $onLand(::BlockSource& region, ::BlockPos const& pos) const;
79
80 MCAPI bool $isFreeToFall(::BlockSource& region, ::BlockPos const& pos) const;
81
82 MCAPI void
83 $startFalling(::BlockSource& region, ::BlockPos const& pos, ::Block const& oldBlock, bool creative) const;
84
85
86 // NOLINTEND
87
88public:
89 // vftables
90 // NOLINTBEGIN
91 MCNAPI static void** $vftable();
92 // NOLINTEND
93};
Definition BlockPlaceEvent.h:18
Definition BlockQueuedTickEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
static MCAPI void ** $vftable()
Definition Material.h:8
Definition Color.h:13
Definition BlockAnimateTickData.h:14