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; } }