- added
helmet,chestplate,leggings, andbootspartial armor model support. e.g.helmet.jem, each piece can be varied separately e.g.helmet.properties(1.21.2+ ONLY!, for now) - added fallback properties support to match OptiFine behaviour. e.g.
drowned_outer.jemwill vary withdrowned.propertiesifdrowned_outer.propertiesdoesn't exist. (The latter is only possible via EMF as OptiFine will only usedrowned.properties) - reduced log spam for certain loading warnings
- prevented some unimportant exceptions from triggering the load error warning toast
- math functions that allow string inputs can now use
\to escape the,,(,), &\characters, such as when needing a,in one of the inputs fornbt(). e.g.nbt(Test,text='this\, that') - fixed whitespace characters in functions that allow string inputs
- fixed all minecart variants only using the
minecartmodel in 1.21.2+, they now correctly use it as a fallback only - fixed boat and minecart variant animation parameters
- fixed layer models not rendering in 1.21.2+
- fixed an issue with chest models in 1.21.2+
- fixed some config translation logic
- fixed
move_forward&move_strafingbreaking for other entities in multiplayer
- updated Forge and NeoForge to 1.21.4
- added a toast message when the reload encountered EMF errors (can be disabled in config)
- added config options to re-log many exceptions encountered during EMF loading, even some not normally logged due to config settings
- fixed
spectral_arrowmodel breaking in 1.21.3 - limited
time,frame_counter,id, and a few other variables to 27720 - fixed single block chest models not loading properly in 1.21.2+
[2.3.0]
- the remaining 1.21.3 changes should be fairly "stable" now and are unlikely to have significant changes going forwards, likely only semantic ones as OptiFine develops
- improved how EMF exports default models, they will now look much prettier in blockbench due to various semantic only changes
- fixed baby and other model scaling issues in previous 1.21.3 builds, baby models with certain custom animations, using the old offsets, are still broken and need pack makers to update their packs
- updated model & part names, see the
emf > models > all modelssettings in game for the most detailed and accurate list of all model & part names- dragon - "neck1 - neck5" and "tail1 - tail12", replacing "spine"
- bogged - same as skeleton + "mushrooms" part
- bogged_outer - same as stray_outer
- armadillo - see in-game model settings screen for parts list
- end_crystal - "inner_glass" and "outer_glass" replacing "glass"
- arrow - "back, cross_1, cross_2"
- spectral_arrow - "back, cross_1, cross_2"
- bee_stinger - "cross_1, cross_2"
- player_cape - "cape"
- player_ears - "left_ear" and "right_ear"
- player_slim - will now fallback to player.jem if not present
- salmon_large - falls back to "salmon"
- salmon_small - falls back to "salmon"
- breeze_wind_charge - same as "wind_charge"
- boat models now use the naming convention <wood_type>_<boat_type> e.g. "oak_boat" and "oak_chest_boat" and fallback to the old model names e.g. "boat" and "chest_boat"
- raft and boat models no longer contain the "water_patch" part themselves, this is now a separate model
- water_patch - "water_patch" also supports boat type variants e.g. "oak_water_patch"
- minecraft models now all fallback to the default minecart model
- chest_large - has been split into "chest_left" and "chest_right" models, same for trapped_chests. EMF will retain legacy support for the old model name for the time being
- wall_sign - falls back to the "sign" model and doesn't have the "stick" part
- sign, wall_sign, and hanging_sign - all support wood types in the model name e.g. "oak_sign" and "oak_wall_sign" that will fall back to the generic model
- there may be several more minor changes, see the in-game
emf > models > all modelssettings screen for the most accurate and complete list
- added legacy model fallbacks
book,evocation_illager,evocation_fangs, andvindication_illager - many other minor tweaks and fixes
[2.2.7]
- updated to 1.21.2+
1.21.2+ has a large amount of internal entity rendering changes many of these changes will affect models, see my discord for a write-up I have done on the changes to expect and their impacts or this link
https://github.com/Traben-0/Entity_Model_Features/blob/master/.github/1.21.2%2B changes.md
- removed the setting that would attempt to revert emf models changed by other mods, as it had a lot of overhead with new changes
- the
creaking_transiententity variant will try and usecreaking_transient.jemfirst and will usecreaking.jemotherwise - different boat types now use the format <wood_type>_<boat_type>.jem e.g.
oak_boat.jem,oak_chest_boat.jem, and the raftsbamboo_raft.jem,bamboo_chest_raft.jemthis differs from EMF previously using their vanilla model id such asboat/oak.jem baby_inner_armor.jemandbaby_outer_armor.jemhave been added as fallbacks for the baby armor modelsplayer_cape.jemandarrow.jemhave completely different implementations now, due to inclusion in vanilla renderingwind_chargepart names updated to reflect changes in OptiFine- the OptiFine limitation setting to always require a base model for variation has been set as disabled by default, as the limitation is inconsistent in OptiFine and has affected several packs working normally in OptiFine (the config name has changed so this will automatically update for you)
![[EMF] Entity Model Features](https://cdn.modrinth.com/data/4I1XuqiY/6e5bbd0d06b1741bfdab6c0cfab6de8fdaf0064c_96.webp)

