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