EntityUtilities.java
1.15 KB
package com.mumfrey.liteloader.util;
import net.minecraft.entity.Entity;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
public abstract class EntityUtilities
{
public static MovingObjectPosition rayTraceFromEntity(Entity entity, double traceDistance, float partialTicks)
{
Vec3 var4 = EntityUtilities.getPositionEyes(entity, partialTicks);
Vec3 var5 = entity.getLook(partialTicks);
Vec3 var6 = var4.addVector(var5.xCoord * traceDistance, var5.yCoord * traceDistance, var5.zCoord * traceDistance);
return entity.worldObj.rayTraceBlocks(var4, var6, false, false, true);
}
public static Vec3 getPositionEyes(Entity entity, float partialTicks)
{
if (partialTicks == 1.0F)
{
return new Vec3(entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ);
}
double interpX = entity.prevPosX + (entity.posX - entity.prevPosX) * partialTicks;
double interpY = entity.prevPosY + (entity.posY - entity.prevPosY) * partialTicks + entity.getEyeHeight();
double interpZ = entity.prevPosZ + (entity.posZ - entity.prevPosZ) * partialTicks;
return new Vec3(interpX, interpY, interpZ);
}
}