Skip to content
LeviMC
English
AutoLightDark
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 MCNAPI CampfireBlock(::std::string const& nameId, int id, bool spawnRandomParticles, bool setsOnFire);
68
69 MCNAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
70
71 MCNAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
72 // NOLINTEND
73
74public:
75 // static functions
76 // NOLINTBEGIN
77 MCNAPI static bool isLit(::Block const& block);
78
79 MCNAPI static bool
80 tryDouseFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor, bool needsWater);
81
82 MCAPI static bool tryLightFire(::BlockSource& region, ::BlockPos const& pos, ::Actor* sourceActor);
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCNAPI void* $ctor(::std::string const& nameId, int id, bool spawnRandomParticles, bool setsOnFire);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCNAPI ::Brightness $getLightEmission(::Block const& block) const;
95
96 MCNAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
97
98 MCNAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
99
100 MCNAPI bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType) const;
101
102 MCNAPI ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
103
104 MCNAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
105
106 MCNAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
107
108 MCNAPI bool $canSpawnOn(::Actor*) const;
109
110 MCNAPI bool $isLavaBlocking() const;
111
112 MCNAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
113
114 MCNAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
115
116
117 // NOLINTEND
118
119public:
120 // vftables
121 // NOLINTBEGIN
122 MCNAPI static void** $vftable();
123 // NOLINTEND
124};
Definition Actor.h:116
Definition BlockActor.h:30
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:18
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
MCAPI void $onRemove(::BlockSource &region, ::BlockPos const &pos) const
MCAPI void use(::BlockEvents::BlockPlayerInteractEvent &eventData) const
static MCAPI bool tryDouseFire(::BlockSource &region, ::BlockPos const &pos, ::Actor *sourceActor, bool needsWater)
MCAPI bool $canProvideSupport(::Block const &, uchar face, ::BlockSupportType) const
MCAPI void $neighborChanged(::BlockSource &region, ::BlockPos const &pos, ::BlockPos const &neighborPos) const
MCAPI::ItemInstance $asItemInstance(::Block const &block, ::BlockActor const *) const
MCAPI void $entityInside(::BlockSource &region, ::BlockPos const &pos, ::Actor &entity) const
static MCAPI bool isLit(::Block const &block)
MCAPI void onPlace(::BlockEvents::BlockPlaceEvent &eventData) const
MCAPI void * $ctor(::std::string const &nameId, int id, bool spawnRandomParticles, bool setsOnFire)
MCAPI bool $canSpawnOn(::Actor *) const
MCAPI bool $checkIsPathable(::Actor &entity, ::BlockPos const &lastPathPos, ::BlockPos const &pathPos) const
MCAPI bool $isLavaBlocking() const
MCAPI CampfireBlock(::std::string const &nameId, int id, bool spawnRandomParticles, bool setsOnFire)
MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const &tickData) const
static MCAPI void ** $vftable()
MCAPI bool $mayPlace(::BlockSource &region, ::BlockPos const &pos) const
MCAPI::Brightness $getLightEmission(::Block const &block) const
Definition ItemInstance.h:15
Definition BlockAnimateTickData.h:14
Definition Brightness.h:8