# [1.17.1] Apply rotations to ModelPart in different order

## Recommended Posts

Hello! I want to add tilted ears to some animals. Under ideal circumstances, I'd just modelPart.zRot = t. However, the rotation around the z axis is applied before the other rotations, which makes a big mess of everything.

As far as I can tell, transformation of the matrix M represented by the PoseStack to the result R depending on the rotation matrices X, Y, Z and the translation matrix P is applied as such: R=XYZPM. My solution prior to 1.17 was to extend ModelRenderer and apply the transformations in the order ZXYPM - solving the problem very simply. But since ModelPart - the 1.17 counterpart to the old ModelRenderer - is final, I see no such simple solution.

I see two possible approaches:

1. Denote T=XYZP. Apply T^-1(ZXYP) to the PoseStack before I ModelPart#render. The ModelPart will then apply T, resulting in my desired ZXYP  transformation. No problem in theory, but quite convoluted in practice.
2. Consider Z(z)X(x)Y(y). Do some linear algebra and trigonometry to find out (s,t,u) such that X(s)Y(t)Z(u)=Z(z)X(x)Y(y), then ModelPart#setRotation(s,t,u). I haven't done the math on this, so I'm not sure how feasible this is.

Anyone got a simpler solution? Or should I rather do a feature request to make ModelPart not final?

##### Share on other sites

7 hours ago, Anrza said:

My solution prior to 1.17 was to extend ModelRenderer and apply the transformations in the order ZXYPM - solving the problem very simply. But since ModelPart - the 1.17 counterpart to the old ModelRenderer - is final

you can use Access Transformer to remove the final modifier from the class

Edited by Luis_ST
##### Share on other sites

I must've struck gold if the recommendation is to use access transformers. Thanks.

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.

×   Pasted as rich text.   Restore formatting

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

• ### Posts

• So im full into world generation right now, carving shit for a dimension I'm doing. I understand what the CarvingMask is, if i understand correctly, an array of bits that, for each chunk, marks wether the block the bit represent is (1) or isn't (0) carved. But I'm not seeing what uses it can have. Under what circumstances is good to make and keep track of a carvingmask?
• Yes, it is possible. You should develop the API as a separate project. Wether you want your mod to have the API integrated or have a dependency on it is up to you. I'd say that for testing the API integration, you should have it separated and add it as a dependency to your mod (at least, thats how I've done it in the past).   I recall there is also option to compile different parts of your project on different jars. Either way, thats more of a forgegradle question, if i understand it correctly
• Get the latest drivers from their website - do not update via system
• https://paste.ee/p/2yikd  After installing curse forge and running 1.20.1 with 0 mods, only forge 47.3.1, this report is being yielded. Vanilla minecraft is not crashing, and I initially thought it was a mod issue, but it is clear now there is some sort of interaction between forge and my computer occurring.  Here are my computer specs for anyone wondering: TUF gaming A15 ASUS running Windows 11 Processor: AMD Ryzen 7 4800H with Radeon Graphics, fully updated (31.0.12014.6) Graphics: NVIDIA GeFORCE GTX 1660 Ti, fully updated game-ready drivers (32.0.15.5599)  I have been told this an error code related to graphics drivers, but both my integrated and dedicated drivers are entirely up to date. My AMD drivers have no version to roll back to and have never previously encountered this issue. I am seriously confused by this because I have never had an issue with running forge in the past and frequently play modded MC. This issue was exactly the same when I ran 1.19.2 with Forge version 43.2.0,  again with no mods.  Please help!!

• ### Who's Online (See full list)

×

• #### Activity

×
• Create New...