package net.minecraft.util;
import net.minecraft.entity.Entity;
public class MovingObjectPosition
{
/** What type of ray trace hit was this? 0 = block, 1 = entity */
public MovingObjectPosition.MovingObjectType typeOfHit;
/** x coordinate of the block ray traced against */
public int blockX;
/** y coordinate of the block ray traced against */
public int blockY;
/** z coordinate of the block ray traced against */
public int blockZ;
/**
* Which side was hit. If its -1 then it went the full length of the ray trace. Bottom = 0, Top = 1, East = 2, West
* = 3, North = 4, South = 5.
*/
public int sideHit;
/** The vector position of the hit */
public Vec3 hitVec;
/** The hit entity */
public Entity entityHit;
private static final String __OBFID = "CL_00000610";
/** Used to determine what sub-segment is hit */
public int subHit = -1;
/** Used to add extra hit info */
public Object hitInfo = null;
public MovingObjectPosition(int p_i2303_1_, int p_i2303_2_, int p_i2303_3_, int p_i2303_4_, Vec3 p_i2303_5_)
{
this(p_i2303_1_, p_i2303_2_, p_i2303_3_, p_i2303_4_, p_i2303_5_, true);
}
public MovingObjectPosition(int p_i45481_1_, int p_i45481_2_, int p_i45481_3_, int p_i45481_4_, Vec3 p_i45481_5_, boolean p_i45481_6_)
{
this.typeOfHit = p_i45481_6_ ? MovingObjectPosition.MovingObjectType.BLOCK : MovingObjectPosition.MovingObjectType.MISS;
this.blockX = p_i45481_1_;
this.blockY = p_i45481_2_;
this.blockZ = p_i45481_3_;
this.sideHit = p_i45481_4_;
this.hitVec = Vec3.createVectorHelper(p_i45481_5_.xCoord, p_i45481_5_.yCoord, p_i45481_5_.zCoord);
}
public MovingObjectPosition(Entity p_i2304_1_)
{
this(p_i2304_1_, Vec3.createVectorHelper(p_i2304_1_.posX, p_i2304_1_.posY, p_i2304_1_.posZ));
}
public MovingObjectPosition(Entity p_i45482_1_, Vec3 p_i45482_2_)
{
this.typeOfHit = MovingObjectPosition.MovingObjectType.ENTITY;
this.entityHit = p_i45482_1_;
this.hitVec = p_i45482_2_;
}
public String toString()
{
return "HitResult{type=" + this.typeOfHit + ", x=" + this.blockX + ", y=" + this.blockY + ", z=" + this.blockZ + ", f=" + this.sideHit + ", pos=" + this.hitVec + ", entity=" + this.entityHit + '}';
}
public static enum MovingObjectType
{
MISS,
BLOCK,
ENTITY;
private static final String __OBFID = "CL_00000611";
}
}