LeviLamina
Loading...
Searching...
No Matches
CampfireBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/ActorBlockBase.h"
7#include "mc/world/level/block/BlockSupportType.h"
8#include "mc/world/level/block/BlockType.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class Block;
14class BlockActor;
15class BlockPos;
16class BlockSource;
18class Experiments;
19class ItemInstance;
21struct Brightness;
22namespace BlockEvents { class BlockPlaceEvent; }
23namespace BlockEvents { class BlockPlayerInteractEvent; }
24// clang-format on
25
26class CampfireBlock : public ::ActorBlock {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<1, 1, bool> mSpawnRandomParticles;
31 ::ll::TypedStorage<1, 1, bool> mIsCampfireFireStarter;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ::Brightness getLightEmission(::Block const& block) const /*override*/;
38
39 virtual bool hasVariableLighting() const /*override*/;
40
41 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
42
43 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
44 /*override*/;
45
46 virtual bool canProvideSupport(::Block const&, uchar face, ::BlockSupportType) const /*override*/;
47
48 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const*) const /*override*/;
49
50 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
51
52 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
53
54 virtual bool canSpawnOn(::Actor*) const /*override*/;
55
56 virtual bool isLavaBlocking() const /*override*/;
57
58 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
59 /*override*/;
60
61 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
62
63 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
64
65 virtual ~CampfireBlock() /*override*/ = default;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
71 MCAPI ::CampfireBlockActor* _getBlockActor(::BlockSource& region, ::BlockPos const& pos) const;
72
73 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
74
75 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
76 // NOLINTEND
77
78public:
79 // static functions
80 // NOLINTBEGIN
81 MCAPI static bool tryDouseFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor, bool needsWater);
82
83 MCAPI static bool tryLightFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor);
84 // NOLINTEND
85
86public:
87 // virtual function thunks
88 // NOLINTBEGIN
89 MCAPI ::Brightness $getLightEmission(::Block const& block) const;
90
91 MCFOLD bool $hasVariableLighting() const;
92
93 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
94
95 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
96
97 MCAPI ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
98
99 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
100
101 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
102
103 MCFOLD bool $canSpawnOn(::Actor*) const;
104
105 MCFOLD bool $isLavaBlocking() const;
106
107 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
108
109 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
110
111 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
112
113#ifdef LL_PLAT_C
114 MCFOLD bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType) const;
115#endif
116
117
118 // NOLINTEND
119
120public:
121 // vftables
122 // NOLINTBEGIN
123 MCAPI static void** $vftable();
124 // NOLINTEND
125};
Definition Actor.h:105
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition CampfireBlockActor.h:20
Definition CampfireBlock.h:26
Definition Experiments.h:14
Definition ItemInstance.h:15
Definition BlockAnimateTickData.h:14
Definition Brightness.h:8