Minetest 5.6.0版本发布

设置中文

图形

Wisp-MT

5.6.0 的一大重点是改进我们的图形和输入代码。Minetest 使用一个名为 Irrlicht 的 3d 渲染库。Irrlicht 已经过时并且不再更新,因此在 5.5.0 中我们创建了一个名为 Irrlicht-MT 的分支。这使我们能够修复许多以前无法修复的错误。我们还一直在删除未使用的代码并用其他库替换我们可以使用的代码。我们的目标是完全移除 Irrlicht,直接使用 SDL 和 OpenGL。

动态阴影

Minetest 现在还支持基于太阳和月亮位置的动态阴影。节点、玩家和实体都会投射阴影,阴影可以用水或玻璃等半透明的东西着色。

固定透明度排序

一项重大变化是增加了适当的透明度排序;这解决了许多与通过液体、玻璃和树叶等其他透明材料查看透明材料相关的问题。

模组配置(“选择模组”)

现在可以在多个地方拥有相同的模组,然后选择一个特定的实例来启用。多次安装相同的模组很常见,因为模组包通常包含在其他地方找到的模组。

“Select Mods”对话框已更新,可在缺少依赖项时显示有用的信息。用户界面现在还显示了该模组的可读标题,而不是其技术名称。

Select Mods 对话框中的缺少依赖性错误

改进的登录/注册用户界面

Minetest 的每服务器登录系统让新玩家感到困惑。我们经常收到有关如何创建帐户的问题。为了解决这个问题,“确认密码”注册对话框已被删除。现在有单独的“注册”和“登录”按钮,以及一个新的注册对话框。这应该使新用户更清楚该过程。

image

拆分登录和注册

image

新注册对话框,替换确认对话框

脚本 API

Minetest 现在有一个 API,可以让模组在另一个线程中运行 Lua 代码。这可用于卸载昂贵的计算,解除主服务器线程的阻塞。

现在,游戏和模组也可以隐藏调试 (F5) 显示中包含的位置和其他信息。

现在不推荐使用name in ;应改为使用。这提高了用于人类可读名称的一致性。game.conf title mod.conf title

使用缺少依赖项的模组加载世界当前会自动禁用这些模组。现在已弃用。将来,世界将无法加载。这改善了用户体验,因为当模组禁用自己时,玩家经常会感到困惑。

最后但并非最不重要的一点是,粒子生成器 API 进行了很多改进,添加了更多功能来控制动画。

变更日志

请注意,此处并未列出对版本之间代码所做的所有更改。未列出对上一版本之后引入的错误的修复、小的内部更改、代码样式修复以及类似的更改。如果您想要一个版本之间所做的每个 更改的列表,请参阅提交日志

弃用和兼容性说明

  • name 在 game.conf 中已弃用游戏标题
    • 从现在开始指定游戏标题,请title 改用

