    001package net.minecraft.world;
    002
    003import net.minecraft.util.MathHelper;
    004import net.minecraft.util.Vec3;
    005
    006public class ChunkPosition
    007{
    008    /** The x coordinate of this ChunkPosition */
    009    public final int x;
    010
    011    /** The y coordinate of this ChunkPosition */
    012    public final int y;
    013
    014    /** The z coordinate of this ChunkPosition */
    015    public final int z;
    016
    017    public ChunkPosition(int par1, int par2, int par3)
    018    {
    019        this.x = par1;
    020        this.y = par2;
    021        this.z = par3;
    022    }
    023
    024    public ChunkPosition(Vec3 par1Vec3)
    025    {
    026        this(MathHelper.floor_double(par1Vec3.xCoord), MathHelper.floor_double(par1Vec3.yCoord), MathHelper.floor_double(par1Vec3.zCoord));
    027    }
    028
    029    public boolean equals(Object par1Obj)
    030    {
    031        if (!(par1Obj instanceof ChunkPosition))
    032        {
    033            return false;
    034        }
    035        else
    036        {
    037            ChunkPosition chunkposition = (ChunkPosition)par1Obj;
    038            return chunkposition.x == this.x && chunkposition.y == this.y && chunkposition.z == this.z;
    039        }
    040    }
    041
    042    public int hashCode()
    043    {
    044        return this.x * 8976890 + this.y * 981131 + this.z;
    045    }
    046}