--- a/net/minecraft/client/renderer/TransformationMatrix.java +++ b/net/minecraft/client/renderer/TransformationMatrix.java @@ -9,7 +9,7 @@ import org.apache.commons.lang3.tuple.Triple; @OnlyIn(Dist.CLIENT) -public final class TransformationMatrix { +public final class TransformationMatrix implements net.minecraftforge.client.extensions.IForgeTransformationMatrix { private final Matrix4f field_227976_a_; private boolean field_227977_b_; @Nullable @@ -133,4 +133,32 @@ public int hashCode() { return Objects.hash(this.field_227976_a_); } + + // FORGE START + public Vector3f getTranslation() { + func_227990_e_(); + return field_227978_c_.func_229195_e_(); + } + public Vector3f getScale() { + func_227990_e_(); + return field_227980_e_.func_229195_e_(); + } + + public Quaternion getRightRot() { + func_227990_e_(); + return field_227981_f_.func_227068_g_(); + } + + private Matrix3f normalTransform = null; + public Matrix3f getNormalMatrix() { + checkNormalTransform(); + return normalTransform; + } + private void checkNormalTransform() { + if (normalTransform == null) { + normalTransform = new Matrix3f(field_227976_a_); + normalTransform.func_226123_f_(); + normalTransform.func_226110_a_(); + } + } }