LeviLamina
Loading...
Searching...
No Matches
VoxelShapeRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/deps/voxel_shapes/VoxelShape.h"
5
6// auto generated inclusion list
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/deps/voxel_shapes/RegistryHandle.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace VoxelShapes { class VoxelShape; }
13// clang-format on
14
15namespace VoxelShapes {
16
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<1, 1, bool> mInitialized;
22 ::ll::TypedStorage<2, 2, ::VoxelShapes::RegistryHandle> mEmptyShapeHandle;
23 ::ll::TypedStorage<2, 2, ::VoxelShapes::RegistryHandle> mUnitCubeShapeHandle;
24 ::ll::TypedStorage<8, 8, uint64> mVanillaShapes;
25 ::ll::TypedStorage<8, 8, uint64> mCustomShapes;
26 ::ll::TypedStorage<8, 24, ::std::vector<::VoxelShapes::VoxelShape>> mVoxelShapes;
27 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::VoxelShapes::RegistryHandle>> mNameMap;
28 // NOLINTEND
29
30public:
31 // member functions
32 // NOLINTBEGIN
33 MCAPI ::VoxelShapes::RegistryHandle _insertOrFindDuplicate(::VoxelShapes::VoxelShape&& shape, bool isVanillaShape);
34
35 MCAPI ::VoxelShapes::RegistryHandle getHandleByName(::HashedString const& name) const;
36
37 MCAPI bool hasName(::HashedString const& name) const;
38
39 MCAPI void initialize();
40
41#ifdef LL_PLAT_C
42 MCAPI void initializeFromNetwork(
43 ::std::vector<::VoxelShapes::VoxelShape> const& shapes,
44 ::std::unordered_map<::HashedString, ::VoxelShapes::RegistryHandle> const& nameMap,
45 ushort customShapeCount
46 );
47#endif
48 // NOLINTEND
49
50public:
51 // static functions
52 // NOLINTBEGIN
53 MCAPI static bool _computeIsCubeShapeEquivalent(::VoxelShapes::VoxelShape const& shape);
54 // NOLINTEND
55
56public:
57 // static variables
58 // NOLINTBEGIN
59 MCAPI static ::HashedString const& EMPTY_ID();
60
61 MCAPI static ::HashedString const& UNIT_CUBE_ID();
62 // NOLINTEND
63};
64
65} // namespace VoxelShapes
Definition HashedString.h:5
Definition VoxelShapeRegistry.h:17
Definition VoxelShape.h:19