LeviLamina
Loading...
Searching...
No Matches
ChunkPos.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class BlockPos;
8class Vec3;
9// clang-format on
10
11class alignas(uint64) ChunkPos : public ll::math::intN2<ChunkPos> {
12public:
13 template <std::floating_point T0, std::floating_point T1>
14 [[nodiscard]] constexpr ChunkPos(T0 x, T1 z)
15 : intN2((static_cast<int>(std::floor(x)) >> 4), (static_cast<int>(std::floor(z)) >> 4)) {}
16
17 using intN2::intN2;
18
19public:
20 // member functions
21 // NOLINTBEGIN
22 MCAPI explicit ChunkPos(::BlockPos const& pos);
23
24 MCAPI explicit ChunkPos(::Vec3 const& pos);
25 // NOLINTEND
26
27public:
28 // static variables
29 // NOLINTBEGIN
30 MCAPI static ::ChunkPos const& INVALID();
31
32 MCAPI static ::ChunkPos const& MAX();
33
34 MCAPI static ::ChunkPos const& MIN();
35
36 MCAPI static ::ChunkPos const& ONE();
37 // NOLINTEND
38
39public:
40 // constructor thunks
41 // NOLINTBEGIN
42 MCAPI void* $ctor(::BlockPos const& pos);
43
44 MCAPI void* $ctor(::Vec3 const& pos);
45 // NOLINTEND
46};
Definition BlockPos.h:18
Definition ChunkPos.h:11
Definition Vec3.h:10