LeviLamina
Loading...
Searching...
No Matches
BlockPos.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/Mirror.h"
7#include "mc/util/Rotation.h"
8
9// auto generated forward declare list
10// clang-format off
11class ChunkBlockPos;
12class ChunkPos;
13class SubChunkPos;
14class Vec3;
15namespace cereal { struct ReflectionCtx; }
16// clang-format on
17
18class AABB;
19class BoundingBox;
20
21class BlockPos : public ll::math::intN3<BlockPos> {
22public:
23 using intN3::intN3;
24
25 LLNDAPI operator AABB() const;
26 LLNDAPI operator BoundingBox() const;
27
28 LLNDAPI Vec3 bottomCenter() const;
29 LLNDAPI Vec3 center() const;
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI BlockPos(::SubChunkPos const& subChunkPos);
35
36 MCAPI BlockPos(::Vec3 const& v);
37
38 MCAPI BlockPos(::ChunkPos const& cp, int y);
39
40 MCAPI BlockPos(::ChunkPos const& cp, ::ChunkBlockPos const& offset, short minDimensionHeight);
41
42 MCAPI BlockPos(float x, float y, float z);
43
44 MCAPI ::BlockPos east() const;
45
46 MCAPI ::BlockPos neighbor(uchar direction) const;
47
48 MCAPI ::BlockPos north() const;
49
50 MCFOLD bool operator==(::BlockPos const&) const;
51
52#ifdef LL_PLAT_C
53 MCAPI float randomFloat() const;
54#endif
55
56 MCAPI int randomSeed() const;
57
58 MCAPI int64 randomSeed64() const;
59
60 MCAPI ::BlockPos relative(uchar facing, int steps) const;
61
62 MCAPI ::BlockPos south() const;
63
64 MCAPI ::std::string toCommandString() const;
65
66 MCAPI ::std::string toString() const;
67
68 MCAPI ::BlockPos transform(::Rotation rotation, ::Mirror mirror, ::Vec3 const& pivot) const;
69
70 MCAPI ::BlockPos west() const;
71 // NOLINTEND
72
73public:
74 // static functions
75 // NOLINTBEGIN
76 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
77 // NOLINTEND
78
79public:
80 // static variables
81 // NOLINTBEGIN
82 MCAPI static ::BlockPos const& MAX();
83
84 MCAPI static ::BlockPos const& MIN();
85
86 MCAPI static ::BlockPos const& ONE();
87
88 MCAPI static ::BlockPos const& ZERO();
89 // NOLINTEND
90
91public:
92 // constructor thunks
93 // NOLINTBEGIN
94 MCAPI void* $ctor(::SubChunkPos const& subChunkPos);
95
96 MCAPI void* $ctor(::Vec3 const& v);
97
98 MCAPI void* $ctor(::ChunkPos const& cp, int y);
99
100 MCAPI void* $ctor(::ChunkPos const& cp, ::ChunkBlockPos const& offset, short minDimensionHeight);
101
102 MCAPI void* $ctor(float x, float y, float z);
103 // NOLINTEND
104};
Definition AABB.h:18
Definition BoundingBox.h:13
Definition ChunkBlockPos.h:10
Definition ChunkPos.h:11
Definition SubChunkPos.h:5
Definition Vec3.h:10
Definition ReflectionCtx.h:11
Definition ctx.h:5