LeviLamina
Loading...
Searching...
No Matches
LightBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/deps/core/utility/optional_ref.h"
8#include "mc/world/level/block/BlockLegacy.h"
9#include "mc/world/level/block/BlockRenderLayer.h"
10#include "mc/world/level/block/BlockSupportType.h"
11
12// auto generated forward declare list
13// clang-format off
14class AABB;
15class Block;
16class BlockItem;
17class BlockPos;
18class BlockSource;
19class Experiments;
23namespace BlockEvents { class BlockPlayerInteractEvent; }
24// clang-format on
25
26class LightBlock : public ::BlockLegacy {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 48, ::HashedString const> mNextLightLevel;
31 // NOLINTEND
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 // vIndex: 7
37 virtual bool addCollisionShapes(
38 ::Block const& block,
39 ::IConstBlockSource const& region,
40 ::BlockPos const& pos,
41 ::AABB const* intersectTestBox,
42 ::std::vector<::AABB>& inoutBoxes,
44 ) const /*override*/;
45
46 // vIndex: 5
47 virtual ::AABB getCollisionShape(
48 ::Block const&,
50 ::BlockPos const&,
52 ) const /*override*/;
53
54 // vIndex: 70
55 virtual bool isFilteredOut(::BlockRenderLayer heldItemRenderLayer) const /*override*/;
56
57 // vIndex: 79
58 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
59
60 // vIndex: 78
61 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
62
63 // vIndex: 81
64 virtual bool tryToPlace(
65 ::BlockSource& region,
66 ::BlockPos const& pos,
67 ::Block const& block,
68 ::ActorBlockSyncMessage const* syncMsg
69 ) const /*override*/;
70
71 // vIndex: 22
72 virtual bool canProvideSupport(::Block const&, uchar, ::BlockSupportType) const /*override*/;
73
74 // vIndex: 97
75 virtual bool
76 canBeBuiltOver(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::BlockItem const& item) const
77 /*override*/;
78
79 // vIndex: 130
80 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
81
82 // vIndex: 0
83 virtual ~LightBlock() /*override*/ = default;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
90 // NOLINTEND
91
92public:
93 // virtual function thunks
94 // NOLINTBEGIN
95 MCFOLD bool $addCollisionShapes(
96 ::Block const& block,
97 ::IConstBlockSource const& region,
98 ::BlockPos const& pos,
99 ::AABB const* intersectTestBox,
100 ::std::vector<::AABB>& inoutBoxes,
102 ) const;
103
104 MCFOLD ::AABB $getCollisionShape(
105 ::Block const&,
106 ::IConstBlockSource const&,
107 ::BlockPos const&,
109 ) const;
110
111 MCAPI bool $isFilteredOut(::BlockRenderLayer heldItemRenderLayer) const;
112
113 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
114
115 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
116
117 MCFOLD bool $tryToPlace(
118 ::BlockSource& region,
119 ::BlockPos const& pos,
120 ::Block const& block,
121 ::ActorBlockSyncMessage const* syncMsg
122 ) const;
123
124 MCFOLD bool $canProvideSupport(::Block const&, uchar, ::BlockSupportType) const;
125
126 MCAPI bool
127 $canBeBuiltOver(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::BlockItem const& item) const;
128
129 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
130 // NOLINTEND
131
132public:
133 // vftables
134 // NOLINTBEGIN
135 MCNAPI static void** $vftable();
136 // NOLINTEND
137};
Definition AABB.h:18
Definition BlockPlayerInteractEvent.h:17
Definition BlockItem.h:23
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition LightBlock.h:26
static MCAPI void ** $vftable()
Definition optional_ref.h:10
Definition ActorBlockSyncMessage.h:8