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 bool hasVariableLighting() const /*override*/;
42
43 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
44
45 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& pathPos, ::BlockPos const&) const /*override*/;
46
47 virtual bool canProvideSupport(::Block const& face, uchar, ::BlockSupportType) const /*override*/;
48
49 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const*) const /*override*/;
50
51 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
52
53 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
54
55 virtual bool canSpawnOn(::Actor*) const /*override*/;
56
57 virtual bool isLavaBlocking() const /*override*/;
58
59 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
60 /*override*/;
61
62 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
63 // NOLINTEND
64
65public:
66 // member functions
67 // NOLINTBEGIN
68 MCAPI CampfireBlock(::std::string const& nameId, int id, bool spawnRandomParticles, bool setsOnFire);
69
70 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
71
72 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
73 // NOLINTEND
74
75public:
76 // static functions
77 // NOLINTBEGIN
78 MCAPI static bool _canBeLit(::BlockSource& region, ::BlockPos const& pos);
79
80 MCAPI static bool isLit(::Block const& block);
81
82 MCAPI static bool tryDouseFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor, bool needsWater);
83
84 MCAPI static bool tryLightFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor);
85 // NOLINTEND
86
87public:
88 // constructor thunks
89 // NOLINTBEGIN
90 MCAPI void* $ctor(::std::string const& nameId, int id, bool spawnRandomParticles, bool setsOnFire);
91 // NOLINTEND
92
93public:
94 // virtual function thunks
95 // NOLINTBEGIN
96 MCAPI ::Brightness $getLightEmission(::Block const& block) const;
97
98 MCFOLD bool $hasVariableLighting() const;
99
100 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
101
102 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& pathPos, ::BlockPos const&) const;
103
104 MCFOLD bool $canProvideSupport(::Block const& face, uchar, ::BlockSupportType) const;
105
106 MCAPI ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
107
108 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
109
110 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
111
112 MCFOLD bool $canSpawnOn(::Actor*) const;
113
114 MCFOLD bool $isLavaBlocking() const;
115
116 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
117
118 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
119
120
121 // NOLINTEND
122
123public:
124 // vftables
125 // NOLINTBEGIN
126 MCAPI static void** $vftable();
127 // NOLINTEND
128};
Definition Actor.h:125
Definition BlockActor.h:30
Definition BlockPlaceEvent.h:18
Definition BlockPlayerInteractEvent.h:20
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition ItemInstance.h:15
Definition BlockAnimateTickData.h:14
Definition Brightness.h:8