NeoForge - 1.21.4
on 2024 Dec 14- 将 Forge 和 NeoForge 更新至 1.21.4
- 当重载遇到 EMF 错误时添加了一条提示消息(可在配置中禁用)
- 添加了配置选项,以便在 EMF 加载期间重新记录遇到的许多异常,即使是由于配置设置而通常不会记录的一些异常
- 修复了 1.21.3 中
spectral_arrow模型的损坏问题 - 将
time、frame_counter、id和其他一些变量限制为 27720 - 修复了 1.21.2+中单个方块箱子模型无法正确加载的问题
Forge - 1.21.4
on 2024 Dec 14- 将 Forge 和 NeoForge 更新至 1.21.4
- 当重载遇到 EMF 错误时添加了一个提示消息(可在配置中禁用)
- 添加了配置选项,以重新记录在 EMF 加载期间遇到的许多异常,即使是由于配置设置而通常不会记录的一些异常
- 修复了 1.21.3 中
spectral_arrow模型的损坏问题 - 将
time、frame_counter、id和其他一些变量限制为 27720 - 修复了 1.21.2+中单个方块箱子模型无法正确加载的问题
Fabric - 2.3.0
on 2024 Dec 01[2.3.0]
- 剩余的 1.21.3 更改现在应该相当“稳定”,并且不太可能有重大变化,随着 OptiFine 的发展,可能只是语义上的变化
- 改进了 EMF 导出默认模型的方式,由于各种仅语义的更改,它们现在在 Blockbench 中看起来会漂亮得多
- 修复了之前 1.21.3 版本中的婴儿和其他模型缩放问题,具有某些自定义动画的婴儿模型,使用旧的偏移量,仍然损坏,需要打包制作者更新他们的包
- 更新了模型和部件名称,在游戏中查看
emf > models > all models设置以获取所有模型和部件名称的最详细和准确列表- 龙 - “neck1 - neck5”和“tail1 - tail12”,替换“spine”
- 沼泽 - 与骷髅相同 + “mushrooms”部件
- 沼泽外层 - 与流浪外层相同
- 犰狳 - 在游戏内模型设置屏幕中查看部件列表
- 末地水晶 - “inner_glass”和“outer_glass”替换“glass”
- 箭 - “back, cross_1, cross_2”
- 幽灵箭 - “back, cross_1, cross_2”
- 蜜蜂刺 - “cross_1, cross_2”
- 玩家披风 - “cape”
- 玩家耳朵 - “left_ear”和“right_ear”
- 玩家苗条 - 如果不存在,现在将回退到 player.jem
- 大鲑鱼 - 回退到“salmon”
- 小鲑鱼 - 回退到“salmon”
- 微风风充能 - 与“wind_charge”相同
- 船模型现在使用命名约定<木材类型>_<船类型>,例如“oak_boat”和“oak_chest_boat”,并回退到旧的模型名称,例如“boat”和“chest_boat”
- 木筏和船模型不再包含“water_patch”部件本身,现在这是一个单独的模型
- water_patch - “water_patch”也支持船类型变体,例如“oak_water_patch”
- 我的世界模型现在都回退到默认的矿车模型
- 大箱子 - 已拆分为“chest_left”和“chest_right”模型,被困箱子也是如此。EMF 暂时将保留对旧模型名称的遗留支持
- 墙标志 - 回退到“sign”模型,并且没有“stick”部件
- 标志、墙标志和悬挂标志 - 所有都在模型名称中支持木材类型,例如“oak_sign”和“oak_wall_sign”,将回退到通用模型
- 可能还有其他一些小的更改,在游戏中查看
emf > models > all models设置屏幕以获取最准确和完整的列表
- 添加了遗留模型回退
book、evocation_illager、evocation_fangs和vindication_illager - 许多其他小的调整和修复
NeoForge - 2.3.0
on 2024 Dec 01[2.3.0]
- 剩余的 1.21.3 更改现在应该相当“稳定”,并且不太可能有重大变化,随着 OptiFine 的发展,可能只是语义上的变化
- 改进了 EMF 导出默认模型的方式,由于各种仅语义的更改,它们现在在 Blockbench 中看起来会漂亮得多
- 修复了以前 1.21.3 版本中的婴儿和其他模型缩放问题,具有某些自定义动画的婴儿模型,使用旧的偏移量,仍然损坏,需要打包制作者更新他们的包
- 更新了模型和部件名称,在游戏中查看“emf>模型>所有模型”设置,以获取所有模型和部件名称的最详细和准确列表
- 龙 - “neck1-neck5”和“tail1-tail12”,替换“spine”
- 沼泽 - 与骷髅相同 + “mushrooms”部件
- 沼泽外层 - 与流浪外层相同
- 犰狳 - 在游戏内模型设置屏幕中查看部件列表
- 末地水晶 - “inner_glass”和“outer_glass”替换“glass”
- 箭 - “back, cross_1, cross_2”
- 幽灵箭 - “back, cross_1, cross_2”
- 蜜蜂刺 - “cross_1, cross_2”
- 玩家披风 - “cape”
- 玩家耳朵 - “left_ear”和“right_ear”
- 玩家瘦版 - 如果不存在,现在将回退到 player.jem
- 鲑鱼大 - 回退到“salmon”
- 鲑鱼小 - 回退到“salmon”
- 微风风充能 - 与“wind_charge”相同
- 船模型现在使用命名约定<木材类型>_<船类型>,例如“oak_boat”和“oak_chest_boat”,并回退到旧的模型名称,例如“boat”和“chest_boat”
- 木筏和船模型不再包含“water_patch”部件本身,现在这是一个单独的模型
- water_patch - “water_patch”也支持船类型变体,例如“oak_water_patch”
- Minecraft 模型现在都回退到默认矿车模型
- 大箱子 - 已拆分为“chest_left”和“chest_right”模型,被困箱子也是如此。EMF 暂时将保留对旧模型名称的遗留支持
- 墙标志 - 回退到“sign”模型,并且没有“stick”部件
- 标志、墙标志和悬挂标志 - 都在模型名称中支持木材类型,例如“oak_sign”和“oak_wall_sign”,将回退到通用模型
- 可能还有其他一些小的更改,在游戏内“emf>模型>所有模型”设置屏幕中查看最准确和完整的列表
- 添加了遗留模型回退“book”、“evocation_illager”、“evocation_fangs”和“vindication_illager”
- 许多其他小的调整和修复
[EMF] Entity Model Features 2.2.7
on 2024 Dec 01[2.2.7]
- 更新至 1.21.2+
1.21.2+ 有大量内部实体渲染更改,其中许多更改将影响模型,请查看我的 discord 以获取我对预期更改及其影响的详细说明 或此链接
https://github.com/Traben-0/Entity_Model_Features/blob/master/.github/1.21.2%2B changes.md
- 移除了尝试还原其他模组更改的 emf 模型的设置,因为新更改会带来大量开销
creaking_transient实体变体将首先尝试使用creaking_transient.jem,否则将使用creaking.jem- 不同的船类型现在使用格式<木材类型>_<船类型>.jem,例如
oak_boat.jem、oak_chest_boat.jem,以及木筏bamboo_raft.jem、bamboo_chest_raft.jem这与 EMF 以前使用其原版模型 ID 如boat/oak.jem不同 - 已添加
baby_inner_armor.jem和baby_outer_armor.jem作为婴儿盔甲模型的回退 player_cape.jem和arrow.jem由于包含在原版渲染中,现在有完全不同的实现方式wind_charge部分名称已更新以反映 OptiFine 中的更改- 已将 OptiFine 限制设置为默认禁用,以始终要求变体的基础模型,因为该限制在 OptiFine 中不一致,并影响了在 OptiFine 中正常工作的几个包(配置名称已更改,因此这将自动为您更新)
NeoForge - 1.20.2
on 2024 Dec 01- 修复了以
./和~/为前缀的模型纹理在最近的更改中出现的问题 - 扩展了 EMF API:
- 添加了
int getCurrentEMFVariantOfModel(EntityModel<?>),返回模型的当前变体,如果模型不是自定义 EMF 模型,则返回 -1。 - 添加了
boolean isModelAnimatedByEMF(EntityModel<?>),如果模型具有自定义 EMF 动画,则返回 true。 - 添加了
boolean isModelCustomizedByEMF(EntityModel<?>),如果模型是自定义 EMF 模型,则返回 true。 - 添加了
boolean isModelPartCustomToEMF(ModelPart),如果此模型部分是 EMF 添加的多余部分,并且不表示任何实际的普通香草部分,则返回 true。 - 添加了
boolean isModelPartAnimatedByEMF(ModelPart),如果此模型部分本身由 EMF 动画,则返回 true,例如"modePart.rx":"sin(age)"。
- 添加了
- 修复了一些实体模型覆盖设置在游戏中未正确应用的问题,例如按实体类型修改渲染模式。
- 将盒子面 UV 高度/宽度为零的警告移动到仅在启用模型创建日志记录时出现,因为对于许多不关心此问题的包来说,它变得过于混乱。
Forge - 1.20.2
on 2024 Dec 01- 修复了以
./和~/为前缀的模型纹理在最近的更改中出现的问题 - 扩展了 EMF API:
- 添加了
int getCurrentEMFVariantOfModel(EntityModel<?>),返回模型的当前变体,如果模型不是自定义 EMF 模型,则返回 -1。 - 添加了
boolean isModelAnimatedByEMF(EntityModel<?>),如果模型具有自定义 EMF 动画,则返回 true。 - 添加了
boolean isModelCustomizedByEMF(EntityModel<?>),如果模型是自定义 EMF 模型,则返回 true。 - 添加了
boolean isModelPartCustomToEMF(ModelPart),如果此模型部分是 EMF 添加的多余部分,并且不表示任何实际的普通 vanilla 部分,则返回 true。 - 添加了
boolean isModelPartAnimatedByEMF(ModelPart),如果此模型部分本身由 EMF 动画,则返回 true,例如"modePart.rx":"sin(age)"。
- 添加了
- 修复了一些实体模型覆盖设置在游戏中未正确应用的问题,例如按实体类型修改渲染模式。
- 将盒子面 UV 高度/宽度为零的警告移动到仅在启用模型创建日志记录时出现,因为对于许多不关心此问题的包来说,它变得过于嘈杂。
Fabric - 1.20.1
on 2024 Dec 01- 修复了以前缀为
./和~/的模型纹理在最近的更改中出现的问题 - 扩展了 EMF API:
- 添加了
int getCurrentEMFVariantOfModel(EntityModel<?>),返回模型的当前变体,如果模型不是自定义 EMF 模型,则返回 -1。 - 添加了
boolean isModelAnimatedByEMF(EntityModel<?>),如果模型具有自定义 EMF 动画,则返回 true。 - 添加了
boolean isModelCustomizedByEMF(EntityModel<?>),如果模型是自定义 EMF 模型,则返回 true。 - 添加了
boolean isModelPartCustomToEMF(ModelPart),如果此模型部分是 EMF 添加的多余部分,并且不表示任何实际的普通 vanilla 部分,则返回 true。 - 添加了
boolean isModelPartAnimatedByEMF(ModelPart),如果此模型部分本身由 EMF 动画,则返回 true,例如"modePart.rx":"sin(age)"。
- 添加了
- 修复了一些实体模型覆盖设置在游戏中未正确应用的问题,例如按实体类型修改渲染模式。
- 将盒子面 UV 高度/宽度为零的警告移动到仅在启用模型创建日志记录时出现,因为对于许多不关心此问题的数据包来说,它变得过于嘈杂。
NeoForge - 1.20.2
on 2024 Dec 01- 修复了当箭头渲染时卡在具有替换其所有原版部件的自定义模型的玩家内部时的崩溃问题
- 修复了箭头卡在玩家内部且不遵循自定义玩家模型的自定义动画的问题
- EMF 现在在 1.21 及更高版本中删除了
floor UVsOptiFine 等效设置,因为 OptiFine 现在与 EMF 的默认行为匹配。 - 对于具有 0 UV 宽度和高度的立方体的警告已变得更详细,并且在早期版本中也将取决于
floor UVs设置。
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](https://cdn.bbsmc.net/bbsmc/data/VaVrZ5zG/images/6a28d3a7f7178334c22d2c7878b3c816128f39d8_350.webp)
![[EMF]实体模型特性 - Entity Model Features](https://cdn.bbsmc.net/bbsmc/data/VaVrZ5zG/d79bad19d862aa4923ef3b6c1876c9f867a517fc_96.webp)
