diff options
Diffstat (limited to 'src/World/ChunkIndex.hpp')
| -rw-r--r-- | src/World/ChunkIndex.hpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/World/ChunkIndex.hpp b/src/World/ChunkIndex.hpp index 330d202..cf5af07 100644 --- a/src/World/ChunkIndex.hpp +++ b/src/World/ChunkIndex.hpp @@ -7,13 +7,9 @@ namespace MC::World { struct ChunkIndex { - ChunkIndex(int64_t x, int64_t y) : x(x), y(x) {} + ChunkIndex(int32_t x, int32_t y) : x(x), y(y) {} - bool operator==(ChunkIndex& other) const { - return x == other.x && y == other.y; - } - - int64_t x, y; + int32_t x, y; }; } @@ -25,9 +21,7 @@ template<> struct std::equal_to<MC::World::ChunkIndex> { }; template<> struct std::hash<MC::World::ChunkIndex> { - std::size_t operator()(const MC::World::ChunkIndex& i) const noexcept { - std::size_t xh = std::hash<int64_t>{}(i.x); - std::size_t yh = std::hash<int64_t>{}(i.y); - return xh ^ (yh << 1); + size_t operator()(const MC::World::ChunkIndex& i) const noexcept { + return ((int64_t)i.x << 32) | i.y; } }; \ No newline at end of file |
