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