Emotecraft (Forge)

Emotecraft (Forge)

4M Downloads

Issues with Figura models that don't use standard player bones and/or bone hierarchies

ElenaNya opened this issue · 6 comments

commented

Describe the issue
There's a dilemma when using Figura together with Emotecraft: emotions can't share / make limbs. But that's not the main issue in my case, just noting it.

My actual problem is with my Blockbench model structure - every part of the model works fine with Emotecraft emotions except for the arms. If I pull the arms out of the Torso folder, everything works, but that solution doesn't fit since too much is already tied to the existing system.

I started considering possible solutions - for example, find / add a way for Figura to detect when an Emotecraft animation is triggered (For example, to make Figura log something that Emotecraft would leave in player NBT (<- for example), similar to how the Carry On mod does it). Actually, besides the ability to fix something, this would open up a lot of possibilities.

My knowledge isn't deep enough to clearly understand who's responsible for locating arms properly in the model - Figura or Emotecraft. But if it's Emotecraft, then its interesting to understand how Emotecraft correctly applied the animation to all parts, but for some reason arms don't work properly in such setup.

To Reproduce
Steps to reproduce the behavior:

  1. Download Emotecraft.
  2. Download Figura.
  3. If a test avatar is needed, you can use "Figured Animations" from the Figura Discord.

Expected behavior
Want to say that it was expected that the emotions would work correctly (though honestly, I'm surprised that everything works, except for the arms).
But this also led to the desire to have a way, let's say, to log with Figura that an animation was activated through Emotecraft, or some other, possibly better solution.

Minecraft version+mod loader

  • Version: [1.21.1]
  • Modded: [NeoForge 21.1.197]
  • Client

Mod version:
[Emotecraft: 2.4.10]
[Figura: 0.1.5]

Additional context
I hope I was able to clarify somewhat - it's a bit of a confusing situation. Plus, due to my limited knowledge, I'm not really sure who to address this to, Emotecraft or Figura. But I saw this as a good opportunity to establish some compatibility between these mods, since I've often seen people wanting to use them together. Beyond my personal issue, there are others as well.

As for my problem, essentially, yes, everything would work if the arms were in the correct folder from the start. But I already have over 80 animations tied to the Torso (Which means that arms are already set up for this as well).
What also seems strange to me is that legs work fine even through a double-folder structure, but arms, for some reason, can't be found automatically by Emotecraft (?).

Image
2025-08-18.21-11-06.mp4
commented

This isn't a priority; I can only say that your bone hierarchy is incorrect, which is why even animations without bends don't work.
@ZigyTheBird might fix the bends in the figures later.

commented

@dima-dencep reopen this since I might look into it

commented

@ElenaNya supporting non-standard bone hierarchies is extremely low priority for us
We could do it, but we probably won't
Maybe you can fix this with a script?
It'd also make sense for Figura to be the one to fix this since Figura is the cause of the issue

body (The parent of all the other bones)
torso
rightArm
leftArm
head
rightLeg
leftLeg

These are all the bones in vanilla MC, every mod uses these
If you add your own in a different hierarchy then obviously that's gonna cause issues, not really our fault
Not only will Emotecraft not work, but every other mod with player animations also won't work!
I think you should just bite the bullet and remake your animations with a more reasonable model

commented

@ElenaNya supporting non-standard bone hierarchies is extremely low priority for us We could do it, but we probably won't Maybe you can fix this with a script? It'd also make sense for Figura to be the one to fix this since Figura is the cause of the issue

body (The parent of all the other bones) torso rightArm leftArm head rightLeg leftLeg

These are all the bones in vanilla MC, every mod uses these If you add your own in a different hierarchy then obviously that's gonna cause issues, not really our fault Not only will Emotecraft not work, but every other mod with player animations also won't work! I think you should just bite the bullet and remake your animations with a more reasonable model

Thanks for the reply! It just seemed strange to me that if the arms are inside the torso, then arms don't work, but I guess that makes sense.
I could generally fix this through a Figura script if I had a way to somehow log with Figura when an animation from Emotecraft is playing, and then change the attachment point or something like that. That's more of something I’d have to think through in more detail myself, If it's possible to somehow create a trigger that an Emotecraft animation is currently playing

commented

For context, for example, to check if Carry On is currently active, I use this kind of structure in Figura:

if client.isModLoaded("carryon") then
animations.model.mod_carryon:playing(player:getNbt().CarryOnData.type ~= "INVALID")
end

commented

Honestly, I don't know what you'll be able to do if we start writing anything into NBT or elsewhere.
Doesn't Figura have something like reflection or JNI?