# 2.10

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

示例Demo:前往此处下载

# 一、更新时间表

  1. 在2023年12月20日上线2.10第一个Beta版。
  2. 在2024年1月2日上线2.10第二个Beta版。
  3. 在2024年1月18日上线2.10稳定版。
  4. 在2024年1月26日,全渠道将更新2.10版本玩家包体,玩家将陆续更新到2.10版本,请开发者合理安排更新节奏。

# 二、重要功能更新

# 1. 材质编译错误输出到日志

现在如果你的模组适用的材质shader发生编译错误,也会输出Compiler error日志到调试工具了,方便您更快定位错误,如图:

图片

# 2. 后处理参数拓展

本次我们为后处理自定义shader拓展了更多可用的参数,现在你可以在后处理的shader中引用他们了,包括: 当前所在维度,天气类型、世界时间、下雨与打雷强度、星星角度、天空颜色、环境光亮度、相机位置,如下图,可在同一个后处理效果中,根据不同的环境光亮度实现不同的颜色滤镜效果,详见这篇文档

图片

# 3. 支持拷贝玩家渲染参数到实体实例

现在你可以通过CopyPlayerRenderMaterialToOneActor系列接口将玩家的贴图、材质和几何体拷贝到指定实体的实例身上了,如图所示。

图片

# 4. 支持动态注册与移除自定义配方接口

新增了RemoveRecipeAddRecipe两个接口,用于动态移除和注册自定义配方。

图片

# 5. 方块实体NBT系列接口

对命令方块、漏斗、告示牌、物品展示框、酿造台等方块实体新增了设置和获取NBT属性的接口,详情参考GetCommandBlock系列接口。

图片

# 6. 支持创建带有附加值的抛射物

CreateProjectileEntity接口现在新增了auxvalue字段,可以创建不同状态效果的箭头和喷溅药水了。

# 7. 游戏规则设置接口补充部分设置选项

根据原生游戏补充了重生方块爆炸和重生半径两个选项。 图片

# 8. 方块实体支持客户端tick和卸载事件

新增client_tick字段,配置可触发客户端tick事件,详见这篇文档

# 9. attrvalue支持更多属性

现在GetAttrValue接口支持更多类型的属性了,如击退抗性、护甲值、跳跃力度。

# 10. ModAttr支持手动存档

与SaveExtraData接口类似,我们为ModAttr组件也增加了SaveAttr接口,便于开发者手动存档所有属性。

# 11. 飞行接口细化

  1. 我们调整了ChangePlayerFlyState接口,现在支持设置飞行权限时不立刻进入飞行状态
  2. 新增了IsPlayerCanFly接口判断是否具有飞行权限。

# 12. 其他更新与调整

  1. 为了满足开发者对模型更高的精细度需求,我们调整网易方块模型的精度,从原有的0.25调整为0.0625,现在精度大于0.0625的模型细节都将被保留。

  2. 轨迹运动器支持调整插值类型,详见AddEntityTrackMotion接口。

  3. 开发者在修改玩家或生物的模型贴图后,如希望恢复到进入游戏时的默认状态,现在可以使用ResetActorRenderResetSkin接口重置玩家和实体的渲染参数,回到初始状态。

  4. 修复了原生游戏的minecraft:structure_template_feature (opens new window)特征无法正常生效的问题。

  5. 为了提升大量设置方块场景下的效率,我们对SetBlockNew接口新增了是否更新相邻方块的参数,若设置为false可提升该接口的运行效率。

  6. 完善了PlaceStructure接口的参数,参照原版指令新增动画模式、动画时间、是否包含实体、是否移除方块、镜像模式、完整性、种子等可选参数,详见PlaceStructure接口。

