Entity Model Features

A client-side mod by Traben that loads OptiFine-format Custom Entity Models, the packs that reshape and animate mobs. It is what makes Fresh Animations move without OptiFine, and it works as a pair with its texture companion, Entity Texture Features.

97M+ Downloads by Traben

About Entity Model Features

Entity Model Features (EMF) is Traben's companion to Entity Texture Features. It loads Custom Entity Models, OptiFine's resource-pack format for reshaping mobs and animating them. Packs like Fresh Animations consist almost entirely of model and animation files, and vanilla Minecraft ignores every one of them. EMF reads those files on Fabric, Quilt, NeoForge and Forge, so a player running Sodium and Iris can use the same packs that once required OptiFine.

What a CEM pack actually contains

A Custom Entity Models pack swaps an entity's model for a .jem file: a list of boxes, pivots and texture coordinates that define its shape. Each part of the model can carry animation expressions, short formulas that move a limb according to what the mob is doing: how fast it walks, where its head points, whether it is in water, how much health it has left. Because these formulas are evaluated as the mob moves rather than played back as recorded clips, a well-made pack reacts to the world. That is where Fresh Animations' gesturing villagers and staggering skeletons come from.

EMF's author states the aim as nearly one-to-one parity with OptiFine, and most packs written for OptiFine work unchanged. The documented differences are narrow: some animation variables for block entities and non-living entities may return different values than OptiFine's, sprites are not supported, and trident models cannot declare texture overrides. If a pack misbehaves in one of those corners, the difference is known rather than a bug in your setup.

Why ETF has to come along

EMF will not start without Entity Texture Features. It relies on ETF for choosing random models, for texture changes inside a single model and for its settings screen, which is why the two appear together in every install guide for animated packs. The versions are tied as well. The current EMF 3.3 series requires ETF 7.2 or newer, and ETF 7.2 refuses EMF releases older than 3.3, so updating one without the other is a common cause of a crash at launch.

Put simply, ETF decides how a mob's surface looks and EMF decides its shape and movement. A pack that ships only textures needs ETF alone. A pack with .jem files needs both.

What EMF can do that OptiFine cannot

  • Player models. player.jem, player_slim.jem and player_cape.jem let a pack animate players, which is why Fresh Animations' Player Extension works with EMF only. A setting applies custom player models to your own character alone in multiplayer.
  • Armor models for humanoid mobs, as separate inner and outer armor files.
  • Shield, elytra and trident spin-attack models, none of which OptiFine's CEM covers.
  • Modded entities. EMF detects the models of mobs added by other mods, so pack makers can target them too.
  • A larger animation toolkit: variables such as is_climbing, is_crawling, distance and fluid_depth, keyframe functions and more than thirty easing curves.

Under OptiFine, the parts of a pack that rely on these features simply do not apply. That is a limit of OptiFine's format rather than a broken pack.

Settings that affect frame rate

Animation formulas run for every custom-modelled mob on screen, so the cost grows with crowds: a village, a mob farm, a busy server spawn. EMF's performance options work on exactly that. Animation LOD distance skips animation frames for mobs far from you. At 16, one frame is skipped for every 16 blocks of distance, lower values skip more, and None turns it off. Retain LOD for larger mobs and Retain LOD at low fps soften the effect where missing frames would be easy to spot, on big mobs and below 60 fps.

Model update rate controls how often a model refreshes for changes such as health and age, from Never to Instant. The tooltip warns that Instant can lag with hundreds of mobs. With Iris installed, EMF avoids animating each model twice per frame when Iris renders shadows, an option its author says should always stay on. The project page also recommends Entity Culling alongside animation-heavy packs, because a mob that is never drawn needs no animation.

Tools for pack makers

EMF includes tools OptiFine never offered. Any model it knows can be exported as a .jem file ready for Blockbench, with correct pivots and UV coordinates, from Models, then All models, then that model's entry. Exports land in emf/export inside the game directory, and a batch mode exports every model, or only the unknown ones, on each resource reload. A debug render mode flashes custom parts green or draws them as wireframes over the texture. After a reload with errors, a notification says so, and a button prints every loading error to the log again.

Conflicts worth knowing

  • OptiFine and OptiFabric. EMF declares both incompatible. One installation uses EMF or OptiFine, never both.
  • dorianpb's CEM mod, an older Fabric implementation of the same format, is also marked incompatible.
  • Enhanced Block Entities. When a pack gives a chest or bed a custom model, an EMF option can switch off EBE's handling for that block entity so the model shows. EMF reports which settings it changed and cannot switch them back on for you.
  • Armor since Minecraft 1.21.9. Armor no longer copies a mob's custom animations by itself. The option Armor copies custom animations restores the older behaviour.

When another mod changes the same model

