基本信息
我的世界Java版本
1.21.2–1.21.5
1.21
1.20–1.20.4
1.19.2–1.19.4
1.18.2
平台
Fabric
运行环境
其他链接
搬运团队
详情信息
许可证 LGPL-3.0-only
发布于 5 months ago
更新于 15 days ago
更新日志
- 添加了
EMFAnimationApi
,它允许其他模组向 EMF 注册自己的自定义动画变量和函数。- 可以通过
FloatSupplier
为简单数字变量向EMFAnimationApi
添加变量。- 通过
BooleanSupplier
为简单布尔变量添加变量。 - 如果你的变量需要更复杂的逻辑,例如读取复杂的变量名或在不同上下文中给出不同的结果,可以通过自定义变量工厂添加变量。
- 通过
- 可以通过
Function<Float, Float>
为具有 1 个参数的简单函数向EMFAnimationApi
添加函数。- 通过
BiFunction<Float, Float, Float>
为具有 2 个参数的简单函数添加函数。 - 通过
TriFunction<Float, Float, Float, Float>
为具有 3 个参数的简单函数添加函数。 - 通过
Function<List<Float>, Float>
为具有通过List<Float>
提供的可变数量参数的函数添加函数。 - 如果你的函数需要更复杂的逻辑,例如将参数字符串读取为除浮点数之外的值,可以通过自定义函数工厂添加函数。
- 通过
- 可以通过
- 将
未知模型打印
选项更改为模型导出
,并添加了将所有模型信息导出到.jem 文件或日志的选项,而不仅仅是未知/已修改的模型。- 模型现在以正确的枢轴、盒子和 UV 导出为
Blockbench
格式。 - 模型现在导出到
.minecraft/emf/export/
。
- 模型现在以正确的枢轴、盒子和 UV 导出为
- 实现了
is_on_head
、is_in_hand
和is_in_item_frame
,它们之前没有任何作用。 - 修复了一个
"newstate" is null
崩溃。 - 添加了
Animation LOD 距离
设置,允许你设置 EMF 开始跳过动画帧以节省性能的距离。 - 添加了
在低 fps 时保留 LOD
设置,当游戏运行在 60 fps 以下时,它将按比例减少上述 LOD 设置的影响,因为在较低的 fps 下跳过的帧可能会更明显。 - 重新设计了配置屏幕,在适当的地方使用滑块。
- 将
wolf_armor
添加到 OptiFine 名称映射中。 - 无效的纹理覆盖将不再导致模型无法加载,而是记录错误并使用原始纹理。
- EMF 日志消息现在以更短的
[EMF]
为前缀。 - 暂时禁用了三叉戟的纹理覆盖,因为它们存在问题且难以排查。
- 添加了调试渲染选项
纹理上的线框
,它同时渲染模型的线框和纹理。 - 添加了调试渲染选项
纹理上的闪烁线框
,它同时渲染模型的线框和纹理,但线框会淡入淡出。 - EMF 现在可以正确读取 OptiFine 设置的各种相对路径的所有纹理覆盖,例如
./
、~/
等。 - 添加了一个配置设置(默认启用),允许 EMF 修改
增强块实体(EBE)
模组的配置,以便在加载自定义 EMF 模型的块实体时禁用它。 - 修复了纹理覆盖与特征渲染器配合异常的问题(修复了 Ewan 的带有村民的实体健康条 cem 模型)。
- 将
left_ear
和right_ear
添加到head_piglin.jem
中,这似乎是正确的,但在 OptiFine 的文档中缺失了:/ - 减少并重新措辞了一些会让用户担心的加载日志垃圾信息(例如,Fresh Animations 1.9 现在在加载时不再发送日志错误)。
- 添加了仅适用于 EMF 的弧度和度的旋转逻辑函数
wrapdeg() wraprad() degdiff() raddiff()
。wrap
函数将旋转值向下包裹到其最小的相同值,例如wrapdeg(370)
将返回10
,wrapdeg(350)
将返回-10
。diff
函数将返回两个旋转值之间的结果差异,考虑到旋转,例如degdiff(10, 350)
将返回-20
,degdiff(10, 370)
将返回0
。
- 添加了许多仅适用于 EMF 的插值动画函数。
catmullrom() quadbezier() cubicbezier() hermite() easeinoutexpo() easeinexpo() easeoutexpo() easeinoutcirc() easeincirc() easeoutcirc() easeinoutelastic() easeinelastic() easeoutelastic() easeinoutback() easeinback() easeoutback() easeinoutbounce() easeinbounce() easeoutbounce() easeinquad() easeoutquad() easeinoutquad() easeincubic() easeoutcubic() easeinoutcubic() easeinquart() easeoutquart() easeinoutquart() easeinquint() easeoutquint() easeinoutquint() easeinsine() easeoutsine() easeinoutsine()
。- hermite 和 catmullrom 有 5 个参数,bezier 有 4 个参数,其余的有 3 个参数,并且都以与
lerp()
相同的方式使用,其中增量值是第一个参数。 - 这是一个了解这些函数大部分外观的好网站 https://easings.net/。
- 添加了
e
变量。 - 修复了某个 mixin 导致崩溃的问题。
- EMF 现在支持修改使用原始块实体模型的已修改块实体模型,与原始模型分开。
- (例如,
lootr
模组的箱子现在尝试读取modded/lootr/special_loot_chest.jem
,而不是与chest.jem
冲突)。 - 启用
打印未知模型
设置将在日志中打印这些示例。
- (例如,
- 完全重写了动画变量和函数的创建,这应该减少内存使用,并允许其他模组添加自己的变量和函数。
- 重新措辞了一些翻译。