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;
18class Experiments;
21class ItemInstance;
22class Vec3;
23namespace BlockEvents { class BlockQueuedTickEvent; }
24// clang-format on
25
26class CarpetBlock : public ::BlockType {
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
31
32 virtual ::AABB getCollisionShape(
33 ::Block const& block,
34 ::IConstBlockSource const& region,
35 ::BlockPos const& pos,
37 ) const /*override*/;
38
39 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
40
41 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
42 /*override*/;
43
44 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
45
46 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
47 /*override*/;
48
49 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const* blockActor) const /*override*/;
50
51 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
52 /*override*/;
53
54 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
55
56 virtual ~CarpetBlock() /*override*/ = default;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
63 // NOLINTEND
64
65public:
66 // virtual function thunks
67 // NOLINTBEGIN
68 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
69
70 MCAPI ::AABB $getCollisionShape(
71 ::Block const& block,
72 ::IConstBlockSource const& region,
73 ::BlockPos const& pos,
75 ) const;
76
77 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
78
79 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
80
81 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
82
83 MCFOLD bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
84
85 MCFOLD ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const* blockActor) const;
86
87 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
88
89 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
90
91
92 // NOLINTEND
93
94public:
95 // vftables
96 // NOLINTBEGIN
97 MCAPI static void** $vftable();
98 // NOLINTEND
99};
Definition AABB.h:18
Definition Actor.h:106
Definition BlockActor.h:30
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Block.h:43
Definition CarpetBlock.h:26
Definition Container.h:33
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition Vec3.h:10
Definition optional_ref.h:10