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 BlockEvents { class BlockPlayerInteractEvent; }
24namespace mce { class Color; }
25// clang-format on
26
27class BedBlock : public ::BlockLegacy {
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 // vIndex: 136
32 virtual bool isInteractiveBlock() const /*override*/;
33
34 // vIndex: 117
35 virtual int getVariant(::Block const& block) const /*override*/;
36
37 // vIndex: 120
38 virtual uchar getMappedFace(uchar face, ::Block const& block) const /*override*/;
39
40 // vIndex: 2
41 virtual ::Block const* getNextBlockPermutation(::Block const& currentBlock) const /*override*/;
42
43 // vIndex: 88
44 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
45 /*override*/;
46
47 // vIndex: 86
48 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
49 /*override*/;
50
51 // vIndex: 89
52 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const* blockActor) const /*override*/;
53
54 // vIndex: 87
55 virtual bool getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const
56 /*override*/;
57
58 // vIndex: 67
59 virtual void updateEntityAfterFallOn(::BlockPos const& pos, ::UpdateEntityAfterFallOnInterface& entity) const
60 /*override*/;
61
62 // vIndex: 68
63 virtual bool isBounceBlock() const /*override*/;
64
65 // vIndex: 48
66 virtual bool canFillAtPos(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const /*override*/;
67
68 // vIndex: 49
69 virtual ::Block const& sanitizeFillBlock(::Block const& block) const /*override*/;
70
71 // vIndex: 50
72 virtual void onFillBlock(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const /*override*/;
73
74 // vIndex: 116
75 virtual int telemetryVariant(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
76
77 // vIndex: 56
78 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
79 /*override*/;
80
81 // vIndex: 108
82 virtual bool canSpawnAt(::BlockSource const& region, ::BlockPos const& pos) const /*override*/;
83
84 // vIndex: 144
85 virtual ::mce::Color getMapColor(::BlockSource& source, ::BlockPos const& pos, ::Block const& block) const
86 /*override*/;
87
88 // vIndex: 130
89 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
90
91 // vIndex: 0
92 virtual ~BedBlock() /*override*/ = default;
93 // NOLINTEND
94
95public:
96 // member functions
97 // NOLINTBEGIN
98 MCAPI void onFallOn(::BlockEvents::BlockEntityFallOnEvent& eventData) const;
99
100 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
101
102 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& 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 // virtual function thunks
122 // NOLINTBEGIN
123 MCFOLD bool $isInteractiveBlock() const;
124
125 MCAPI int $getVariant(::Block const& block) const;
126
127 MCAPI uchar $getMappedFace(uchar face, ::Block const& block) const;
128
129 MCFOLD ::Block const* $getNextBlockPermutation(::Block const& currentBlock) const;
130
131 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
132
133 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
134
135 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const* blockActor) const;
136
137 MCAPI bool $getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const;
138
139 MCAPI void $updateEntityAfterFallOn(::BlockPos const& pos, ::UpdateEntityAfterFallOnInterface& entity) const;
140
141 MCFOLD bool $isBounceBlock() const;
142
143 MCAPI bool $canFillAtPos(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
144
145 MCAPI ::Block const& $sanitizeFillBlock(::Block const& block) const;
146
147 MCAPI void $onFillBlock(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
148
149 MCAPI int $telemetryVariant(::BlockSource& region, ::BlockPos const& pos) const;
150
151 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
152
153 MCFOLD bool $canSpawnAt(::BlockSource const& region, ::BlockPos const& pos) const;
154
155 MCAPI ::mce::Color $getMapColor(::BlockSource& source, ::BlockPos const& pos, ::Block const& block) const;
156
157 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
158 // NOLINTEND
159
160public:
161 // vftables
162 // NOLINTBEGIN
163 MCNAPI static void** $vftable();
164 // NOLINTEND
165};
Definition Actor.h:103
Definition BedBlock.h:27
static MCAPI void ** $vftable()
Definition BlockActor.h:32
Definition BlockEntityFallOnEvent.h:16
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition IConstBlockSource.h:24
Definition ItemInstance.h:16
Definition Player.h:119
Definition Vec3.h:10
Definition UpdateEntityAfterFallOnInterface.h:13