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.EntityLiving;
@SideOnly(Side.CLIENT)
public class RenderSorter implements Comparator
{
/** The entity (usually the player) that the camera is inside. */
private EntityLiving baseEntity;
public RenderSorter(EntityLiving par1EntityLiving)
{
this.baseEntity = par1EntityLiving;
}
public int doCompare(WorldRenderer par1WorldRenderer, WorldRenderer par2WorldRenderer)
{
if (par1WorldRenderer.isInFrustum && !par2WorldRenderer.isInFrustum)
{
return 1;
}
else if (par2WorldRenderer.isInFrustum && !par1WorldRenderer.isInFrustum)
{
return -1;
}
else
{
double var3 = (double)par1WorldRenderer.distanceToEntitySquared(this.baseEntity);
double var5 = (double)par2WorldRenderer.distanceToEntitySquared(this.baseEntity);
return var3 < var5 ? 1 : (var3 > var5 ? -1 : (par1WorldRenderer.chunkIndex < par2WorldRenderer.chunkIndex ? 1 : -1));
}
}
public int compare(Object par1Obj, Object par2Obj)
{
return this.doCompare((WorldRenderer)par1Obj, (WorldRenderer)par2Obj);
}
}