    001    package net.minecraft.world;
    002
    003    import net.minecraft.util.MathHelper;
    004    import net.minecraft.util.Vec3;
    005
    006    public 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 var2 = (ChunkPosition)par1Obj;
    038                return var2.x == this.x && var2.y == this.y && var2.z == this.z;
    039            }
    040        }
    041
    042        public int hashCode()
    043        {
    044            return this.x * 8976890 + this.y * 981131 + this.z;
    045        }
    046    }