MCPcopy Index your code
hub / github.com/Traben-0/Entity_Model_Features

github.com/Traben-0/Entity_Model_Features @v3.2.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.2.4 ↗ · + Follow
1,294 symbols 3,356 edges 153 files 37 documented · 3% updated 39d agov1.0 · 2023-09-16★ 134253 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

EMF icon

Entity Model Features

Modrinth downloads CurseForge downloads

Enviroment Discord

Ko-fi

Entity Model Features (EMF) is a Fabric, Quilt & Forge mod that adds support for OptiFine's Custom Entity Models (CEM).

It's designed for anyone who wants to use the CEM resource pack features but also use mods such as Sodium, Continuity or ETF.

EMF in use

Required Mods

Please also install the below mods if you can, the obvious ones such as Sodium are not mentioned.

It should also go without saying EMF is NOT compatible with dorianpb's CEM and OptiFabric.

Required

  • Entity Texture Features (ETF): EMF uses several features from my other mod ETF, so it is required. (primarily used to support the random model feature, the config screen, and allow textures set in models to vary like in OptiFine)

Highly recommended

  • Entity Culling: This mod does wonders for reducing entity rendering lag, doing even more than Sodium's included entity culling. This is very beneficial when using animation heavy packs like Fresh Animations.

Fresh Animations?

Yes.

it works :)

Download Fresh Animations

Features & OptiFine differences & Known Bugs

Up-to-date feature details page : Features & Optifine differences

FAQ

Q: Do all OptiFine CEM resource packs work?

A: Most packs work fine, but I'm sure there are some exceptions, report any found issues here, or on my discord.

Q: What's different between EMF and dorianpb's CEM?

A: EMF is in a complete state and has a nearly 1 to 1 parity with OptiFine CEM, EMF also does a few extra things like player animations and armor model support, with more ideas on the way :)

EMF also does things differently under the hood with little to no hardcoding of support for vanilla models. Allowing full CEM support for various modded entities.

Q: Backports?

A: Backports to 1.18 & 1.19 are planned. Backports to version 1.17 and below are not planned at this time.

License

EMF is licensed under the GNU Lesser Public License, version 3.0

Extension points exported contracts — how you extend this code

EMFEntity (Interface)
This interface is applied to all entities that are used in the Entity Model Features system. EMF itself applies these to [4 …
src/main/java/traben/entity_model_features/utils/EMFEntity.java
MathComponent (Interface)
(no doc) [6 implementers]
src/main/java/traben/entity_model_features/models/animation/math/expression_tree/MathComponent.java
ResultSupplier (Interface)
This is simply a Supplier It is declared separately for the sake of code clarity and to avoid confusion w [2 implementers]
src/main/java/traben/entity_model_features/models/animation/math/expression_tree/MathValue.java
ASMVisitable (Interface)
(no doc) [4 implementers]
src/main/java/traben/entity_model_features/models/animation/math/asm/ASMVisitable.java
EMFAnimationApi (Interface)
The main API for registering custom animation math expressions and variables. This is the main entry point for modders t
src/main/java/traben/entity_model_features/EMFAnimationApi.java

Core symbols most depended-on inside this repo

partMapping
called by 781
src/main/java/traben/entity_model_features/models/EMFModelMappings.java
get
called by 173
src/main/java/traben/entity_model_features/models/animation/math/expression_tree/MathValue.java
models
called by 126
src/main/java/traben/entity_model_features/models/EMFModelMappings.java
parts
called by 126
src/main/java/traben/entity_model_features/models/EMFModelMappings.java
getInstance
called by 100
src/main/java/traben/entity_model_features/EMFManager.java
getResult
called by 96
src/main/java/traben/entity_model_features/models/animation/math/expression_tree/MathComponent.java
log
called by 83
src/main/java/traben/entity_model_features/utils/EMFUtils.java
isEmpty
called by 68
src/main/java/traben/entity_model_features/models/animation/math/expression_tree/MathExpressionParser.java

Shape

Method 1,102
Class 148
Interface 24
Function 12
Enum 8

Languages

Java99%
Kotlin1%
TypeScript1%

Modules by API surface

src/main/java/traben/entity_model_features/models/animation/EMFAnimationEntityContext.java126 symbols
src/main/java/traben/entity_model_features/models/animation/math/asm/ASMHelper.java83 symbols
src/main/java/traben/entity_model_features/mixin/mixins/MixinEntity.java47 symbols
src/main/java/traben/entity_model_features/config/EMFConfig.java42 symbols
src/main/java/traben/entity_model_features/models/animation/state/EMFEntityRenderStateViaReference.java36 symbols
src/main/java/traben/entity_model_features/models/animation/state/EMFEntityRenderState.java36 symbols
src/main/java/traben/entity_model_features/mixin/mixins/MixinBlockEntity.java30 symbols
src/main/java/traben/entity_model_features/utils/EMFEntity.java26 symbols
src/main/java/traben/entity_model_features/EMFAnimationApi.java26 symbols
src/main/java/traben/entity_model_features/models/parts/EMFModelPartRoot.java24 symbols
src/main/java/traben/entity_model_features/models/animation/math/expression_tree/MathExpressionParser.java23 symbols
src/main/java/traben/entity_model_features/models/EMFModel_ID.java23 symbols

For agents

$ claude mcp add Entity_Model_Features \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact