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