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;
17class ItemInstance;
19struct Brightness;
20namespace BlockEvents { class BlockPlaceEvent; }
21namespace BlockEvents { class BlockPlayerInteractEvent; }
22// clang-format on
23
24class CampfireBlock : public ::ActorBlock {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<1, 1, bool> mSpawnRandomParticles;
29 ::ll::TypedStorage<1, 1, bool> mIsCampfireFireStarter;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 CampfireBlock();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ::Brightness getLightEmission(::Block const& block) 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 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI CampfireBlock(::std::string const& nameId, int id, bool spawnRandomParticles, bool setsOnFire);
68
69 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
70
71 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
72 // NOLINTEND
73
74public:
75 // static functions
76 // NOLINTBEGIN
77 MCAPI static bool isLit(::Block const& block);
78
79 MCAPI static bool tryDouseFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor, bool needsWater);
80
81 MCAPI static bool tryLightFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor);
82 // NOLINTEND
83
84public:
85 // constructor thunks
86 // NOLINTBEGIN
87 MCAPI void* $ctor(::std::string const& nameId, int id, bool spawnRandomParticles, bool setsOnFire);
88 // NOLINTEND
89
90public:
91 // virtual function thunks
92 // NOLINTBEGIN
93 MCAPI ::Brightness $getLightEmission(::Block const& block) const;
94
95 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
96
97 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
98
99 MCFOLD bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType) const;
100
101 MCAPI ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
102
103 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
104
105 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
106
107 MCFOLD bool $canSpawnOn(::Actor*) const;
108
109 MCFOLD bool $isLavaBlocking() const;
110
111 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
112
113 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
114
115
116 // NOLINTEND
117
118public:
119 // vftables
120 // NOLINTBEGIN
121 MCAPI static void** $vftable();
122 // NOLINTEND
123};
Definition Actor.h:113
Definition BlockActor.h:29
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:18
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition ItemInstance.h:15
Definition BlockAnimateTickData.h:14
Definition Brightness.h:8