LeviLamina
Loading...
Searching...
No Matches
TorchBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/comprehensive/ParticleType.h"
7#include "mc/deps/core/utility/optional_ref.h"
8#include "mc/world/level/block/BlockType.h"
9#include "mc/world/level/block/TorchFacing.h"
10
11// auto generated forward declare list
12// clang-format off
13class AABB;
14class Actor;
15class Block;
16class BlockPos;
17class BlockSource;
18class Experiments;
21class Vec3;
23namespace BlockEvents { class BlockPlaceEvent; }
24namespace BlockEvents { class BlockQueuedTickEvent; }
25// clang-format on
26
27class TorchBlock : public ::BlockType {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<4, 4, ::ParticleType> mFlameParticle;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
38
39 virtual ::Block const&
40 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
41 /*override*/;
42
43 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
44 /*override*/;
45
46 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
47
48 virtual ::AABB getCollisionShape(
49 ::Block const&,
51 ::BlockPos const&,
53 ) const /*override*/;
54
55 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
56
57 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
58
59 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
60
61 virtual ~TorchBlock() /*override*/ = default;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI bool canBePlacedOn(::BlockSource& region, ::BlockPos const& pos, uchar facing) const;
68
69 MCAPI void onPlaceTorchBlock(::BlockEvents::BlockPlaceEvent& eventData) const;
70
71 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
72 // NOLINTEND
73
74public:
75 // static variables
76 // NOLINTBEGIN
77 MCAPI static ::std::add_lvalue_reference_t<::TorchFacing const[]> DATA_FROM_FACING();
78
79 MCAPI static ::std::add_lvalue_reference_t<ushort const[]> FACING_FROM_DATA();
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
86
87 MCAPI ::Block const& $getPlacementBlock(
88 ::Actor const& by,
89 ::BlockPos const& pos,
90 uchar face,
91 ::Vec3 const& clickPos,
92 int itemValue
93 ) const;
94
95 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
96
97 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
98
99 MCFOLD ::AABB $getCollisionShape(
100 ::Block const&,
101 ::IConstBlockSource const&,
102 ::BlockPos const&,
104 ) const;
105
106 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
107
108 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
109
110 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
111
112
113 // NOLINTEND
114
115public:
116 // vftables
117 // NOLINTBEGIN
118 MCNAPI static void** $vftable();
119 // NOLINTEND
120};
Definition AABB.h:18
Definition Actor.h:105
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 GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition TorchBlock.h:27
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14