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 // prevent constructor by default
36 TorchBlock();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 // vIndex: 79
42 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
43
44 // vIndex: 92
45 virtual ::Block const&
46 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
47 /*override*/;
48
49 // vIndex: 87
50 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
51 /*override*/;
52
53 // vIndex: 11
54 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
55
56 // vIndex: 5
57 virtual ::AABB getCollisionShape(
58 ::Block const&,
60 ::BlockPos const&,
62 ) const /*override*/;
63
64 // vIndex: 123
65 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
66
67 // vIndex: 138
68 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
69
70 // vIndex: 131
71 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
72
73 // vIndex: 0
74 virtual ~TorchBlock() /*override*/ = default;
75 // NOLINTEND
76
77public:
78 // member functions
79 // NOLINTBEGIN
80 MCAPI TorchBlock(::std::string const& nameId, int id, ::ParticleType flameParticle);
81
82 MCAPI bool canBePlacedOn(::BlockSource& region, ::BlockPos const& pos, uchar facing) const;
83
84 MCAPI void onPlaceTorchBlock(::BlockEvents::BlockPlaceEvent& eventData) const;
85
86 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
87 // NOLINTEND
88
89public:
90 // static variables
91 // NOLINTBEGIN
92 MCAPI static ::std::add_lvalue_reference_t<::TorchFacing const[]> DATA_FROM_FACING();
93
94 MCAPI static ::std::add_lvalue_reference_t<ushort const[]> FACING_FROM_DATA();
95 // NOLINTEND
96
97public:
98 // constructor thunks
99 // NOLINTBEGIN
100 MCAPI void* $ctor(::std::string const& nameId, int id, ::ParticleType flameParticle);
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
107
108 MCAPI ::Block const& $getPlacementBlock(
109 ::Actor const& by,
110 ::BlockPos const& pos,
111 uchar face,
112 ::Vec3 const& clickPos,
113 int itemValue
114 ) const;
115
116 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
117
118 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
119
120 MCFOLD ::AABB $getCollisionShape(
121 ::Block const&,
122 ::IConstBlockSource const&,
123 ::BlockPos const&,
125 ) const;
126
127 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
128
129 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
130
131 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
132 // NOLINTEND
133
134public:
135 // vftables
136 // NOLINTBEGIN
137 MCNAPI static void** $vftable();
138 // NOLINTEND
139};
Definition AABB.h:18
Definition Actor.h:102
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BlockType.h:84
Definition Block.h:37
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition TorchBlock.h:27
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14