# 2.6

2023.03.14:版本号(V2.6 BE1.18.30) 包括Mod PC包,手机测试版启动器,和服务器引擎。

示例Demo: 点击此处下载 (opens new window)

# 一、更新时间表

  1. 在3月14日上线2.6第一个Beta版。
  2. 在3月28日上线2.6第二个Beta版。
  3. 在4月6日上线2.6稳定版。
  4. 在4月14日,全渠道将更新2.6版本玩家包体,玩家将陆续更新到2.6版本,请开发者合理安排更新节奏。

# 二、更新内容

# 特效

# 1. 原版粒子特效支持发射模型

  • 在原版微软粒子的基础上支持发射骨骼模型,并且支持纹理和动画,详情请参考这篇文档

图片

  • 示例Demo新增了粒子发射骨骼模型的示例,详情参考NeteaseModelParticleDemo,同时也可在内容库进行下载和查看。

图片

# 实体

# 1.坐骑骑乘API拓展

  • 在现有坐骑的接口上,新增了坐骑座位的增删改、骑乘者更换座位、锁定座位等接口,帮助开发者更便捷地实现丰富的骑乘效果。详情请参考这篇文档

图片

# 2.运动器功能优化

上述优化对实体、玩家、相机的运动器接口均生效。

# UI

# 1. 纸娃娃控件拓展

  • 网易版纸娃娃(NeteasePaperDoll)控件现在支持绕X、Z轴的拖拽旋转,详见下图:

图片

  • 示例Demo新增了网易纸娃娃示例,可在内容库中查看,如下图所示:

  • 图片

# 2. 模拟HUD操作接口

  • 为了帮助开发者更好地定制全新的UI,本次新增了更多模拟原生UI操作的接口,详情见原生UI接口。

# 3. 原生界面支持动态修改,面向对象编程

  • 对暂停界面,背包界面等原生界面,现在不仅支持在他们之上添加自定义的控件,并且支持以ScreenNode对象管理他们,对他们进行直接修改,详见 原生界面修改
  • 支持使用接口动态创建删除控件,而不是仅仅通过克隆控件的方式,详见CreateChildControl以及RemoveChildControl接口。
  • 支持全局获取当前顶层界面的ScreenNode管理对象,详见GetTopUINode接口。

# 4. 富文本控件支持换行标签

# 5. 新增获取部分控件属性接口

# 6.优化了UI控件示例

  • 将原有的UI控件示例模板按照控件的功能拆分为多个脚本,优化了代码的布局和注释。

  • 详情可在内容库中查看UI控件示例,如下图所示

图片

# 物品

# 1. 所有自定义物品支持渲染偏移组件

  • netease:render_offset组件以前仅支持可蓄力物品,现在它可以对任意类型的自定义物品生效了。

# 2. 自定义物品分页同名合并

  • 此前多个mod使用同名物品分页会出现冲突,现在使用同名物品分页的mod物品会被合并显示在同一个分页下了。

# 方块

# 1. 方块调色板接口优化

# 玩家

# 1. 相机交互范围优化

  • 修改相机锚点和偏移时,会同步修改玩家的交互范围,避免了调整相机后选取方块的偏移问题,详见SetCameraOffsetSetCameraAnchor

# 2. 玩家皮肤渲染优化

  • 修复了渲染指定玩家皮肤时,会影响到其他同款皮肤玩家的问题。

# 其他

# 1. 支持玩家反馈包含模组日志(全渠道上线后生效)

  • 现在mod脚本运行出现报错时,将会打印到玩家设备中,玩家反馈模组问题时,可勾选上传此日志,开发者便可在开发者平台下载和查看该日志。
  • 日志打印功能默认关闭,开发者需要通过SetMcpModLogCanPostDump接口开启该脚本的日志打印功能,接口对每个mod脚本(MCP)独立生效。
  • 开启此功能后,除了代码报错会被打印,开发者也可以使用接口PostMcpModDump自定义打印MCP日志,此日志也会打印到玩家设备,并通过反馈上传到开发者的组件后台。

注意事项:

  1. 此功能依赖玩家客户端和开发者平台的更新,仅在全渠道上线后方可生效。
  2. 请勿打印过多自定义日志信息,避免玩家的存档大小快速膨胀,影响玩家对模组的体验。
  3. 日志在玩家本地只保留7天,超期日志自动清理。

# 2. 新增接口和事件索引表

  • 在接口文档中增加了所有接口和事件的文档,供开发者在同一页面进行浏览和搜索,详见Api索引表事件索引表

