LeviLamina
Loading...
Searching...
No Matches
AbstractCandleBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/function_ref.h"
7#include "mc/world/level/block/BlockType.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockPos;
14class BlockSource;
15class Material;
16class Vec3;
18struct Brightness;
19namespace BlockEvents { class BlockQueuedTickEvent; }
20// clang-format on
21
22class AbstractCandleBlock : public ::BlockType {
23public:
24 // prevent constructor by default
25 AbstractCandleBlock();
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual bool hasVariableLighting() const /*override*/;
31
32 virtual bool isInteractiveBlock() const /*override*/;
33
34 virtual bool isLavaBlocking() const /*override*/;
35
36 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
37 /*override*/;
38
39 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
40
41 virtual ::Brightness getLightEmission(::Block const& block) const /*override*/;
42
43 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
44
45 virtual void _onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const /*override*/;
46
47 virtual int _getNumCandles(::Block const& block) const;
48
49 virtual void _iterateCandles(
50 ::Block const& block,
51 ::BlockPos const& pos,
52 ::brstd::function_ref<void(::Vec3 const&, int)> callback
53 ) const;
54
55 virtual void _tryLightOnFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor) const;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI AbstractCandleBlock(::std::string const& nameId, int id, ::Material const& material);
62
63 MCAPI void _addExtinguishEffects(::Block const& region, ::BlockSource& pos, ::BlockPos const&) const;
64
65 MCAPI void _checkForWaterlogging(::BlockSource& region, ::BlockPos const& pos) const;
66
67 MCAPI void
68 _extinguish(::Actor* extinguisher, ::Block const& block, ::BlockSource& region, ::BlockPos const& pos) const;
69
70 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
71 // NOLINTEND
72
73public:
74 // static functions
75 // NOLINTBEGIN
76 MCAPI static bool _canBeLit(::Block const& block, ::BlockSource& region, ::BlockPos const& pos);
77
78 MCAPI static bool _isLit(::Block const& block);
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCAPI void* $ctor(::std::string const& nameId, int id, ::Material const& material);
85 // NOLINTEND
86
87public:
88 // virtual function thunks
89 // NOLINTBEGIN
90 MCFOLD bool $hasVariableLighting() const;
91
92 MCFOLD bool $isInteractiveBlock() const;
93
94 MCFOLD bool $isLavaBlocking() const;
95
96 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
97
98 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
99
100 MCAPI ::Brightness $getLightEmission(::Block const& block) const;
101
102 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
103
104 MCAPI void $_onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const;
105
106 MCFOLD int $_getNumCandles(::Block const& block) const;
107
108 MCFOLD void $_iterateCandles(
109 ::Block const& block,
110 ::BlockPos const& pos,
111 ::brstd::function_ref<void(::Vec3 const&, int)> callback
112 ) const;
113
114 MCFOLD void $_tryLightOnFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor) const;
115
116
117 // NOLINTEND
118
119public:
120 // vftables
121 // NOLINTBEGIN
122 MCNAPI static void** $vftable();
123 // NOLINTEND
124};
static MCAPI void ** $vftable()
Definition Actor.h:125
Definition BlockQueuedTickEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition Material.h:8
Definition Vec3.h:10
Definition function_ref.h:60
Definition BlockAnimateTickData.h:14
Definition Brightness.h:8