Other mods sometimes replace a vanilla model too, for a better-looking animal or a new animation of their own, and then two mods compete for the same entity. EMF has two options aimed at this. Allowed models decides which models EMF touches at all: every model, only the known vanilla and OptiFine ones, or only the unknown, mostly modded ones. Try to prevent EMF models being overridden pushes entity renderers to use EMF's version, which can win back a model another mod changed, although the tooltip is candid that it will not work with every mod.

Two settings exist purely for OptiFine quirks that some packs depend on. One makes a missing pig_baby.properties fall back to pig.properties, as OptiFine does. Another enforces OptiFine's stricter animation syntax. If a pack behaves differently under EMF than it did under OptiFine, those are worth a look before reporting a bug.

Versions and loaders

EMF has builds from Minecraft 1.18.2 to 26.3. Fabric builds also load on Quilt, and NeoForge is covered on every recent version. Forge support ends with 1.21.11, so players on Minecraft 26.x use the Fabric or NeoForge file. EMF is client-side: nothing goes on the server, and other players see ordinary mobs unless they run it too.

EMF is always installed as a pair with ETF, and the two must be built for the same Minecraft version and the same loader.

How to Download Entity Model Features for Minecraft

In the Entity Model Features Downloads section, narrow the table to your Minecraft version and loader, then use that row's Download button, which opens the exact EMF file on Modrinth. On Quilt, the Fabric row is the right one.

How to Install Entity Model Features in Minecraft

  1. Set up a Fabric, NeoForge or Forge profile for your Minecraft version and launch it once so its folders exist.
  2. Download ETF from the Entity Texture Features Downloads section, choosing the same Minecraft version and loader as your EMF file. Current EMF (3.3 and newer) needs ETF 7.2 or newer, so update the two together.
  3. Put both jars, EMF and ETF, into the profile's mods folder. Neither needs Fabric API.
  4. Remove OptiFine or OptiFabric from that folder if either is there. EMF will not run beside them.
  5. Launch, then enable your CEM pack from the Resource Packs screen under Options. Fresh Animations installs this way.

Switching from OptiFine

Nothing about the pack changes. EMF reads the same .jem files OptiFine did, so the pack you already have is the one to enable. If you used OptiFine for shaders too, Iris takes over that job and runs happily next to EMF.

Checking that it loaded

Find a mob your pack animates and watch it move. With Fresh Animations, villagers and pillagers are the easiest test, since they were among the first mobs it covered. Stiff mobs with the vanilla shape mean the models are not being read: check that both mods are in the mod list, that the pack is enabled, and that no other resource pack above it replaces the same mobs.

If EMF shows a notification about loading errors after the pack loads, the pack has models it could not read. The option to log all loading errors again, in EMF's model settings, prints them in full. For a crash on launch, first compare the EMF and ETF versions, then see mods that are not working.

Download Entity Model Features

