[2.1.1]
- now requires ETF 6.1.3 or newer
- added new EMFAnimationAPI methods to allow other mods to:
- pause/resume entire custom model animations for an entity
- pause/resume individual custom model parts from animations for an entity
- lock/unlock an entity to only use their vanilla models
- utility methods to cast Entity and BlockEntity into the EMFEntity interface these will allow other mods to inhibit EMF animations and models for specific entities when required e.g. for emotes
- fixed EMF applying values to the last part with the given id as opposed to the first (OptiFine parity)
- fixed the
scalemodel part default setting not correctly applying on mobs with new format animations like wardens & frogs - fixed a crash when exporting models in 1.21
- fixed a
not buildingcrash in 1.21 - fixed the
rootpart not appearing in model exports - fixed a bug where item attachments could carry over to other mob renders
- fixed the ender dragon
spinepart not rendering when having a texture override - the setting that allows EMF to disable EBE settings, when custom block entity models are loaded, now has a much more verbose and informative display in the EMF config warning screen
- fixed the modded model export log using the old
moddeddirectory format, the export log now also gives a full path for the jem starting from the assets folder - model exports are now placed inside the
emf/export/assets/folder in the.minecraftdirectory with a fully correct and namespaced path starting from the assets folder - fixed the vanilla banner model waving adding on top of EMF animations due to vanilla banners being rendered in multiple stages
- changed
pifrom 3.1415926 to 3.1415927 to match vanilla pi usage and seems to match OptiFine despite the docs - changed various math methods such as
sin() & cos()to no longer use java.lang.Math and instead use Minecraft internal math class - the above 2 changes fixed vindicators in fa 1.9.1
- added support for
inner_armor.jem&outer_armor.jemas fallbacks if an entity specific armor model is not found, e.g.zombie_inner_armor.jem&zombie_outer_armor.jem - fixed some missing mobs support for the
is_aggressivevariable - changed the
height_above_groundvariable to detect blocks with standable top surfaces not just solid blocks - fixed a bug causing some block entity model texture overrides to appear in first person view in their iris shader shadow pass position
- added an optimization option that will skip recalculating entity model animations during the iris shadow pass, on by default, and should always stay on, it is only an option in case of future breaking iris api changes or weird behaviour with iris ports.
- fixed the trident model part declaring additional parts in the OptiFine mapping by accident, which could cause vanilla trident parts to re-appear in many custom trident models
2.0.2
- fixed the first person hand settings not getting reset correctly in 2.0.1
- added the
is_swinging_right_arm&is_swinging_left_armboolean variables, used to distinguish right and left arm swinging in biped models, if no arm is swinging both should be false, ifswing_progress > 0then one of these should be true. - added support for an optional
player_cape.jemmodel file to be used for better animating the player capeplayer_cape.jemonly contains acloakpart, positioned exactly as it is in the regularplayer.jem, if this model is present it will render in a special way that will not apply the vanilla animations to the cape. Allowing much easier custom animations (note this jem file can not be exported by the EMF config, but theplayer.jemexported model will work perfectly for it, as of v2.0.2)
The only transforms EMF applies to player_cape.jem before rendering & custom animating is:
- rotating the cape 180 degrees around the
yaxis. (matching vanilla) - translating the cape 2 pixels backwards. (matching vanilla)
- translating the cape a further 1 pixel backwards & upwards if the player has a chest-plate on. (matching vanilla)
No other rotations or translations are applied to the cape, allowing for fully custom animations.
The cloak part inside the regular player.jem will render if player_cape.jem is not present, but will not benefit from having its vanilla animation cancelled by EMF
![[EMF] Entity Model Features](https://cdn.modrinth.com/data/4I1XuqiY/6e5bbd0d06b1741bfdab6c0cfab6de8fdaf0064c_96.webp)

