package micdoodle8.mods.galacticraft.planets.asteroids.client.render.item;
import micdoodle8.mods.galacticraft.core.Constants;
import micdoodle8.mods.galacticraft.core.wrappers.ModelTransformWrapper;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType;
import net.minecraft.client.resources.model.IBakedModel;
import javax.vecmath.Matrix4f;
import javax.vecmath.Vector3f;
public class ItemModelGrapple extends ModelTransformWrapper
{
public ItemModelGrapple(IBakedModel modelToWrap)
{
super(modelToWrap);
}
@Override
protected Matrix4f getTransformForPerspective(TransformType cameraTransformType)
{
if (cameraTransformType == TransformType.GUI)
{
Matrix4f ret = new Matrix4f();
ret.setIdentity();
Matrix4f mul = new Matrix4f();
mul.setIdentity();
mul.setScale(1.0F);
ret.mul(mul);
mul.setIdentity();
mul.setTranslation(new Vector3f(-0.2F, -0.1F, 0.0F));
ret.mul(mul);
mul.setIdentity();
mul.rotY(Constants.halfPI);
ret.mul(mul);
return ret;
}
if (cameraTransformType == TransformType.THIRD_PERSON)
{
Matrix4f ret = new Matrix4f();
ret.setIdentity();
Matrix4f mul = new Matrix4f();
mul.setIdentity();
mul.setScale(0.4F);
ret.mul(mul);
mul.setIdentity();
mul.setTranslation(new Vector3f(0.3F, -0.1F, 0.0F));
ret.mul(mul);
mul.setIdentity();
mul.rotY((float) (-Math.PI / 2.0F));
mul.rotZ((float) (-Math.PI / 2.0F));
ret.mul(mul);
return ret;
}
if (cameraTransformType == TransformType.FIRST_PERSON)
{
Matrix4f ret = new Matrix4f();
ret.setIdentity();
Matrix4f mul = new Matrix4f();
mul.setIdentity();
mul.setScale(1.8F);
ret.mul(mul);
mul.setIdentity();
mul.setTranslation(new Vector3f(0.4F, 0.0F, -0.0F));
ret.mul(mul);
mul.setIdentity();
mul.rotY((float) (-Math.PI / 1.2F));
// mul.rotZ((float) (-Math.PI / 2.0F));
ret.mul(mul);
return ret;
}
return null;
}
}