LeviLamina
Loading...
Searching...
No Matches
CollisionShapes.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockPos.h"
7
8// auto generated forward declare list
9// clang-format off
10class AABB;
11class Block;
12// clang-format on
13
14struct CollisionShapes {
15public:
16 // CollisionShapes inner types declare
17 // clang-format off
18 struct BlockAndBlockPos;
19 // clang-format on
20
21 // CollisionShapes inner types define
23 public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 8, ::Block const*> mBlock;
27 ::ll::TypedStorage<4, 12, ::BlockPos> mBlockPos;
28 // NOLINTEND
29 };
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 24, ::std::vector<::AABB>> mShapes;
35 ::ll::TypedStorage<8, 24, ::std::vector<::CollisionShapes::BlockAndBlockPos>> mBlocks;
36 ::ll::TypedStorage<1, 1, bool> mNearUnloadedChunk;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 CollisionShapes& operator=(CollisionShapes const&);
42 CollisionShapes();
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI CollisionShapes(::CollisionShapes const&);
48
49 MCAPI void addCollisionShape(::AABB const& aabb);
50
51 MCAPI void addCollisionShape(::AABB const& aabb, ::Block const& block, ::BlockPos const& blockPos);
52
53 MCAPI ::std::pair<::BlockPos, ::Block const*> getBlockPosCurrentlyStandingOn(::AABB box) const;
54
55 MCAPI ::CollisionShapes& operator=(::CollisionShapes&&);
56
57 MCAPI void reserve(uint64 size);
58
59 MCFOLD uint64 size() const;
60 // NOLINTEND
61
62public:
63 // constructor thunks
64 // NOLINTBEGIN
65 MCAPI void* $ctor(::CollisionShapes const&);
66 // NOLINTEND
67};
Definition AABB.h:18
Definition BlockPos.h:21
Definition Block.h:69
Definition CollisionShapes.h:22