# 三、API更新

  • 新增
  1. 新增IsHideNameTag(客户端), 获取是否隐藏场景内所有名字

  2. 新增GetWalkState(客户端), 获取玩家行走/潜行/跑步状态

  3. 新增SetCommandBlock(服务端), 对命令方块进行内容设置

  4. 新增GetCommandBlock(服务端), 获取命令方块的设置内容

  5. 新增ExecuteCommandBlock(服务端), 执行一次命令方块

  6. 新增SetHopperSpeed(服务端), 设置漏斗运输一个物品所需的时间(单位:红石刻,1秒10刻),默认值为4刻,该设置存档

  7. 新增GetHopperSpeed(服务端), 获取漏斗运输一个物品所需的时间(单位:刻)

  8. 新增SetSignTextStyle(服务端), 设置告示牌的文本样式

  9. 新增GetSignTextStyle(服务端), 获取告示牌的文本样式信息

  10. 新增SetFrameRotation(服务端), 设置物品展示框里物品的顺时针旋转角度

  11. 新增GetFrameRotation(服务端), 获取物品展示框里物品的顺时针旋转角度

  12. 新增SetFrameItemDropChange(服务端), 设置点击物品展示框时生成掉落的几率,默认为1

  13. 新增GetFrameItemDropChange(服务端), 获取物品展示框里物品的掉落几率

  14. 新增SetFrameItem(服务端), 设置物品展示框的物品

  15. 新增GetFrameItem(服务端), 获取物品展示框的物品

  16. 新增IsPlayerCanFly(服务端), 获取玩家能否飞行

  17. 新增SetBrewingStandSlotItem(服务端), 设置酿造台指定槽位物品

  18. 新增GetBrewingStandSlotItem(服务端), 获取酿造台指定槽位物品

  19. 新增GetAllEnchantsInfo(服务端), 服务端获取目前已注册的所有附魔信息

  20. 新增SaveAttr(服务端), 保存SetAttr设置的属性值

  21. 新增SetOperatorCommandAbility(服务端), 设置玩家是否具有操作员命令权限

  22. 新增SetTeleportAbility(服务端), 设置玩家能否使用TP指令

  23. 新增SetPlayerMute(服务端), 设置玩家是否禁言,该接口的设置不存档

  24. 新增SetPermissionLevel(服务端), 设置玩家权限等级

  25. 新增RemoveRecipe(服务端), 动态禁用配方

  26. 新增AddRecipe(服务端), 动态注册配方

  27. 新增ResetActorRender(客户端), 增加重置实体渲染接口

  28. 新增CopyPlayerRenderMaterialToOneActor(客户端), 将渲染材质从某个玩家拷贝到某个生物上

  29. 新增CopyPlayerGeometryToOneActor(客户端), 将渲染几何体从某个玩家拷贝到某个生物上

  30. 新增RebuildRenderForOneActor(客户端), 使用完entity类渲染接口后,重建单个生物渲染控制器

  31. 新增ResetRenderForOneActor(客户端), 将调用OneActor类渲染接口的生物重置回种群

  32. 新增CopyPlayerTextureToOneActor(客户端), 将贴图从某个玩家拷贝到某个生物上

  33. 新增GetAllEnchantsInfo(客户端), 客户端获取目前已注册的所有附魔信息

  34. 新增IsShowName(客户端), 新增获取实体nametag是否(按游戏默认逻辑)显示

  35. 新增ItemDurabilityChangedServerEvent(服务端), 物品耐久度变化时触发该事件

  36. 新增PlayerHungerChangeServerEvent(服务端), 玩家饥饿度变化事件

  37. 新增ModBlockEntityRemoveClientEvent(客户端), 客户端自定义方块实体卸载时触发

  38. 新增ModBlockEntityTickClientEvent(客户端), 客户端自定义方块实体tick事件,每秒20次

  39. 新增AttrType, 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH,AttrType.ARMOR的支持

  40. 新增WalkState, 玩家行走模式

  • 调整
  1. 调整AddEntityTrackMotion(服务端), 增加插值类型

  2. 调整AddPlayerTrackMotion(服务端), 增加插值类型

  3. 调整SetAttrValue(服务端), 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH的支持

  4. 调整GetAttrValue(服务端), 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH,AttrType.ARMOR的支持

  5. 调整SetAttrMaxValue(服务端), 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH的支持

  6. 调整GetAttrMaxValue(服务端), 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH的支持

  7. 调整SetBlockNew(服务端), 增加updateNeighbors参数设置是否触发相邻方块的更新

  8. 调整GetAllEffects(服务端), 增加浮点型持续时间

  9. 调整ChangePlayerFlyState(服务端), 增加是否进入飞行状态参数

  10. 调整SetGameRulesInfoServer(服务端), 增加了“重生方块爆炸”、“重生半径”的字段

  11. 调整GetGameRulesInfoServer(服务端), 增加了“重生方块爆炸”、“重生半径”的字段

  12. 调整PlaceStructure(服务端), 新增动画模式、动画时间、是否包含实体、是否移除方块、镜像模式、完整性、种子

  13. 调整SetAttr(服务端), 新增autoSave用于控制当needRestore为True时是否立刻存档

  14. 调整SetPlayerPrefixAndSuffixName(服务端), 新增名字颜色参数

  15. 调整CreateProjectileEntity(服务端), 增加auxvalue字段,支持定义原生弓箭、喷溅药水auxvalue值

  16. 调整GetAttrValue(客户端), 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH,AttrType.ARMOR的支持

  17. 调整GetAttrMaxValue(客户端), 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH的支持

  18. 调整AddCameraTrackMotion(客户端), 增加插值类型

  19. 调整GetAllEffects(客户端), 增加浮点型持续时间

  20. 调整ResetSkin(客户端), 增加isSteve参数,用于指定是否还原到Steve模型的皮肤,默认为True。当isSteve为False时,则还原成资源中心中购买并穿戴的皮肤

  21. 调整ServerItemTryUseEvent(服务端), cancel设置为true后不再触发ItemUseAfterServerEvent

  22. 调整ActorUseItemServerEvent(服务端), 喝牛奶支持触发该事件

  23. 调整PlayerEatFoodServerEvent(服务端), 支持蛋糕、牛奶触发该事件

  24. 调整PushScreenEvent(客户端), 新增screenDef参数,返回包含命名空间的UI名字

  25. 调整PopScreenEvent(客户端), 新增screenDef参数,返回包含命名空间的UI名字

  26. 调整PopScreenAfterClientEvent(客户端), 新增screenDef参数,返回包含命名空间的UI名字

  27. 调整OnItemSlotButtonClickedEvent(客户端), 增加盔甲栏、副手栏触发