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