# API更新

  • 新增
  1. 新增GetServerTickTime(服务端), 获取服务端引擎上一帧的帧消耗时间

  2. 新增SetMcpModLogCanPostDump(服务端), 设置是否可打印MCP日志

  3. 新增GetMcpModLogCanPostDump(服务端), 获取是否可打印MCP日志

  4. 新增PostMcpModDump(服务端), 打印MCP日志

  5. 新增GetTopUINode(客户端), 获取Push进来的最顶层界面,包括原生界面

  6. 新增GetUIScreenProxyCls(客户端), 获得原生界面Screen代理基类

  7. 新增ChangeWalkState(客户端), 切换行走/潜行/跑步状态

  8. 新增ChangeSneakState(客户端), 切换潜行状态

  9. 新增SimulateJump(客户端), 模拟跳跃

  10. 新增ClickInteractGUI(客户端), 模拟点击交互按钮

  11. 新增SetMcpModLogCanPostDump(客户端), 设置是否可打印MCP日志

  12. 新增GetMcpModLogCanPostDump(客户端), 获取是否可打印MCP日志

  13. 新增PostMcpModDump(客户端), 打印MCP日志

  14. 新增SetActorCollidable(服务端), 设置实体是否可碰撞

  15. 新增GetLoadBlocks(服务端), 获取已经加载的方块id

  16. 新增OpenClientChunkGeneration(服务端), 开启/关闭客户端区块生成功能。

  17. 新增HasEffect(服务端), 获取实体是否存在当前状态效果

  18. 新增GetLoadActors(服务端), 获取已加载的实体id

  19. 新增GetLoadItems(服务端), 获取已经加载的物品id

  20. 新增SetEntityLockRider(服务端), 设置坐骑上的实体是否锁定序号

  21. 新增ChangeRiderSeat(服务端), 设置骑乘者在当前坐骑上的序号

  22. 新增GetRiders(服务端), 获取坐骑上的骑乘者信息

  23. 新增AddEntitySeat(服务端), 增加坐骑座位

  24. 新增SetEntitySeat(服务端), 设置坐骑座位的位置、旋转以及允许实体旋转范围

  25. 新增DeleteEntitySeat(服务端), 删除坐骑座位

  26. 新增LockVerticalMove(客户端), 模拟上升或下降

  27. 新增UnLockVerticalMove(客户端), 解除上升或下降状态

  28. 新增AddPlayerScriptAnimate(客户端), 在玩家的客户端实体定义(minecraft:client_entity)json中的scripts/animate节点添加动画/动画控制器

  29. 新增GetModelStyle(客户端), 获取模型类型

  30. 新增GetAllEffects(客户端), 获取实体当前所有状态效果

  31. 新增HasEffect(客户端), 获取实体是否存在当前状态效果

  32. 新增CreateChildControl(客户端), 在当前界面创建子控件

  33. 新增RemoveChildControl(客户端), 移除当前画布中的子控件

  34. 新增GetGridItem(客户端), 根据网格位置获取元素控件

  35. 新增GetScrollViewPercentValue(客户端), 支持获取当前scroll_view内容的百分比位置

  36. 新增GetToggleState(客户端), 获取Toggle开关控件的值

  37. 新增PopScreenAfterClientEvent(客户端), 新增PopScreenAfterClientEvent,当弹出动作全部完成时触发

  38. 新增CloseNeteaseShopEvent(客户端), 玩家关闭商城界面的时候抛出的事件

  • 调整
  1. 调整OpenPauseGui(客户端), 增加使用说明

  2. 调整OpenChatGui(客户端), 增加使用说明

  3. 调整OpenVoiceGui(客户端), 补充使用说明

  4. 调整AddEntityTrackMotion(服务端), 给实体(不含玩家)轨迹运动器添加朝向控制

  5. 调整AddEntityAroundEntityMotion(服务端), 对实体环绕运动器可以指定半径

  6. 调整AddPlayerTrackMotion(服务端), 给玩家轨迹运动器添加朝向控制

  7. 调整AddPlayerAroundEntityMotion(服务端), 对实体环绕运动器可以指定半径

  8. 调整GetBlockPaletteBetweenPos(服务端), 增加eliminateAir参数,可决定生成的方块调色板中是否剔除多余的空气方块。

  9. 调整SetPlayerRideEntity(服务端), 支持设置玩家成为第n个骑乘者

  10. 调整SetRiderRideEntity(服务端), 支持设置玩家成为第n个骑乘者

  11. 调整GetInputVector(客户端), 修复了无法正常获取到LockInputVector的输入量的BUG

  12. 调整LockInputVector(客户端), 修复了潜行状态下移动速度不变的BUG,修复了GetInputVector无法正常获取到LockInputVector的输入量的BUG

  13. 调整GetBlockPaletteBetweenPos(客户端), 增加eliminateAir参数,可决定生成的方块调色板中是否剔除多余的空气方块。

  14. 调整SetCameraOffset(客户端), 修复了设置偏移后,无法正常交互的BUG

  15. 调整SetCameraAnchor(客户端), 修复了设置偏移后,无法正常交互的BUG

  16. 调整AddCameraTrackMotion(客户端), 给相机轨迹运动器添加朝向控制

  17. 调整AddCameraAroundEntityMotion(客户端), 对实体环绕运动器可以指定半径

  18. 调整GetVariable(客户端), 新增发射器移动速度变量variable.emitter_speed

  19. 调整SetVariable(客户端), 新增发射器移动速度变量variable.emitter_speed

  20. 调整GetMolangValue(客户端), 修复了pc下,molang变量为字符串时,返回值被转换成32位整形的问题

  21. 调整GetStringHash64(客户端), 修复了pc下返回值被转换成32位整形的问题

  22. 调整RenderEntity(客户端), param新增rotation_axis参数

  23. 调整RenderSkeletonModel(客户端), param新增rotation_axis参数

  24. 调整RenderBlockGeometryModel(客户端), param新增rotation_axis参数

  • 废弃(将在未来不可用)
  1. 废弃SetActorCollidable,单独设置客户端不生效,建议设置服务端