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 2.1
on 2024 Dec 01无
[EMF] Entity Model Features 2.0.2
on 2024 Dec 012.0.2
- 修复了 2.0.1 中第一人称手设置未正确重置的问题
- 添加了
is_swinging_right_arm和is_swinging_left_arm布尔变量, 用于区分双足模型中的右臂和左臂摆动,如果没有手臂在摆动,则两者都应为 false,如果swing_progress > 0,则其中一个应为 true。 - 添加了对可选
player_cape.jem模型文件的支持,用于更好地为玩家披风进行动画处理player_cape.jem仅包含一个cloak部分,其位置与常规player.jem中的完全相同, 如果存在此模型,它将以一种特殊方式渲染,不会将原版动画应用于披风。 允许更轻松的自定义动画 (注意,此 jem 文件不能通过 EMF 配置导出,但导出的player.jem模型将完美适用于它,从 v2.0.2 开始)
在渲染和自定义动画之前,EMF 应用于player_cape.jem的唯一变换是:
- 围绕
y轴将披风旋转 180 度。(与原版匹配) - 将披风向后平移 2 像素。(与原版匹配)
- 如果玩家穿着胸甲,则将披风再向后平移 1 像素并向上平移。(与原版匹配)
不会对披风应用其他旋转或平移,允许完全自定义动画。
如果player_cape.jem不存在,常规player.jem中的cloak部分将渲染,但不会受益于 EMF 取消其原版动画
[EMF] Entity Model Features 2.0.2
on 2024 Dec 012.0.2
- 修复了 2.0.1 中第一人称手部设置未正确重置的问题
- 添加了
is_swinging_right_arm和is_swinging_left_arm布尔变量, 用于区分双足模型中的右臂和左臂摆动,如果没有手臂在摆动,则两者都应为 false,如果swing_progress > 0,则其中一个应为 true。 - 添加了对可选的
player_cape.jem模型文件的支持,用于更好地为玩家披风进行动画处理player_cape.jem仅包含一个cloak部分,其位置与常规player.jem中的完全相同, 如果存在此模型,它将以一种特殊方式渲染,不会将香草动画应用于披风。 允许更轻松的自定义动画 (注意,此 jem 文件不能通过 EMF 配置导出,但导出的player.jem模型将完美适用于它,从 v2.0.2 开始)
在渲染和自定义动画之前,EMF 对player_cape.jem应用的唯一变换是:
- 围绕
y轴将披风旋转 180 度。(与香草匹配) - 将披风向后平移 2 个像素。(与香草匹配)
- 如果玩家穿着胸甲,则将披风再向后平移 1 个像素并向上平移。(与香草匹配)
不会对披风应用其他旋转或平移,允许完全自定义动画。
常规player.jem内部的cloak部分将在player_cape.jem不存在时渲染,但不会受益于其香草动画被 EMF 取消
[EMF] Entity Model Features 2.0.1
on 2024 Dec 01- 添加了
is_first_person_hand变量,用于检测正在渲染的模型部分是否是第一人称玩家的手 - 在模型设置 GUI 中添加了
player settings类别- 添加了一个设置,强制自定义玩家模型仅适用于你自己的玩家,而不适用于多人游戏中的其他玩家
- 添加了一个设置,强制阻止所有自定义手部动画在第一人称视图中播放
- 两者默认均为禁用状态
- 修复了
is_sneaking变量无法正常工作的问题,现在应该与所有具有潜行姿势的模型对齐 - 在动画文档中添加了缺失的变量
- 修复了块实体和其他一些边缘情况,模型中的纹理覆盖完全不渲染的问题
[EMF] Entity Model Features 2.0.1
on 2024 Dec 01- 添加了
is_first_person_hand变量,用于检测正在渲染的模型部分是否是第一人称玩家的手 - 在模型设置 GUI 中添加了
player settings类别- 添加了一个设置,强制自定义玩家模型仅应用于你自己的玩家,而不是多人游戏中的其他玩家
- 添加了一个设置,强制阻止所有自定义手部动画在第一人称视图中播放
- 两者默认均为禁用状态
- 修复了
is_sneaking变量无法正常工作的问题,现在应该与所有具有潜行姿势的模型一致 - 向动画文档中添加了缺失的变量
- 修复了块实体和其他一些边缘情况,模型中的纹理覆盖不会完全渲染
[EMF] Entity Model Features 2.0
on 2024 Dec 01-
纹理覆盖现在在未找到纹理时提供“缺失纹理”纹理,而不是不应用
-
修复了某些玩家动画资源包下的第一人称手抖动问题
-
添加了
ifb() randomb() catch()动画函数ifb()是if()的布尔返回版本randomb()是random()的布尔返回版本catch(x, c, id)是一个新的调试函数,它将始终返回x,除非发生错误,在这种情况下它将返回c。id是可选的,它将使函数将c返回的原因打印到带有此id的日志中,以标识打印输出
-
添加了
is_jumpingis_swimmingis_glidingis_right_handed动画变量 -
添加了
modelRule modelSuffix var varb global_var global_varb随机属性 -
移除了实体变量的限制,使其仅可从声明模型访问*(OptiFine 对等)* (wolf_collar.jem 现在可以正确访问同一狼上由 wolf.jem 设置的变量)
-
在 gui 的模型列表中添加了模型显示,以便在导出其.jem 文件之前查看模型
-
添加了附件点
-
添加了箭头和光谱箭头模型支持
-
添加了
OptiFine 1.20.4_HD_U_I8_pre3中列出的新模型部件 -
添加了变量
distanceis_blockingis_crawlingheight_above_groundfluid_depthfluid_depth_downfluid_depth_up -
添加了全局变量,它们以“global_var.<name>”(浮点数)或“global_varb.<name>”(布尔值)的格式指定,它们由所有实体和方块实体共享,并允许进行更多技术方面的操作,如计数实体
-
改进了规则索引,现在在未满足任何规则时正确应用 0
-
修复了 v1.3 中返回的
cannot inherit from final classforge 崩溃 -
将变体属性移动到 ETF 中
-
修复了崩溃
.jem 加载失败 java.lang.NullPointerException: 由于“textureSize”为 null,无法读取数组长度 -
在缺少的地方将模型文件名添加到崩溃消息中
-
在 emf 模型导出中添加了
sizeAdd -
emf 模型导出现在对每个具有已知 OptiFine 部件名称的模型进行 2 次导出日志传递,一次传递带有 OptiFine 部件名称,一次传递不带有 OptiFine 部件名称。不带的那次可能会显示一些额外的部件,这些部件未被 OptiFine 使用,或者是由模组添加的
-
EMF 模型部件框现在可以额外声明
sizeAddX sizeAddY sizeAddZ,与仅在 OptiFine 中使用的sizeAdd不同,用于每个轴的模型膨胀。sizeAdd仍将像以前一样工作,但如果存在其他尺寸,则将被覆盖。 -
为
breezebreeze_eyesbreeze_windwind_charge添加了 OptiFine 部件名称定义 -
修复了在 1.3 中“!(arms.visible)”有效但“!arms.visible”无效的情况
-
模组模型的目录格式已从
assets/minecraft/optifine/cem/modded/<namespace>/<modelname>.jem更改为assets/<namespace>/optifine/cem/<modelname>.jem- 带有/modded/文件夹的旧目录目前仍受支持,但已被视为已弃用
- 此更改使事情与模组命名空间更加一致
emf/cem/目录在这些命名空间中也是有效的,并且可以将<modelname>.jem文件放在同名的文件夹中,例如cem/<modelname>/<modelname>.jem
-
为动画距离 LOD 设置添加了一个设置,现在考虑实体的大小以减少对较大实体的影响
-
修复了直接反转方法时的崩溃,例如
!between(....) -
当应用于模型部件或变量时,失败的动画表达式现在将解析为
0(OptiFine 对等) -
支持 ETF 的新配置屏幕构建器
- 添加了一个类别“Animation math details”,其中列出并解释了注册到动画数学系统的所有函数和变量
- 添加了一个类别“All models”,允许针对每个.jem 文件应用某些设置,并选择性地禁用某些模型的加载
- 将一些设置(主要是距离 LOD 的设置)移动到新的类别“performance settings”中
- 在“per entity settings”类别中添加了设置,以允许仅对那些实体应用某些设置
[EMF] Entity Model Features 2.0
on 2024 Dec 01-
纹理覆盖现在在未找到纹理时提供
missing texture纹理,而不是不应用 -
修复了某些玩家动画资源包的第一人称手抖动问题
-
添加了
ifb() randomb() catch()动画函数ifb()是if()的布尔返回版本randomb()是random()的布尔返回版本catch(x, c, id)是一个新的调试函数,它将始终返回x,除非出现错误,在这种情况下它将返回c。id是可选的,它将使函数将c返回的原因打印到带有此id的日志中,以识别打印输出
-
添加了
is_jumpingis_swimmingis_glidingis_right_handed动画变量 -
添加了
modelRule modelSuffix var varb global_var global_varb随机属性 -
移除了实体变量的限制,使其仅可从声明模型访问*(OptiFine 兼容性)**(wolf_collar.jem 现在可以正确访问同一狼上由 wolf.jem 设置的变量)*
-
在 gui 中的模型列表中添加了模型显示,以便在导出其.jem 文件之前查看模型
-
添加了附件点
-
添加了箭头和 spectral_arrow 模型支持
-
添加了在
OptiFine 1.20.4_HD_U_I8_pre3中列出的新模型部件 -
添加了变量
distanceis_blockingis_crawlingheight_above_groundfluid_depthfluid_depth_downfluid_depth_up -
添加了全局变量,它们以"global_var.<name>"(浮点数)或"global_varb.<name>"(布尔值)的格式指定,它们由所有实体和方块实体共享,并允许更多技术相关的事情,如计数实体
-
改进了 rule_index,现在在未满足任何规则时正确应用 0
-
修复了 v1.3 中返回的
cannot inherit from final classforge 崩溃 -
将变体属性移动到 ETF 中
-
修复了崩溃
.jem 加载失败 java.lang.NullPointerException: 由于"textureSize"为 null,无法读取数组长度 -
在缺少模型文件名的情况下,在崩溃消息中添加了模型文件名
-
在 emf 模型导出中添加了
sizeAdd -
emf 模型导出现在对每个具有已知 OptiFine 部件名称的模型进行 2 次导出日志传递,一次传递带有 OptiFine 部件名称,一次传递不带有 OptiFine 部件名称。不带的那次可能会揭示一些额外的部件,这些部件未被 OptiFine 使用,或者已被 mod 添加
-
EMF 模型部件盒现在可以额外声明
sizeAddX sizeAddY sizeAddZ,而不是仅针对 OptiFine 使用sizeAdd进行每个轴的模型膨胀。sizeAdd仍然将像以前一样工作,尽管如果存在其他值,它将被覆盖。 -
为
breezebreeze_eyesbreeze_windwind_charge添加了 OptiFine 部件名称定义 -
修复了在 1.3 中
!(arms.visible)有效但!arms.visible无效的情况 -
已修改 modded 模型的目录格式,从
assets/minecraft/optifine/cem/modded/<namespace>/<modelname>.jem更改为assets/<namespace>/optifine/cem/<modelname>.jem- 带有/modded/文件夹的旧目录目前仍受支持,但已被视为已弃用
- 此更改使事情与 modded 命名空间更加一致
emf/cem/目录在这些命名空间中也是有效的,并且能够将<modelname>.jem文件放在同名的文件夹中,例如cem/<modelname>/<modelname>.jem
-
为动画距离 LOD 设置添加了一个设置,现在考虑实体的大小以较少影响较大的实体
-
修复了直接反转方法时的崩溃,例如
!between(....) -
应用于模型部件或变量的失败动画表达式现在将解析为
0(OptiFine 兼容性) -
支持 ETF 的新配置屏幕生成器
- 添加了一个类别
Animation math details,其中列出并解释了注册到动画数学系统的所有函数和变量 - 添加了一个类别
All models,允许为每个.jem 文件应用某些设置,并选择性地禁用某些模型的加载 - 将一些设置,主要是距离 LOD 的设置,移动到新的类别
performance settings中 - 在
per entity settings类别中添加了设置,以允许仅将某些设置应用于那些实体
- 添加了一个类别

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