LeviLamina
Loading...
Searching...
No Matches
CarpetBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/world/level/block/BlockType.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
13class Block;
14class BlockActor;
15class BlockPos;
16class BlockSource;
17class Container;
20class ItemInstance;
21class Vec3;
22namespace BlockEvents { class BlockQueuedTickEvent; }
23// clang-format on
24
25class CarpetBlock : public ::BlockType {
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
30
31 virtual ::AABB getCollisionShape(
32 ::Block const& block,
33 ::IConstBlockSource const& region,
34 ::BlockPos const& pos,
36 ) const /*override*/;
37
38 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
39
40 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
41 /*override*/;
42
43 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
44
45 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
46 /*override*/;
47
48 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const* blockActor) const /*override*/;
49
50 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
51 /*override*/;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
58 // NOLINTEND
59
60public:
61 // virtual function thunks
62 // NOLINTBEGIN
63 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
64
65 MCAPI ::AABB $getCollisionShape(
66 ::Block const& block,
67 ::IConstBlockSource const& region,
68 ::BlockPos const& pos,
70 ) const;
71
72#ifdef LL_PLAT_S
73 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
74#else // LL_PLAT_C
75 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
76#endif
77
78 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
79
80 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
81
82 MCFOLD bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
83
84 MCFOLD ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const* blockActor) const;
85
86 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
87
88
89 // NOLINTEND
90
91public:
92 // vftables
93 // NOLINTBEGIN
94 MCAPI static void** $vftable();
95 // NOLINTEND
96};
Definition AABB.h:18
Definition Actor.h:113
Definition BlockActor.h:29
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition CarpetBlock.h:25
Definition Container.h:35
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition Vec3.h:10
Definition optional_ref.h:10