MineLittlePony/src/client/java/com/minelittlepony/client/render/FrustrumCheck.java

41 lines
1 KiB
Java
Raw Normal View History

2019-03-23 20:49:34 +01:00
package com.minelittlepony.client.render;
import net.minecraft.client.renderer.culling.ICamera;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.math.AxisAlignedBB;
2019-03-23 20:49:34 +01:00
import com.minelittlepony.common.pony.IPony;
public class FrustrumCheck<T extends EntityLivingBase> implements ICamera {
private T entity;
private ICamera vanilla;
private final RenderPony<T> renderer;
public FrustrumCheck(RenderPony<T> render) {
renderer = render;
}
public ICamera withCamera(T entity, ICamera vanillaFrustrum) {
this.entity = entity;
vanilla = vanillaFrustrum;
return this;
}
@Override
public boolean isBoundingBoxInFrustum(AxisAlignedBB bounds) {
IPony pony = renderer.getPony(entity);
AxisAlignedBB boundingBox = pony.getComputedBoundingBox(entity);
return vanilla.isBoundingBoxInFrustum(boundingBox);
}
@Override
public void setPosition(double x, double y, double z) {
vanilla.setPosition(x, y, z);
}
}