summary refs log tree commit diff
path: root/src/World/ChunkIndex.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/World/ChunkIndex.hpp')
-rw-r--r--src/World/ChunkIndex.hpp14
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