4jcraft/Minecraft.World/Util/Pos.h
MatthewBeshay 28d68befd4 Replace remaining WinAPI types with standard C++ equivalents
DWORD→uint32_t, BYTE→uint8_t, HRESULT→int32_t, HANDLE→void*, UINT→uint32_t, INT→int32_t, WORD→uint16_t, LONG→int32_t, SHORT→int16_t, LONGLONG→int64_t, ULONG_PTR→uintptr_t, PBYTE→uint8_t*, LPWSTR/PWSTR→wchar_t*, FLOAT→float, CHAR→char, boolean→bool, CONST→const, TRUE→true, FALSE→false across 176 files (excluding vendor libs and Linux stubs).
2026-03-30 17:36:15 +11:00

65 lines
1.4 KiB
C++

#pragma once
// Pos implements Comparable<Pos>
// We don't REALLY need it as it's main use it to make things easy
// to handle in the java array/list classes, but adding to help
// maintain as much original code as possible
// class Pos //implements Comparable<Pos>
class Pos {
public:
int x;
int y;
int z;
Pos();
Pos(int x, int y, int z);
Pos(Pos* position);
//@Override
// public bool equals(Object other)
bool equals(void* other);
int hashCode();
int compareTo(Pos* pos);
Pos* offset(int x, int y, int z);
void set(int x, int y, int z);
void set(Pos* pos);
Pos* above();
Pos* above(int steps);
Pos* below();
Pos* below(int steps);
Pos* north();
Pos* north(int steps);
Pos* south();
Pos* south(int steps);
Pos* west();
Pos* west(int steps);
Pos* east();
Pos* east(int steps);
void move(int x, int y, int z);
void move(Pos pos);
void moveX(int steps);
void moveY(int steps);
void moveZ(int steps);
void moveUp(int steps);
void moveUp();
void moveDown(int steps);
void moveDown();
void moveEast(int steps);
void moveEast();
void moveWest(int steps);
void moveWest();
void moveNorth(int steps);
void moveNorth();
void moveSouth(int steps);
void moveSouth();
double dist(int x, int y, int z);
double dist(Pos* pos);
float distSqr(int x, int y, int z);
float distSqr(Pos* pos);
};