MC-WIKI.net
[EMF] Entity Model Features Wiki › Guides › Tuning Model Loading, OptiFine Compatibility, and Animation Behavior in EMF

Tuning Model Loading, OptiFine Compatibility, and Animation Behavior in EMF

guide

EMF (Entity Model Features) provides a set of settings that control how custom entity models are loaded, how closely the mod mirrors OptiFine behavior, and how animations are rendered and optimized. This guide covers the model loading options, OptiFine compatibility fixes, player, parrot, and chest corrections, and the animation behavior and performance settings available through the mod's interface.

Model Loading and Compatibility

The model interaction setting determines which models EMF tries to interact with. You can limit it to Known only (Mostly Vanilla / OptiFine) or Unknown only (Mostly Modded). This is not perfect, since some mods use vanilla namespace IDs that EMF cannot distinguish.

optifine fallback properties makes EMF load a fallback `.properties` file when the regular one is missing — for example, a baby pig model falling back to the base pig properties. OptiFine only works with these fallbacks and does not allow per-model properties the way EMF does.

optifine subfolders enforces OptiFine's rule that subfolder model files only load if that model variates. variation base requires a base model for variation, so a numbered variant will not load without its base counterpart. optifine syntax enforces OptiFine's CEM animation syntax limits, such as bone IDs not starting with underscores or numbers, and invalidates animations that break these rules. A related setting floors all UV values in custom box UVs to whole numbers, matching OptiFine, and logs models that do not comply.

force models tries to prevent other mods from overriding EMF's models, though it will not work with every mod. ebe config modify lets EMF adjust the Enhanced Block Entities mod config to disable EBE for block entities that have a custom EMF model loaded. EMF cannot re-enable those settings automatically.

Player, Parrot, and Chest Fixes

parrot shoulder animate makes a parrot on your shoulder follow your player animations. By default it aligns the parrot position to the animated player position, which is not the same as the `parrot_left` and `parrot_right` attachment points, since those do not rotate.

armor hack restores the older behavior where armor copies the custom animations of the base model, which no longer happens naturally in newer versions. only client restricts custom player models to your own player, ignoring others in multiplayer. prevent hand stops custom EMF animations from playing on the first person hand model. Reset player model every render clears vanilla part transforms before each render, which greatly improves compatibility between animation packs and mods that alter player animations.

double chest fix suppresses the excessive log spam caused by splitting the large chest model into two halves, and partially corrects animations that reference the opposite chest side. Keeping left and right half animations separate is still recommended.

Animation Behavior and Performance

asmmaths controls compiled animation math. You almost always want this on; disabling it falls back to a slower expression tree that is mainly useful for debugging. animate once makes entity models animate only once per entity rendered, which is normal in game but can cause flickering for mobs shown in inventory screens. Sulfur Cube block default animation makes the internal blocks animate by default.

Animation LOD distance sets how far away animations begin skipping frames to improve performance. Lower values skip more frames. large mob lod softens this effect based on mob size, and low fps lod softens it based on your framerate below 60 fps. iris shadow skip prevents the model from animating twice per frame for both the render and shadow pass, and should always be on.

logASM logs compiled math state but causes log spam and is only needed when a developer requests it. log math prints animation calculations and is extremely lag-inducing. log models prints model construction data. The model debug export options print part information or complete `.jem` files for accessible models on every reload, saved to the export directory and ready for Blockbench. Show reload error toast displays a toast when errors occur during a resource reload, and the debug options let you re-log loading errors with or without a stacktrace.

Debug Controls

Show EMF debug data on entity right click prints debug info to the log and chat when you right click an entity. Debug render only on hover limits the render debug setting to the entity you are directly looking at.