LeviLamina
Loading...
Searching...
No Matches
CandleBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/AbstractCandleBlock.h"
7#include "mc/world/level/block/BlockSupportType.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
13class Block;
14class BlockActor;
15class BlockPos;
16class BlockSource;
17class Experiments;
18class ItemInstance;
19class Vec3;
20namespace BlockEvents { class BlockPlayerInteractEvent; }
21// clang-format on
22
24public:
25 // virtual functions
26 // NOLINTBEGIN
27 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
28
29 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const*) const /*override*/;
30
31 virtual bool isInteractiveBlock() const /*override*/;
32
33 virtual bool canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const /*override*/;
34
35 virtual int _getNumCandles(::Block const& block) const /*override*/;
36
37 virtual void _iterateCandles(
38 ::Block const& block,
39 ::BlockPos const& pos,
40 ::std::function<void(::Vec3 const&, int)> callback
41 ) const /*override*/;
42
43 virtual void _tryLightOnFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor) const /*override*/;
44
45 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
46
47 virtual ~CandleBlock() /*override*/ = default;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
54 // NOLINTEND
55
56public:
57 // static functions
58 // NOLINTBEGIN
59 MCAPI static void
60 _forEachCandle(::Block const& block, ::BlockPos const& pos, ::std::function<void(::Vec3 const&, int)> callback);
61
62 MCAPI static bool tryLightFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor);
63 // NOLINTEND
64
65public:
66 // virtual function thunks
67 // NOLINTBEGIN
68 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
69
70 MCAPI ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
71
72 MCFOLD bool $isInteractiveBlock() const;
73
74 MCAPI int $_getNumCandles(::Block const& block) const;
75
76 MCAPI void $_iterateCandles(
77 ::Block const& block,
78 ::BlockPos const& pos,
79 ::std::function<void(::Vec3 const&, int)> callback
80 ) const;
81
82 MCAPI void $_tryLightOnFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor) const;
83
84 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
85
86#ifdef LL_PLAT_C
87 MCFOLD bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const;
88#endif
89
90
91 // NOLINTEND
92
93public:
94 // vftables
95 // NOLINTBEGIN
96 MCAPI static void** $vftable();
97 // NOLINTEND
98};
Definition AABB.h:18
Definition AbstractCandleBlock.h:21
Definition Actor.h:105
Definition BlockActor.h:32
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition CandleBlock.h:23
Definition Experiments.h:14
Definition ItemInstance.h:15
Definition Vec3.h:10