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;
21namespace BlockEvents { class BlockPlayerInteractEvent; }
22// clang-format on
23
24class LightBlock : public ::BlockType {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 48, ::HashedString const> mNextLightLevel;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 LightBlock();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual bool addCollisionShapes(
39 ::Block const& block,
40 ::IConstBlockSource const& region,
41 ::BlockPos const& pos,
42 ::AABB const* intersectTestBox,
43 ::std::vector<::AABB>& inoutBoxes,
45 ) const /*override*/;
46
47 virtual ::AABB getCollisionShape(
48 ::Block const&,
50 ::BlockPos const&,
52 ) const /*override*/;
53
54 virtual bool isFilteredOut(::BlockRenderLayer heldItemRenderLayer) const /*override*/;
55
56 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
57
58 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
59
60 virtual bool tryToPlace(
61 ::BlockSource& region,
62 ::BlockPos const& pos,
63 ::Block const& block,
64 ::ActorBlockSyncMessage const* syncMsg
65 ) const /*override*/;
66
67 virtual bool canProvideSupport(::Block const&, uchar, ::BlockSupportType) const /*override*/;
68
69 virtual bool canBeBuiltOver(
70 ::Block const& block,
71 ::BlockSource& region,
72 ::BlockPos const& pos,
73 ::BlockType const& newBlock
74 ) const /*override*/;
75 // NOLINTEND
76
77public:
78 // member functions
79 // NOLINTBEGIN
80 MCAPI LightBlock(::std::string const& nameId, int id, ::HashedString const& nextLightLevel);
81
82 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCAPI void* $ctor(::std::string const& nameId, int id, ::HashedString const& nextLightLevel);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCFOLD bool $addCollisionShapes(
95 ::Block const& block,
96 ::IConstBlockSource const& region,
97 ::BlockPos const& pos,
98 ::AABB const* intersectTestBox,
99 ::std::vector<::AABB>& inoutBoxes,
101 ) const;
102
103 MCFOLD ::AABB $getCollisionShape(
104 ::Block const&,
105 ::IConstBlockSource const&,
106 ::BlockPos const&,
108 ) const;
109
110 MCAPI bool $isFilteredOut(::BlockRenderLayer heldItemRenderLayer) const;
111
112 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
113
114 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
115
116 MCAPI bool $tryToPlace(
117 ::BlockSource& region,
118 ::BlockPos const& pos,
119 ::Block const& block,
120 ::ActorBlockSyncMessage const* syncMsg
121 ) const;
122
123 MCFOLD bool $canProvideSupport(::Block const&, uchar, ::BlockSupportType) const;
124
125 MCAPI bool $canBeBuiltOver(
126 ::Block const& block,
127 ::BlockSource& region,
128 ::BlockPos const& pos,
129 ::BlockType const& newBlock
130 ) const;
131
132
133 // NOLINTEND
134
135public:
136 // vftables
137 // NOLINTBEGIN
138 MCAPI static void** $vftable();
139 // NOLINTEND
140};
Definition AABB.h:18
Definition BlockPlayerInteractEvent.h:20
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition GetCollisionShapeInterface.h:13
Definition HashedString.h:5
Definition IConstBlockSource.h:24
Definition optional_ref.h:10
Definition ActorBlockSyncMessage.h:8