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