LeviLamina
Loading...
Searching...
No Matches
BedBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BlockLegacy.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
11class Block;
12class BlockActor;
13class BlockPos;
14class BlockSource;
15class Experiments;
17class ItemInstance;
18class Player;
19class Vec3;
21namespace BlockEvents { class BlockEntityFallOnEvent; }
22namespace BlockEvents { class BlockPlaceEvent; }
23namespace mce { class Color; }
24// clang-format on
25
26class BedBlock : public ::BlockLegacy {
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 // vIndex: 139
31 virtual bool use(::Player& player, ::BlockPos const& pos, uchar face) const /*override*/;
32
33 // vIndex: 138
34 virtual bool isInteractiveBlock() const /*override*/;
35
36 // vIndex: 118
37 virtual int getVariant(::Block const& block) const /*override*/;
38
39 // vIndex: 121
40 virtual uchar getMappedFace(uchar face, ::Block const& block) const /*override*/;
41
42 // vIndex: 2
43 virtual ::Block const* getNextBlockPermutation(::Block const& currentBlock) const /*override*/;
44
45 // vIndex: 89
46 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) 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: 90
54 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const* blockActor) const /*override*/;
55
56 // vIndex: 88
57 virtual bool getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const
58 /*override*/;
59
60 // vIndex: 68
61 virtual void updateEntityAfterFallOn(::BlockPos const& pos, ::UpdateEntityAfterFallOnInterface& entity) const
62 /*override*/;
63
64 // vIndex: 69
65 virtual bool isBounceBlock() const /*override*/;
66
67 // vIndex: 49
68 virtual bool canFillAtPos(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const /*override*/;
69
70 // vIndex: 50
71 virtual ::Block const& sanitizeFillBlock(::Block const& block) const /*override*/;
72
73 // vIndex: 51
74 virtual void onFillBlock(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const /*override*/;
75
76 // vIndex: 117
77 virtual int telemetryVariant(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
78
79 // vIndex: 57
80 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
81 /*override*/;
82
83 // vIndex: 109
84 virtual bool canSpawnAt(::BlockSource const& region, ::BlockPos const& pos) const /*override*/;
85
86 // vIndex: 147
87 virtual ::mce::Color getMapColor(::BlockSource& source, ::BlockPos const& pos, ::Block const& block) const
88 /*override*/;
89
90 // vIndex: 131
91 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
92
93 // vIndex: 0
94 virtual ~BedBlock() /*override*/ = default;
95 // NOLINTEND
96
97public:
98 // member functions
99 // NOLINTBEGIN
100 MCAPI void onFallOn(::BlockEvents::BlockEntityFallOnEvent& eventData) const;
101
102 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
103 // NOLINTEND
104
105public:
106 // static functions
107 // NOLINTBEGIN
108 MCAPI static ::std::optional<::BlockPos>
109 findWakeupPosition(::BlockSource& region, ::BlockPos const& pos, ::std::optional<::Vec3> const& enteredBedPos);
110
111 MCAPI static bool isValidStandUpPosition(::BlockSource& region, ::BlockPos const& pos);
112 // NOLINTEND
113
114public:
115 // static variables
116 // NOLINTBEGIN
117 MCAPI static ::std::add_lvalue_reference_t<int[][2]> HEAD_DIRECTION_OFFSETS();
118 // NOLINTEND
119
120public:
121 // destructor thunk
122 // NOLINTBEGIN
123
124 // NOLINTEND
125
126public:
127 // virtual function thunks
128 // NOLINTBEGIN
129 MCAPI bool $use(::Player& player, ::BlockPos const& pos, uchar face) const;
130
131 MCFOLD bool $isInteractiveBlock() const;
132
133 MCAPI int $getVariant(::Block const& block) const;
134
135 MCAPI uchar $getMappedFace(uchar face, ::Block const& block) const;
136
137 MCFOLD ::Block const* $getNextBlockPermutation(::Block const& currentBlock) const;
138
139 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
140
141 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
142
143 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const* blockActor) const;
144
145 MCAPI bool $getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const;
146
147 MCAPI void $updateEntityAfterFallOn(::BlockPos const& pos, ::UpdateEntityAfterFallOnInterface& entity) const;
148
149 MCFOLD bool $isBounceBlock() const;
150
151 MCAPI bool $canFillAtPos(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
152
153 MCAPI ::Block const& $sanitizeFillBlock(::Block const& block) const;
154
155 MCAPI void $onFillBlock(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
156
157 MCAPI int $telemetryVariant(::BlockSource& region, ::BlockPos const& pos) const;
158
159 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
160
161 MCFOLD bool $canSpawnAt(::BlockSource const& region, ::BlockPos const& pos) const;
162
163 MCAPI ::mce::Color $getMapColor(::BlockSource& source, ::BlockPos const& pos, ::Block const& block) const;
164
165 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
166 // NOLINTEND
167
168public:
169 // vftables
170 // NOLINTBEGIN
171 MCAPI static void** $vftable();
172 // NOLINTEND
173};
Definition Actor.h:104
Definition BedBlock.h:26
Definition BlockActor.h:32
Definition BlockEntityFallOnEvent.h:15
Definition BlockPlaceEvent.h:15
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition Experiments.h:14
Definition IConstBlockSource.h:24
Definition ItemInstance.h:16
Definition Player.h:119
Definition Vec3.h:10
Definition UpdateEntityAfterFallOnInterface.h:13