diff options
author | Tahg <tahgtahv@gmail.com> | 2011-02-07 00:56:07 -0500 |
---|---|---|
committer | Tahg <tahgtahv@gmail.com> | 2011-02-07 01:33:57 -0500 |
commit | 36295808688ff6360e22846b3a9017740bf36719 (patch) | |
tree | 0f45eb3f78453ba4d0eac858a22e60b15788bb7e /src/main/java/net/minecraft/server/LongHash.java | |
parent | 172db788b329857b2ae4f771b3da9aa454ea548f (diff) | |
download | craftbukkit-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.java | 36 |
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); +} |