LeviLamina
Loading...
Searching...
No Matches
SlabBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/world/level/block/BlockSupportType.h"
8#include "mc/world/level/block/BlockType.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class BaseGameVersion;
15class Block;
16class BlockActor;
17class BlockPos;
18class BlockSource;
19class Experiments;
20class ItemInstance;
21class Material;
22class MobSpawnerData;
23class SpawnConditions;
24// clang-format on
25
26class SlabBlock : public ::BlockType {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<1, 1, bool> mIsDouble;
31 ::ll::TypedStorage<8, 48, ::HashedString> mOtherSlab;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 SlabBlock();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 // vIndex: 36
42 virtual bool isSlabBlock() const /*override*/;
43
44 // vIndex: 11
45 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
46
47 // vIndex: 14
48 virtual bool isObstructingChests(::BlockSource& region, ::BlockPos const& pos, ::Block const& thisBlock) const
49 /*override*/;
50
51 // vIndex: 57
52 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
53 /*override*/;
54
55 // vIndex: 100
56 virtual ::MobSpawnerData const* getMobToSpawn(::SpawnConditions const& conditions, ::BlockSource& region) const
57 /*override*/;
58
59 // vIndex: 18
60 virtual bool liquidCanFlowIntoFromDirection(
61 uchar flowIntoFacing,
62 ::std::function<::Block const&(::BlockPos const&)> const& getBlock,
63 ::BlockPos const& pos
64 ) const /*override*/;
65
66 // vIndex: 89
67 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
68
69 // vIndex: 83
70 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
71
72 // vIndex: 22
73 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const /*override*/;
74
75 // vIndex: 130
76 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
77
78 // vIndex: 0
79 virtual ~SlabBlock() /*override*/;
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
85 MCAPI SlabBlock(
86 ::std::string const& nameId,
87 int id,
88 bool isDouble,
89 ::Material const& mat,
90 ::HashedString const& otherSlab
91 );
92
93 MCAPI ::Block const& getDoubleSlab() const;
94 // NOLINTEND
95
96public:
97 // static variables
98 // NOLINTBEGIN
99 MCAPI static ::BaseGameVersion const& TOP_SLAB_DOESNT_BREAK_FALLING_BLOCK_VERSION();
100 // NOLINTEND
101
102public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void*
106 $ctor(::std::string const& nameId, int id, bool isDouble, ::Material const& mat, ::HashedString const& otherSlab);
107 // NOLINTEND
108
109public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCAPI void $dtor();
113 // NOLINTEND
114
115public:
116 // virtual function thunks
117 // NOLINTBEGIN
118 MCFOLD bool $isSlabBlock() const;
119
120 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
121
122 MCAPI bool $isObstructingChests(::BlockSource& region, ::BlockPos const& pos, ::Block const& thisBlock) const;
123
124 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
125
126 MCAPI ::MobSpawnerData const* $getMobToSpawn(::SpawnConditions const& conditions, ::BlockSource& region) const;
127
128 MCAPI bool $liquidCanFlowIntoFromDirection(
129 uchar flowIntoFacing,
130 ::std::function<::Block const&(::BlockPos const&)> const& getBlock,
131 ::BlockPos const& pos
132 ) const;
133
134 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
135
136 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
137
138 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const;
139
140 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
141 // NOLINTEND
142
143public:
144 // vftables
145 // NOLINTBEGIN
146 MCNAPI static void** $vftable();
147 // NOLINTEND
148};
Definition AABB.h:18
Definition Actor.h:102
Definition BaseGameVersion.h:8
Definition BlockActor.h:32
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BlockType.h:84
Definition Block.h:38
Definition Experiments.h:14
Definition HashedString.h:5
Definition ItemInstance.h:15
Definition Material.h:8
Definition MobSpawnerData.h:17
Definition SlabBlock.h:26
static MCAPI void ** $vftable()
Definition SpawnConditions.h:8