package net.minecraft.client.renderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Comparator;
import net.minecraft.entity.Entity;
@SideOnly(Side.CLIENT)
public class EntitySorter implements Comparator
{
/** Entity position X */
private double entityPosX;
/** Entity position Y */
private double entityPosY;
/** Entity position Z */
private double entityPosZ;
public EntitySorter(Entity par1Entity)
{
this.entityPosX = -par1Entity.posX;
this.entityPosY = -par1Entity.posY;
this.entityPosZ = -par1Entity.posZ;
}
/**
* Sorts the two world renderers according to their distance to a given entity.
*/
public int sortByDistanceToEntity(WorldRenderer par1WorldRenderer, WorldRenderer par2WorldRenderer)
{
double var3 = (double)par1WorldRenderer.posXPlus + this.entityPosX;
double var5 = (double)par1WorldRenderer.posYPlus + this.entityPosY;
double var7 = (double)par1WorldRenderer.posZPlus + this.entityPosZ;
double var9 = (double)par2WorldRenderer.posXPlus + this.entityPosX;
double var11 = (double)par2WorldRenderer.posYPlus + this.entityPosY;
double var13 = (double)par2WorldRenderer.posZPlus + this.entityPosZ;
return (int)((var3 * var3 + var5 * var5 + var7 * var7 - (var9 * var9 + var11 * var11 + var13 * var13)) * 1024.0D);
}
public int compare(Object par1Obj, Object par2Obj)
{
return this.sortByDistanceToEntity((WorldRenderer)par1Obj, (WorldRenderer)par2Obj);
}
}