Forge - 1.20.2
on 2024 Dec 01- 修复了在玩家使用替换了所有原生部件的自定义模型时,箭头渲染卡在玩家内部的崩溃问题
- 修复了箭头卡在玩家内部且不跟随自定义玩家模型的自定义动画的问题
- EMF 现在在 1.21 及更高版本中删除了
floor UVsOptiFine 奇偶性设置,因为 OptiFine 现在与 EMF 的默认行为匹配。 - 对于具有 0 UV 宽度和高度的立方体的警告已变得更加详细,并且在早期版本中也将取决于
floor UVs设置。
Fabric - 1.20.1
on 2024 Dec 01- 修复了当箭头渲染时卡在一个带有替换其所有原生部分的自定义模型的玩家内部时的崩溃问题
- 修复了箭头卡在玩家内部且不跟随自定义玩家模型的自定义动画的问题
- EMF 现在在 1.21 及更高版本中删除了
floor UVsOptiFine 等效设置,因为 OptiFine 现在与 EMF 的默认行为匹配。 - 对于具有 0 UV 宽度和高度的立方体的警告已变得更加详细,并且在早期版本中也将取决于
floor UVs设置。
NeoForge - 1.20.2
on 2024 Dec 01- 修复了
rot_y在特定客户端玩家模型中给出错误值的问题 - 修复了动画中的
part关键字在 OptiFine 部分名称与原版不同时无法正常工作的问题 - 修复了大多数模型在.jem 级别上纹理覆盖被破坏的问题,这是由于冗余优化损坏导致的
Forge - 1.20.2
on 2024 Dec 01- 修复了
rot_y在特定客户端玩家模型中给出不正确值的问题 - 修复了动画中的
part关键字在 OptiFine 部分名称与原生名称不同时无法正确工作的问题 - 修复了大多数模型在.jem 级别上纹理覆盖被破坏的问题,这是由于冗余优化被破坏导致的
Fabric - 1.20.1
on 2024 Dec 01- 修复了
rot_y为特定客户端玩家模型提供不正确值的问题 - 修复了动画中的
part关键字对于与原版不同的 OptiFine 部分名称不能正确工作的问题 - 修复了大多数模型的纹理覆盖在.jem 级别被破坏的问题,这是由于冗余优化错误导致的
NeoForge - 1.20.2
on 2024 Dec 01- 添加了 OptiFine CEM 语法限制奇偶性设置
- 添加了一个奇偶性设置,以像 OptiFine 那样强制在盒子中使用自定义 UV 值下限
- 添加了对直接在动画中引用
part的支持,就像this已经做的那样 - 为盒子 UV 坐标添加了更详细的验证警告,并充实了验证错误消息,以告知用户确切的问题来源
- 添加了来自最新 OptiFine 的
frame_counter变量 - 将
wolf_collar添加到模型列表中 - 使
frame_time与 OptiFine 的暂停和滴答冻结行为匹配 - 修复了修改后的块实体模型在不应包含命名空间时错误地在模型文件名中包含命名空间的问题,例如寻找
optifine/cem/mod:model.jem而不是mod:optifine/cem/model.jem - 修复了具有变体的模型在首次加载时未正确重置其初始状态的问题,直到至少自然发生 1 次变化
Forge - 1.20.2
on 2024 Dec 01- 添加了 Optifine cem 语法限制奇偶性设置
- 添加了一个奇偶性设置,以强制在像 OptiFine 那样的盒子中自定义 UV 值取整
- 添加了对直接在动画中引用
part的支持,就像this已经做的那样 - 为盒子 UV 坐标添加了更详细的验证警告,并充实了验证错误消息,以告知用户确切的问题来源
- 添加了最新 OptiFine 中的
frame_counter变量 - 将
wolf_collar添加到模型列表中 - 使
frame_time与 OptiFine 的暂停和滴答冻结行为匹配 - 修复了模组化块实体模型在不应包含命名空间时在模型文件名中错误地包含命名空间的问题,例如查找
optifine/cem/mod:model.jem而不是mod:optifine/cem/model.jem - 修复了具有变体的模型在首次加载时未正确重置其初始状态的问题,直到至少自然发生 1 次变化
Fabric - 1.20.1
on 2024 Dec 01- 添加了一个 OptiFine CEM 语法限制奇偶性设置
- 添加了一个奇偶性设置,以强制在像 OptiFine 那样的盒子中自定义 UV 值取整
- 添加了对直接在动画中引用
part的支持,就像this已经做的那样 - 为盒子 UV 坐标添加了更详细的验证警告,并充实了验证错误消息,以告知用户确切的问题来源
- 添加了来自最新 OptiFine 的
frame_counter变量 - 将
wolf_collar添加到模型列表中 - 使
frame_time与 OptiFine 的暂停和滴答冻结行为匹配 - 修复了模组方块实体模型在不应包含命名空间时错误地在模型文件名中包含命名空间的问题,例如查找
optifine/cem/mod:model.jem而不是mod:optifine/cem/model.jem - 修复了具有变体的模型在首次加载时未正确重置其初始状态的问题,直到至少发生 1 次变体
NeoForge - 1.20.2
on 2024 Dec 01- 现在需要 ETF 6.2.1 或更新版本
- 修复了一个模型设置错误,该错误会破坏村民和守卫、带有自定义模型声明纹理的服装和发光纹理
- is_hover 现在尊重玩家当前对块实体的块交互范围
- id 变量现在与 OptiFine 的值完全匹配
- 重新设计了 player_cape.jem 实现,使其更兼容模组,例如
wavey capes模组现在可以正确覆盖它,并且 essentials 现在可以与之配合使用 - 交换了模型的子文件夹加载优先级。
optifine/cem/skeleton/skeleton.jem现在在optifine/cem/skeleton/skeleton.jem之前加载,以匹配 OptiFine 行为 - 添加了一个 OptiFine 兼容设置,要求子模型文件夹具有变体,例如
optifine/cem/skeleton/skeleton.jem如果没有optifine/cem/skeleton/skeleton2.jem或有效的.properties 文件将不会加载。 - 模型导出不再将旋转浮点值打印为双精度数
- 模型导出现在还会记录所有导出和未导出部分的所有框值
- 修复了纹理覆盖不适用于
attach=true或原生部分的问题 - 修复了在所有动画条目中多次声明/更新相同部分变换或变量时动画中断的问题
- 向死亡时间变量添加了 tickdelta(修复了像骷髅死亡物理这样的包中的抖动问题)
- 修复了动画数学中并非所有
this实例都能正确解析的问题 - 为经常拼写错误的变量(如
is_aggressive)添加了拼写纠正警告 - 找不到变量现在记录为错误而不是警告,并且对于未知的布尔值现在将正确默认为 false
Forge - 1.20.2
on 2024 Dec 01- 现在需要 ETF 6.2.1 或更高版本
- 修复了一个模型设置错误,该错误会破坏村民和狱卒、带有自定义模型声明纹理的服装和发光纹理
- is_hover 现在尊重玩家当前的块交互范围以用于块实体
- id 变量现在与 OptiFine 的值完全匹配
- 重新设计了 player_cape.jem 实现,以更具兼容性,例如
wavey capes模组现在可以正确覆盖它,并且 essentials 现在可以与之配合使用 - 交换了模型的子文件夹加载优先级。
optifine/cem/skeleton/skeleton.jem现在在optifine/cem/skeleton/skeleton.jem之前加载,以匹配 OptiFine 行为 - 添加了一个 OptiFine 兼容设置,要求子模型文件夹具有变体,例如
optifine/cem/skeleton/skeleton.jem如果没有optifine/cem/skeleton/skeleton2.jem或有效的.properties 文件将不会加载。 - 模型导出不再将旋转浮点值打印为双精度数
- 模型导出现在还记录所有导出和未导出部分的所有框值
- 修复了纹理覆盖不适用于
attach=true或原生部分的问题 - 修复了在所有动画条目中多次声明/更新相同部分变换或变量时动画中断的问题
- 向死亡时间变量添加了 tickdelta(修复了诸如骨架死亡物理等包中的抖动问题)
- 修复了动画数学中并非所有
this实例都能正确解析的问题 - 为经常拼写错误的变量(如
is_aggressive)添加了拼写纠正警告 - 未找到的变量现在记录为错误而不是警告,并且对于未知的布尔值现在将正确默认为 false
Fabric - 1.20.1
on 2024 Dec 01- 现在需要 ETF 6.2.1 或更新版本
- 修复了一个模型设置错误,该错误会破坏村民和守卫、带有自定义模型的服装和发光纹理,这些模型声明了纹理
- is_hover 现在尊重玩家当前对块实体的块交互范围
- id 变量现在与 OptiFine 的值完全匹配
- 重新设计了 player_cape.jem 实现,使其更具兼容性,例如
wavey capes模组现在可以正确覆盖它,并且 essentials 现在可以与之配合使用 - 交换了模型的子文件夹加载优先级。
optifine/cem/skeleton/skeleton.jem现在在optifine/cem/skeleton/skeleton.jem之前加载,匹配 OptiFine 行为 - 添加了一个 OptiFine 兼容设置,要求子模型文件夹具有变体,例如
optifine/cem/skeleton/skeleton.jem如果没有optifine/cem/skeleton/skeleton2.jem或有效的.properties 文件将不会加载。 - 模型导出不再将旋转浮点值打印为双精度数
- 模型导出现在还会记录所有导出和未导出部分的框值
- 修复了纹理覆盖不适用于
attach=true或原生部分的问题 - 修复了在所有动画条目中多次声明/更新相同部分变换或变量时动画中断的问题
- 向死亡时间变量添加了 tickdelta(修复了像骨架死亡物理这样的包中的抖动问题)
- 修复了在动画数学中并非所有
this实例都被正确解析的问题 - 为经常拼写错误的变量(如
is_aggressive)添加了拼写纠正警告 - 找不到变量现在记录为错误而不是警告,并且对于未知的布尔值现在将正确默认为 false
[EMF] Entity Model Features 2.2
on 2024 Dec 01[2.2]
- 修复了与 forge 1.21 和 1.20.6 的兼容性
- 修复了与 Sodium 0.6 beta 版本一起使用时的问题
- 添加了一个设置,使 EMF 在每次渲染之前完全重置玩家模型的所有原生部分转换。
- 仅在玩家存在自定义模型时适用。
- 然而,由于许多模组会改变玩家动画,这不是典型的行为。
- 此设置大大降低了模组和动画包之间的玩家动画兼容性难度。
- 例如,玩家表情模组。
- 此兼容性仍需要在包制作人员端进行工作。
- 添加了
nbt(key,test)布尔动画函数,其工作方式与 nbt 随机属性完全相同,例如models.1.SaddleItem=exits:false将变为nbt(SaddleItem,exists:false)。 - 添加了布尔动画变量
is_paused,当游戏暂停时为 true。 - 添加了布尔动画变量
is_hovered,当客户端正在查看实体或块实体位置时为 true。 - 在模型调试设置中添加了一个选项,仅在实体悬停时在调试模式下渲染模型。
- 添加了一个设置来控制 EMF 是否需要“基础”模型进行模型变体,如 OptiFine(例如
pig2.jem需要pig.jem才能工作)。此设置现在默认启用,以促进向后兼容性并防止混淆。 - 调整了
keyframe()和keyframeloop()动画函数,使用 catmulrom 样条插值在关键帧之间进行平滑过渡,考虑到之前和即将到来的帧。 - 修复了村民服装和职业纹理在模型中设置纹理覆盖时无法渲染的问题。
- 修复了
chest_large.jem的一个问题,因为在游戏中它必须分为 2 个半模型,此修复消除了关于缺少左/右半部分的日志垃圾,并且还在一定程度上修复了引用胸部另一侧的动画,强烈建议您将左右半动画分开。已启用一个配置选项,以在模组化胸部模型冲突的情况下切换此修复。 - 修复了
slime_outer模型在使用纹理覆盖时删除半透明的问题。 - 修复了
is_swinging_right_arm和is_swinging_left_arm。 - 添加了
is_using_item,当正在使用任何物品时为 true,通常您可以通过is_swinging_right_arm和is_swinging_left_arm检测哪个手臂,但这对于所有物品使用情况并不可靠。 - 添加了
is_holding_item_right和is_holding_item_left,以检测实体是否在右手或左手持有物品,可能不适用于所有持有物品的实体,仅在玩家上进行了测试。 - 将 vex 充电添加到
is_aggressive变量中,并使其与模组化的怪物更一致。 - 修复了特殊的次要或备用模型的变体,如
outer_armor.jem。或旧目录模组化模型。 - 修复了打印动画方法在预验证期间意外打印的问题。
- 标志和船只现在有可选的覆盖模型,基于香草如何将每个标志和船只变体分离为自己的模型,这些仅通过启用模型创建日志记录并在那里查看它们的名称来识别,如果不存在,将回退到 OptiFine 默认值。
- 改进了所有模型的配置列表中的文件名和位置显示。
- 在配置 GUI 中添加了 emf 16x 徽标以替换完整徽标。
- 改进了纹理覆盖,EMF 现在删除冗余的纹理声明以提高运行时效率(例如,忽略在
pig.jem中声明的pig.png,因为它是冗余的)。 - 修复了一些实体动画值在实体特征层渲染期间被重置且未正确恢复的问题。
[EMF] Entity Model Features 2.2
on 2024 Dec 01[2.2]
- 修复了 forge 1.21 和 1.20.6 的兼容性
- 修复了与 Sodium 0.6 测试版一起使用时的问题
- 添加了一个设置,使 EMF 在每次渲染之前重置玩家模型的所有原版部分转换。
- 仅在玩家存在自定义模型时适用。
- 然而,由于许多模组会更改玩家动画,这不是典型的行为。
- 此设置大大降低了模组和动画包之间的玩家动画兼容性难度。
- 例如,玩家表情模组。
- 此兼容性仍需要包制作者端的工作。
- 添加了
nbt(key,test)布尔动画函数,它的工作方式与 nbt 随机属性完全相同,例如models.1.SaddleItem=exits:false将变为nbt(SaddleItem,exists:false)。 - 添加了布尔动画变量
is_paused,当游戏暂停时为真。 - 添加了布尔动画变量
is_hovered,当客户端正在查看实体或块实体位置时为真。 - 在模型调试设置中添加了一个选项,仅在实体被悬停时在调试模式下渲染模型。
- 添加了一个设置来控制 EMF 是否需要一个“基础”模型来进行模型变体,如 OptiFine (例如
pig2.jem需要一个pig.jem才能工作)。此设置现在默认启用,以促进向后兼容性并防止混淆。 - 调整了
keyframe()和keyframeloop()动画函数,使用 catmulrom 样条插值来实现关键帧之间的平滑过渡,并考虑前一帧和下一帧。 - 修复了村民服装和职业纹理在模型中设置纹理覆盖时无法渲染的问题。
- 修复了
chest_large.jem的一个问题,因为在游戏中它必须分为 2 个半模型,这消除了关于缺少左右半部分的日志垃圾,并且还在一定程度上修复了引用 chest 另一侧的动画,仍然强烈建议将左右半动画分开。已启用一个配置选项来切换此修复,以防模组化 chest 模型冲突。 - 修复了
slime_outer模型在使用纹理覆盖时删除半透明的问题。 - 修复了
is_swinging_right_arm和is_swinging_left_arm。 - 添加了
is_using_item,当正在使用任何物品时为真,通常可以通过is_swinging_right_arm和is_swinging_left_arm检测到哪个手臂,但这对于所有物品使用情况都不可靠。 - 添加了
is_holding_item_right和is_holding_item_left来检测实体是否在右手或左手持有物品,可能并非对所有持有物品的实体都有效,仅在玩家上进行了测试。 - 将 vex 充电添加到
is_aggressive变量中,并使其与模组化生物更一致。 - 修复了特殊的次要或备用模型的变体,如
outer_armor.jem。或旧目录模组化模型。 - 修复了打印动画方法在预验证期间意外打印的问题。
- 标志和船现在有可选的覆盖模型,基于原版如何将每个标志和船变体分离为自己的模型,这些仅通过启用模型创建日志记录并在那里查看它们的名称来识别,如果不存在,将回退到 OptiFine 默认值。
- 改进了所有模型的配置列表中的文件名和位置显示。
- 在配置 GUI 中添加了 emf 16x 徽标以替换完整徽标。
- 改进了纹理覆盖,EMF 现在会删除冗余的纹理声明以提高运行时效率 (例如,忽略在
pig.jem中声明的pig.png,因为它是冗余的)。 - 修复了一些实体动画值在实体特征层渲染期间被重置且未正确恢复的问题。
[EMF] Entity Model Features 2.1.3
on 2024 Dec 01修复了在持有带有自定义模型的某些实体渲染器时的崩溃问题。
[EMF] Entity Model Features 2.1.3
on 2024 Dec 01修复了在手持某些带有自定义模型的实体渲染器时的崩溃问题。
[EMF] Entity Model Features 2.1.3
on 2024 Dec 01修复了在持有带有自定义模型的某些实体渲染器时的崩溃问题。
[EMF] Entity Model Features 2.1.2
on 2024 Dec 01[2.1.2]
- 修复了在使用 iris 且带有自定义玩家模型时,第一人称玩家阴影不动画的问题
- 修复了在手持三叉戟、箱子和其他带有纹理覆盖的自定义实体模型时的崩溃问题。
[EMF] Entity Model Features 2.1.2
on 2024 Dec 01[2.1.2]
- 修复了在使用虹膜并带有自定义玩家模型时,第一人称玩家阴影不动画的问题
- 修复了在持有三叉戟、箱子和其他带有纹理覆盖的自定义实体模型时的崩溃问题
[EMF] Entity Model Features 2.1.1
on 2024 Dec 01[2.1.1]
- 现在需要 ETF 6.1.3 或更高版本
- 添加了新的 EMFAnimationAPI 方法,以允许其他模组:
- 暂停/恢复实体的整个自定义模型动画
- 暂停/恢复实体动画中的单个自定义模型部分
- 锁定/解锁实体,使其仅使用其原生模型
- 将实体和块实体转换为 EMFEntity 接口的实用方法 这些将允许其他模组在需要时抑制特定实体的 EMF 动画和模型,例如用于表情
- 修复了 EMF 将值应用于具有给定 ID 的最后一部分,而不是第一部分的问题*(OptiFine 对等性)*
- 修复了
scale模型部分的默认设置在具有新格式动画的生物(如守卫者和青蛙)上未正确应用的问题 - 修复了在 1.21 中导出模型时的崩溃
- 修复了 1.21 中的
not building崩溃 - 修复了
root部分在模型导出中未出现的问题 - 修复了一个错误,其中项目附件可能会延续到其他生物渲染中
- 修复了末影龙
spine部分在具有纹理覆盖时未渲染的问题 - 当加载自定义块实体模型时,允许 EMF 禁用 EBE 设置的设置,现在在 EMF 配置警告屏幕中具有更详细和信息丰富的显示
- 修复了使用旧的
modded目录格式的模组模型导出日志,导出日志现在还给出了从资产文件夹开始的 jem 的完整路径 - 模型导出现在放置在
.minecraft目录中的emf/export/assets/文件夹中,具有从资产文件夹开始的完全正确和命名空间的路径 - 修复了原生旗帜模型的摆动在 EMF 动画之上添加的问题,因为原生旗帜在多个阶段中渲染
- 将
pi从 3.1415926 更改为 3.1415927,以匹配原生 pi 使用,并且似乎与 OptiFine 匹配,尽管文档如此 - 更改了各种数学方法,例如
sin() & cos(),不再使用 java.lang.Math,而是使用 Minecraft 内部数学类 - 上述 2 个更改修复了 fa 1.9.1 中的复仇者
- 添加了对
inner_armor.jem和outer_armor.jem的支持,作为实体特定装甲模型未找到时的回退,例如zombie_inner_armor.jem和zombie_outer_armor.jem - 修复了一些缺失的生物对
is_aggressive变量的支持 - 将
height_above_ground变量更改为检测具有可站立顶部表面的块,而不仅仅是实体块 - 修复了一个导致某些块实体模型纹理覆盖在第一人称视图中出现在其虹膜着色器阴影传递位置的错误
- 添加了一个优化选项,将在虹膜阴影传递期间跳过重新计算实体模型动画,默认启用,并且应该始终保持启用,仅在未来虹膜 api 更改或虹膜端口出现奇怪行为的情况下才是一个选项。
- 修复了三叉戟模型部分在 OptiFine 映射中意外声明额外部分的问题,这可能导致原生三叉戟部分在许多自定义三叉戟模型中重新出现
[EMF] Entity Model Features 2.1.1
on 2024 Dec 01[2.1.1]
- 现在需要 ETF 6.1.3 或更新版本
- 添加了新的 EMFAnimationAPI 方法,以允许其他模组:
- 暂停/恢复实体的整个自定义模型动画
- 暂停/恢复实体动画中的单个自定义模型部分
- 锁定/解锁实体以仅使用其原版模型
- 将 Entity 和 BlockEntity 转换为 EMFEntity 接口的实用方法 这些将允许其他模组在需要时抑制特定实体的 EMF 动画和模型,例如用于表情
- 修复了 EMF 将值应用于具有给定 ID 的最后一部分,而不是第一部分的问题*(OptiFine 兼容性)*
- 修复了在 1.21 中
scale模型部分的默认设置未正确应用于带有新格式动画的生物(如狱卒和青蛙)的问题 - 修复了在 1.21 中导出模型时的崩溃问题
- 修复了 1.21 中的
not building崩溃问题 - 修复了
root部分在模型导出中不出现的问题 - 修复了一个错误,其中物品附件可能会延续到其他生物渲染中
- 修复了末影龙
spine部分在有纹理覆盖时不渲染的问题 - 当加载自定义块实体模型时,允许 EMF 禁用 EBE 设置的设置,现在在 EMF 配置警告屏幕中具有更详细和信息丰富的显示
- 修复了使用旧的
modded目录格式的模组模型导出日志,导出日志现在还给出了从 assets 文件夹开始的 jem 的完整路径 - 模型导出现在放置在
.minecraft目录中的emf/export/assets/文件夹中,具有从 assets 文件夹开始的完全正确和命名空间的路径 - 修复了原版旗帜模型的摆动在 EMF 动画之上添加的问题,因为原版旗帜在多个阶段中渲染
- 将
pi从 3.1415926 更改为 3.1415927,以匹配原版pi的使用,并且似乎与 OptiFine 匹配,尽管文档如此 - 更改了各种数学方法,如
sin() & cos(),不再使用 java.lang.Math,而是使用 Minecraft 内部数学类 - 上述 2 个更改修复了 fa 1.9.1 中的复仇者
- 添加了对
inner_armor.jem和outer_armor.jem的支持,作为实体特定装甲模型未找到时的回退,例如zombie_inner_armor.jem和zombie_outer_armor.jem - 修复了一些缺失的生物对
is_aggressive变量的支持 - 将
height_above_ground变量更改为检测具有可站立顶部表面的块,而不仅仅是实心块 - 修复了一个导致某些块实体模型纹理覆盖在第一人称视图中出现在其虹膜着色器阴影通道位置的错误
- 添加了一个优化选项,该选项将在虹膜阴影通道期间跳过重新计算实体模型动画,默认开启,并且应该始终保持开启,仅在未来虹膜 API 更改或虹膜端口出现奇怪行为的情况下才是一个选项。
- 修复了三叉戟模型部分在 OptiFine 映射中意外声明额外部分的问题,这可能导致原版三叉戟部分在许多自定义三叉戟模型中重新出现

![[EMF]实体模型特性 - Entity Model Features](https://cdn.bbsmc.net/bbsmc/data/VaVrZ5zG/d79bad19d862aa4923ef3b6c1876c9f867a517fc_96.webp)