Release status VersionMinecraft version Platform / LoaderReleased Download
3.3.8-fabric-26.3Latest versionRelease 26.3 Fabric, Quilt Download
3.3.8-neoforge-26.3Latest versionRelease 26.3 NeoForge Download
3.3.8-neoforge-26.2Release 26.2 NeoForge Download
3.3.8-fabric-26.2Release 26.2 Fabric, Quilt Download
3.3.8-neoforge-26.1Release 26.1.2–26.1 NeoForge Download
3.3.8-fabric-26.1Release 26.1.2–26.1 Fabric, Quilt Download
3.3.8-neoforge-1.21.11Release 1.21.11 NeoForge Download
3.3.8-forge-1.21.11Release 1.21.11 Forge Download
3.3.8-fabric-1.21.11Release 1.21.11 Fabric, Quilt Download
3.3.8-neoforge-1.21.9Release 1.21.10–1.21.9 NeoForge Download
3.3.8-forge-1.21.9Release 1.21.10–1.21.9 Forge Download
3.3.8-fabric-1.21.9Release 1.21.10–1.21.9 Fabric, Quilt Download
3.3.8-neoforge-1.21.6Release 1.21.8–1.21.6 NeoForge Download
3.3.8-forge-1.21.6Release 1.21.8–1.21.6 Forge Download
3.3.8-fabric-1.21.6Release 1.21.8–1.21.6 Fabric, Quilt Download
3.3.8-neoforge-1.21.5Release 1.21.5 NeoForge Download
3.3.8-fabric-1.21.5Release 1.21.5 Fabric, Quilt Download
3.3.8-forge-1.21.5Release 1.21.5 Forge Download
3.3.8-neoforge-1.21.4Release 1.21.4 NeoForge Download
3.3.8-forge-1.21.4Release 1.21.4 Forge Download
3.3.8-fabric-1.21.4Release 1.21.4 Fabric, Quilt Download
3.3.8-neoforge-1.21.3Release 1.21.3–1.21.2 NeoForge Download
3.3.8-forge-1.21.3Release 1.21.3–1.21.2 Forge Download
3.3.8-fabric-1.21.3Release 1.21.3–1.21.2 Fabric, Quilt Download
3.3.9-neoforge-1.21Release 1.21.1–1.21 NeoForge Download
3.3.9-forge-1.21Release 1.21.1–1.21 Forge Download
3.3.9-fabric-1.21Release 1.21.1–1.21 Fabric, Quilt Download
3.0.17-fabric-1.20.6Release 1.20.6 Fabric, Quilt Download
3.0.17-neoforge-1.20.6Release 1.20.6 NeoForge Download
3.0.17-forge-1.20.6Release 1.20.6 Forge Download
2.2Release 1.20.5 Fabric, Quilt Download
2.2Release 1.20.5 Forge Download
2.2Release 1.20.5 NeoForge Download
3.0.17-fabric-1.20.4Release 1.20.4 Fabric, Quilt Download
3.0.17-neoforge-1.20.4Release 1.20.4 NeoForge Download
3.0.17-forge-1.20.4Release 1.20.4 Forge Download
2.2Release 1.20.3 Fabric, Quilt Download
2.2Release 1.20.3 Forge Download
3.0.17-fabric-1.20.2Release 1.20.2 Fabric, Quilt Download
3.0.17-neoforge-1.20.2Release 1.20.2 NeoForge Download
3.0.17-forge-1.20.2Release 1.20.2 Forge Download
3.3.9-forge-1.20.1Release 1.20.1–1.20 Forge Download
3.3.9-fabric-1.20.1Release 1.20.1–1.20 Fabric, Quilt Download
3.2.2-forge-1.20.1Release 1.20.1 NeoForge Download
2.0.2Release 1.19.4 Fabric, Quilt Download
2.0.2Release 1.19.4 Forge Download
1.0.2Release 1.19.3 Fabric, Quilt Download
1.0.2Release 1.19.3 Forge Download
2.0.2Release 1.19.2 Fabric, Quilt Download
2.0.2Release 1.19.2 Forge Download
2.0.2Release 1.18.2 Fabric, Quilt Download
2.0.2Release 1.18.2 Forge Download

FAQ

Does Entity Model Features work without ETF?

No. EMF uses ETF for random models, texture variation and its settings screen, and will not start without it. Current EMF (3.3 and newer) needs ETF 7.2 or newer.

Can I use EMF and OptiFine together?

No. EMF declares OptiFine and OptiFabric incompatible. Use EMF with ETF on Fabric, NeoForge or Forge, or use OptiFine alone.

Does EMF work with Iris shaders?

Yes. The EMF project's screenshots include Fresh Animations under Iris shaders, and EMF skips re-animating models for the Iris shadow pass to save work.

Why are my mobs not animated with Fresh Animations installed?

The usual causes are a missing ETF, EMF and ETF versions that do not match, or OptiFine still being present. Confirm both mods load, the pack is enabled, and nothing else in the mods folder replaces entity models.

Does EMF support custom player models?

Yes, through player.jem, player_slim.jem and player_cape.jem. OptiFine does not support these, which is why player animation packs require EMF.

Does EMF reduce FPS?

Animated models take work for every mob drawn, so the cost depends on how many are on screen. The Animation LOD distance and Model update rate settings reduce that work, and the project recommends Entity Culling alongside animation-heavy packs.

Is EMF available for Forge?

Yes, for Minecraft versions through 1.21.11. For the 26.x releases, EMF is published for Fabric and NeoForge.

Do other players need EMF to see my animated mobs?

Each player sees models only if their own game runs EMF and the pack. Nothing is installed on the server, and players without it see vanilla mobs.

Related
Mod · NeoForge / Fabric

Entity Texture Features

Traben's client-side mod that lets resource packs texture mobs the way OptiFine packs do: random and conditional mob variants, glowing emissive layers, blinking eyes and optional player-skin effects. It changes textures only, and custom mob models are the job of its companion mod, Entity Model Features.

Mod · Fabric / Quilt

Continuity

A client-side Fabric mod that reads the OptiFine formats resource packs use for connected textures, block emissive textures and custom block layers, so those packs work alongside Sodium and Iris. It changes nothing by itself: the effect comes from a pack, including two built-in ones that start switched off.

Mod · Fabric / NeoForge

Distant Horizons

Distant Horizons is a client-side Minecraft mod that renders simplified Level-of-Detail terrain far beyond your normal render distance, replacing the fog wall with actual landscape at a fraction of the cost of loading real chunks. It builds that terrain from areas you have explored and caches it per world. Shaders work with it only when the shaderpack itself supports Distant Horizons.