package micdoodle8.mods.galacticraft.core.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 ItemModelBuggy extends ModelTransformWrapper { public ItemModelBuggy(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(0.175F); ret.mul(mul); mul.setIdentity(); mul.setTranslation(new Vector3f(0.2F, -0.3F, 0.0F)); ret.mul(mul); mul.setIdentity(); mul.rotY(-0.3F); ret.mul(mul); // mul.setIdentity(); // mul.rotX((float) (Math.PI / 4.0F)); // ret.mul(mul); return ret; } if (cameraTransformType == TransformType.FIRST_PERSON) { Vector3f trans = new Vector3f(0.0F, -0.4F, -0.3F); Matrix4f ret = new Matrix4f(); ret.setIdentity(); Matrix4f mul = new Matrix4f(); mul.setIdentity(); mul.setScale(0.35F); ret.mul(mul); mul.setIdentity(); mul.setTranslation(trans); ret.mul(mul); return ret; } if (cameraTransformType == TransformType.THIRD_PERSON) { Vector3f trans = new Vector3f(0.0F, 0.0F, 0.6F); Matrix4f ret = new Matrix4f(); ret.setIdentity(); Matrix4f mul = new Matrix4f(); mul.setIdentity(); mul.setScale(0.35F); ret.mul(mul); mul.setIdentity(); mul.rotY(Constants.halfPI); ret.mul(mul); mul.setIdentity(); mul.rotX(0.2F); ret.mul(mul); mul.setIdentity(); mul.rotZ(0.5F); ret.mul(mul); mul.setIdentity(); mul.rotZ(-0.65F); ret.mul(mul); mul.setIdentity(); mul.setTranslation(trans); ret.mul(mul); return ret; } return null; } }