001 package net.minecraft.world; 002 003 public class ChunkCoordIntPair 004 { 005 /** The X position of this Chunk Coordinate Pair */ 006 public final int chunkXPos; 007 008 /** The Z position of this Chunk Coordinate Pair */ 009 public final int chunkZPos; 010 011 public ChunkCoordIntPair(int par1, int par2) 012 { 013 this.chunkXPos = par1; 014 this.chunkZPos = par2; 015 } 016 017 /** 018 * converts a chunk coordinate pair to an integer (suitable for hashing) 019 */ 020 public static long chunkXZ2Int(int par0, int par1) 021 { 022 return (long)par0 & 4294967295L | ((long)par1 & 4294967295L) << 32; 023 } 024 025 public int hashCode() 026 { 027 long var1 = chunkXZ2Int(this.chunkXPos, this.chunkZPos); 028 int var3 = (int)var1; 029 int var4 = (int)(var1 >> 32); 030 return var3 ^ var4; 031 } 032 033 public boolean equals(Object par1Obj) 034 { 035 ChunkCoordIntPair var2 = (ChunkCoordIntPair)par1Obj; 036 return var2.chunkXPos == this.chunkXPos && var2.chunkZPos == this.chunkZPos; 037 } 038 039 public int getCenterXPos() 040 { 041 return (this.chunkXPos << 4) + 8; 042 } 043 044 public int getCenterZPosition() 045 { 046 return (this.chunkZPos << 4) + 8; 047 } 048 049 public ChunkPosition getChunkPosition(int par1) 050 { 051 return new ChunkPosition(this.getCenterXPos(), par1, this.getCenterZPosition()); 052 } 053 054 public String toString() 055 { 056 return "[" + this.chunkXPos + ", " + this.chunkZPos + "]"; 057 } 058 }