客户 / 视听

  • 基于动态着色器的阴影:节点、实体、使用 ( x2048 )
    • 包括许多错误修复和改进(调整、性能)
  • 修复了 statbar HUD 背景缩放和编号 ( appgurueu )
  • 立即应用纹理包主菜单纹理(ROllerozxa
  • 修复碰撞框 min y != 0 ( grorp )的玩家的脚步声
  • 为节点面添加深度排序 ( x2048 )
    • 这修复了查看多个半透明节点时的外观问题。
    • 默认情况下,这仅适用于 16 个节点的距离。使用transparency_sorting_distance 设置来调整它
  • 使用等效照明优化交换节点 ( TurkeyMcMac )
  • 修复项目实体 Z-fighting ( appgurueu )
  • 使用模组名称/标题而不是技术名称来显示(GoodClover
  • 修复主菜单中未显示为启用的纹理包(rubenwardy
  • 如果指向未知节点,调试屏幕现在会在顶部显示“”(Wuzzy
  • 默认启用聊天可点击网络链接 (Ctrl+Click) ( Froggo )
  • HUD:修复过时的选择框 ( appgurueu )
  • 使no_screenshot 图像更清晰(Zughy
  • 添加注册对话框以单独登录/注册(rubenwardy
  • 对变化没有伤害效果hp_max ( appgurueu )
  • 修复更新实体上的辉光和灯光计算 ( sfan5 )
  • 修复未知节点有时显示“无纹理”而不是“未知节点”纹理(Wuzzy

世界/服务器/环境

  • world.mt 中不同的 mod 路径值以避免重复 mod 名称的问题 ( rubenwardy )
  • 如果 curl 被禁用,则修复损坏的服务器启动(sfan5
  • 增加最大值。每个块默认的对象 ( appgurueu )
  • 内置:允许撤销未知权限(SmallJoker
  • 修复一些纹理未正确发送给旧客户端(Oblomov
  • 修复几个注册/认证相关的问题(sfan5
  • 修复 mods 和 modpacks 的依赖启用(rubenwardyTurkeyMcMac
  • 使用别名修复烹饪和燃料工艺(TurkeyMcMac
  • 命令:一些数字可以用“ ~ ”替换或添加相对于当前数字的值(Wuzzy
    • ~ ”等价于“ ~0
    • 支持的命令:/deleteblocks , /emergeblocks , /fixlight , /spawnentity , /teleport ,/time
    • 示例: " /teleport 15 ~5 ~ " 传送到 (15, <当前 Y 坐标加 5>, <当前 Z 坐标>)
  • 不允许在单人游戏中禁止 ( sfan5 )
  • 文档:添加权限描述 ( x2048 )
  • 将 Android 上的最大 FPS 提高到 60 ( ROllerozxa )
  • 为设置类型+引擎添加许多限制(WuzzySmallJoker
  • 重新组织 settingtypes.txt ( rubenwardy )

脚本 API / 修改

  • 改进的 formspec 文档 ( DS )
  • 优化:仅在更改时发送 HUD 标志 ( appgurueu )
  • count_meta 允许通过 item meta: , count_alignment ( DS )设置显示的项目计数及其对齐方式
  • disallowed_mapgen_settings 在( Wuzzy )中添加对“种子”的支持
  • 文档改进列表:
    • AreaStore小丑
    • Luavector 助手类 ( sfan5 )
    • spawn_by 装饰用 ( Zughy )
    • LBM 文档 ( TurkeyMcMac )
    • 整体改进(sfan5
  • 允许get_sky 返回所有天空相关参数的表格 ( Zughy )
  • 添加basic_debug HUD 标志以控制调试信息的显示,如调试屏幕中的位置(默认情况下)(appgurueu
  • SpatialAreaStore 修复来自( setupminimal )的内存泄漏
  • 添加功能ObjectRef:set_lighting() 以控制游戏/模组的阴影强度(x2048
  • 修复 ’ [combine 'EVDF_TEXTURE_NPOT 禁用时 ( paradust7 )
  • hud_get : 航点的返回精度字段 ( appgurueu )
  • 为并行 Lua 代码执行添加异步环境 ( sfan5 )
    • minetest.handle_async
    • minetest.register_async_dofile
  • 修复 Minetest 将错误归咎于错误的 mod ( appgurueu )
  • 弃用 game.conf nametitle 改用 (#12030) ( rubenwardy )
  • 保护更多设置不被 mods 设置(sfan5
  • 添加函数ObjectRef:respawn() 以调用玩家重生(sfan5
  • 正确处理 Lua 实体 HP 变化(如出拳)(sfan5
  • 添加工具辅助功能ItemStack:add_wear_by_uses() 以添加工具磨损,使其具有给定的使用次数(Wuzzy
  • 添加minetest.get_tool_wear_after_use 以模拟工具在使用给定次数后会损坏时的磨损 ( Wuzzy )
  • on_deactivate 实体回调:区分移除和卸载(appgurueu
  • 删除tile_imagesspecial_materials 过时的代码 ( Zughy )
  • set_stars : 允许在白天使用day_opacity ( Wuzzy )设置最大恒星不透明度
  • FormSpec: 9-slice 图像, animated_image , 和fgimg_middle ( v-rob )

杂项/维护

由于变更日志目标受众的兴趣,有意省略了代码细节。

  • 修复 macOS 编译指令 ( sfan5 )
  • 各种 C++ 代码清理和改进(TurkeyMcMacsfan5OblomovSmallJokerOctavianRichardTrysavilliJosiahWI
  • 开发测试游戏改进列表:
    • TGA 测试节点 ( ehrlemann )
    • 测试武器和盔甲球模式(Wuzzy
    • 用于测试覆盖的节点和项目 ( Wuzzy )
    • 实体生命周期和回调 ( sfan5 )
    • 项目元数据编辑器 ( Wuzzy )
  • Minetest 现在使用 C++14
  • 删除直接 OpenGL(ES) 依赖项 ( sfan5 )
  • 将 Lua 编译为 C++ 以正确捕获异常 ( TurkeyMcMac )
  • 构建系统改进(sfan5ShadowNinjaLoneWolfHT
  • Lua 文件更改时运行自动化测试 ( x2048 )
  • 添加 JSON(反)序列化基准(paradust7
  • 通过缓存(mapblocks、collisionbox)(sfan5 )进行性能优化
  • 添加更多 Prometheus 指标 ( sfan5 )
  • 添加文档以列出下一个主要版本的重大更改 ( Zughy )
  • 修补内置 Lua 以修复 Android 上的错误编译(paradust7
  • 修复 BSD iconv 声明 ( savilli )
  • 修复Android输入框崩溃(ROllerozxa

挖矿游戏

  • 改进的购物车移动行为 ( SmallJoker )
    • 改进的方向处理
    • 更平滑的“轨道末端”动画
    • 其他改进
  • 动态阴影强度随着云密度的增加而增加(仅当您启用了动态阴影时才会起作用)(lhofhansl
  • player_api.globalstep 允许模组使用( LoneWolfHT )覆盖玩家动画全局步长
  • 添加了日志 API ( nixnoxus )
  • 如果玩家没有模型,则修复崩溃(Lars Mueller
  • 修复损坏get_animationplayer_api bell07 )
  • 修复熔炉火声被摧毁后继续播放的问题 ( Wuzzy )
  • 修复 TNT 炸毁ignore 节点(Wuzzy
  • 修复一些锄头在预定的使用次数后没有损坏(Wuzzy
  • 修复书籍复制故障(appgurueu
  • 如果 param2 更改,则修复玻璃和黑曜石玻璃的不正确行为 ( appgurueu )
  • 修复购物车有时在斜坡上面向错误的方向(不是 100% 完美的错误修复)(SmallJoker
  • 新翻译:波兰语 ( mrubax10 )
  • 翻译更新:乌克兰语(baytuch )、俄语(baytuch )、德语(Wuzzy )、Lojban(Wuzzy )、世界语(quarthex