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