Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
BedBlockUtils.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/Direction.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
11class Block;
12class BlockPos;
13class BlockSource;
14class BlockType;
15class ItemStackBase;
16class Player;
17class Vec3;
18// clang-format on
19
20namespace BedBlockUtils {
21// functions
22// NOLINTBEGIN
23MCNAPI bool checkPlacementPermissions(
24 ::Actor& entity,
25 ::ItemStackBase& item,
26 uchar const& face,
27 ::BlockPos const& pos,
28 bool generateDenyParticleEffect
29);
30
31MCNAPI void displayLocalizedBedMessage(::Player& player, char const* localizationKey);
32
33MCNAPI ::std::optional<::BlockPos> findHeadPiece(::BlockSource const& region, ::BlockPos const& interactPos);
34
35MCNAPI ::std::optional<::BlockPos>
36findWakeupPosition(::BlockSource const& region, ::BlockPos const& pos, ::std::optional<::Vec3> const& enteredBedPos);
37
38MCNAPI ::Direction::Type getDirection(::Block const& block);
39
40MCNAPI ::BlockPos getSecondPartPos(::Block const& block, ::BlockPos const& origin);
41
42MCNAPI void handleNeighborChanged(
43 ::BlockSource& region,
44 ::BlockType const& bedType,
45 ::BlockPos const& pos,
46 ::BlockPos const& neighborPos
47);
48
49MCNAPI bool
50isBedPlacementBlockedByEntities(::BlockSource& region, ::BlockPos const& feetPos, ::BlockPos const& headPos);
51
52MCNAPI void onFillBlock(::BlockType const& bedType, ::BlockSource& region, ::BlockPos const& pos, ::Block const& block);
53
54MCNAPI ::Block const& sanitizeFillBlock(::Block const& block);
55
56MCNAPI void setOccupied(::BlockSource& region, ::BlockPos const& pos, bool occupied);
57
58MCNAPI bool tryPlaceBedParts(
59 ::BlockSource& region,
60 ::BlockPos const& feetPos,
61 ::BlockPos const& headPos,
62 ::Block const& footBlock,
63 ::Block const& headBlock
64);
65
66MCNAPI void trySleepInBed(::Player& player, ::BlockSource& region, ::BlockPos const& headPos, bool setsRespawn);
67// NOLINTEND
68
69} // namespace BedBlockUtils
Definition Actor.h:116
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition BlockType.h:79
Definition Block.h:42
Definition ItemStackBase.h:45
Definition Player.h:131
Definition Vec3.h:10