summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/LongHash.java
diff options
context:
space:
mode:
authorTahg <tahgtahv@gmail.com>2011-02-07 00:56:07 -0500
committerTahg <tahgtahv@gmail.com>2011-02-07 01:33:57 -0500
commit36295808688ff6360e22846b3a9017740bf36719 (patch)
tree0f45eb3f78453ba4d0eac858a22e60b15788bb7e /src/main/java/net/minecraft/server/LongHash.java
parent172db788b329857b2ae4f771b3da9aa454ea548f (diff)
downloadcraftbukkit-36295808688ff6360e22846b3a9017740bf36719.tar
craftbukkit-36295808688ff6360e22846b3a9017740bf36719.tar.gz
craftbukkit-36295808688ff6360e22846b3a9017740bf36719.tar.lz
craftbukkit-36295808688ff6360e22846b3a9017740bf36719.tar.xz
craftbukkit-36295808688ff6360e22846b3a9017740bf36719.zip
Chunk fetching improvements
Diffstat (limited to 'src/main/java/net/minecraft/server/LongHash.java')
-rw-r--r--src/main/java/net/minecraft/server/LongHash.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/LongHash.java b/src/main/java/net/minecraft/server/LongHash.java
new file mode 100644
index 00000000..06da49ab
--- /dev/null
+++ b/src/main/java/net/minecraft/server/LongHash.java
@@ -0,0 +1,36 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package net.minecraft.server;
+
+/**
+ *
+ * @author Nathan
+ */
+public abstract class LongHash<V> {
+ static long toLong(int msw, int lsw) {
+ return ((long)msw << 32) + lsw - Integer.MIN_VALUE;
+ }
+
+ static int msw(long l) {
+ return (int) (l >> 32);
+ }
+
+ static int lsw(long l) {
+ return (int) (l & 0xFFFFFFFF) + Integer.MIN_VALUE;
+ }
+
+ public boolean containsKey(int msw, int lsw) {
+ return containsKey(toLong(msw, lsw));
+ }
+
+ public void remove(int msw, int lsw) {
+ remove(toLong(msw, lsw));
+ }
+
+ public abstract boolean containsKey(long key);
+
+ public abstract void remove(long key);
+}