LeviLamina
Loading...
Searching...
No Matches
LightningRodBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/Direction.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 AABB;
13class Actor;
14class BaseGameVersion;
15class Block;
16class BlockPos;
17class BlockSource;
18class Experiments;
19class Vec3;
21namespace BlockEvents { class BlockPlaceEvent; }
22namespace BlockEvents { class BlockQueuedTickEvent; }
23// clang-format on
24
25class LightningRodBlock : public ::BlockType {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<1, 1, bool> mFlashOnPowered;
30 // NOLINTEND
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual bool isSignalSource() const /*override*/;
36
37 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
38
39 virtual bool
40 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
41 /*override*/;
42
43 virtual ::Block const&
44 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
45 /*override*/;
46
47 virtual void onProjectileHit(::BlockSource& region, ::BlockPos const& pos, ::Actor const& projectile) const
48 /*override*/;
49
50 virtual void onLightningHit(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
51
52 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
53
54 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
55
56 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
57
58 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType type) const /*override*/;
59
60 virtual int getVariant(::Block const& block) const /*override*/;
61
62 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
63
64 virtual ~LightningRodBlock() /*override*/;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
71
72 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
73 // NOLINTEND
74
75public:
76 // destructor thunk
77 // NOLINTBEGIN
78 MCFOLD void $dtor();
79 // NOLINTEND
80
81public:
82 // virtual function thunks
83 // NOLINTBEGIN
84 MCFOLD bool $isSignalSource() const;
85
86 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
87
88 MCFOLD bool
89 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
90
91 MCFOLD ::Block const& $getPlacementBlock(
92 ::Actor const& by,
93 ::BlockPos const& pos,
94 uchar face,
95 ::Vec3 const& clickPos,
96 int itemValue
97 ) const;
98
99 MCAPI void $onProjectileHit(::BlockSource& region, ::BlockPos const& pos, ::Actor const& projectile) const;
100
101 MCAPI void $onLightningHit(::BlockSource& region, ::BlockPos const& pos) const;
102
103 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
104
105 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
106
107 MCFOLD bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
108
109 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType type) const;
110
111 MCAPI int $getVariant(::Block const& block) const;
112
113 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
114
115
116 // NOLINTEND
117
118public:
119 // vftables
120 // NOLINTBEGIN
121 MCNAPI static void** $vftable();
122 // NOLINTEND
123};
Definition AABB.h:18
Definition Actor.h:105
Definition BaseGameVersion.h:8
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Experiments.h:14
Definition LightningRodBlock.h:25
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition BlockAnimateTickData.h:14