# 2.11
2024.03.19:版本号(V2.11 BE1.18.30)包括Mod PC包,手机测试版启动器,和服务器引擎。
示例Demo:前往此处下载
## 一、更新时间表
1. 在2024年3月19日上线2.11第一个Beta版。
2. 在2024年4月2日上线2.11第二个Beta版。
3. 在2024年4月11日上线2.11稳定版。
4. 在2024年4月19日,全渠道将更新2.11版本玩家包体,玩家将陆续更新到2.11版本,请开发者合理安排更新节奏。
## 二、重要功能更新
1. 新增支持矩阵概念及其基本运算,详情参考Matrix。
2. 新增陀螺仪系列接口,支持获取陀螺仪数据,控制上报频率,详情参考[ToggleGyroSensor](../接口/控制.md#togglegyrosensor) 等接口。
3. 方块新增支持配置燃烧时长,详见netease:fuel组件。
4. 方块新增支持配置最大堆叠数量,详见minecraft:max_stack_size组件。
5. 新增根据权重控制多动画混合接口,详见[SetAnim1DMultiControlParam](../接口/模型.md#setanim1dmulticontrolparam)接口。
4. 新增支持动态添加后处理定义的接口,详见[AddPostProcess](../接口/后处理/自定义.md#addpostprocess)。
5. 后处理支持将某一pass处理结果传递到其他pass接口,详见[PostPassResultToOtherPass](../接口/后处理/自定义.md#postpassresulttootherpass)。
6. 屏幕拾取与射线检测等接口支持返回更精确的浮点数命中坐标,详见[PickFacing](../接口/控制.md#pickfacing)、[GetChosen](../接口/控制.md#getchosen)和[getEntitiesOrBlockFromRay](../接口/世界/实体管理.md#getentitiesorblockfromray)三个接口。
7. 新增一套实体AOI检测接口,详见[CreateEntityAOI](../接口/世界/实体管理.md#createentityaoi)。
8. 新增获取记分板记分项和玩家记分项的功能,详见[GetAllScoreboardObjects](../接口/世界/记分板.md#getallscoreboardobjects)和[GetAllPlayerScoreboardObjects](../接口/世界/记分板.md#getallplayerscoreboardobjects)接口。
10. 新增设置玩家滑动条类设置的接口,如视野、亮度、灵敏度等等,详见[SetSliderOption](../接口/游戏设置.md#setslideroption)接口。
11. 新增支持自定义伤害类型,可在设置伤害[Hurt](../接口/实体/行为.md#hurt)接口中传入伤害来源标签,并在相关的受伤事件参数中获取到对应的伤害来源标签。
12. 新增一系列判断玩家控制状态的接口,详情参考[IsCanMove](../接口/控制.md#iscanmove)等接口。
13. 新增模拟玩家攻击生物的接口,详情参考[PlayerAttackEntity](../接口/玩家/行为.md#playerattackentity)。
14. Pushscreen和Popscreen接口调用时现在会触发对应的OnActive和OnDeactive两个UI的生命周期函数,详见界面创建流程及生命周期。
## 三、API更新
- 新增
1. 新增[GetOriginAreaOffset](../接口/原生UI.md#getoriginareaoffset)(客户端), 获取指定原生UI的offset,包括左上角和右下角
2. 新增[ToggleGyroSensor](../接口/控制.md#togglegyrosensor)(客户端), 开启或关闭陀螺仪传感器采集
3. 新增[SetGyroSensorReportRate](../接口/控制.md#setgyrosensorreportrate)(客户端), 设置陀螺仪传感器(上报/触发)频率
4. 新增[CreateEntityAOI](../接口/世界/实体管理.md#createentityaoi)(服务端), 新增注册感应区域,有实体进入时和离开时会触发回调函数func
5. 新增[DeleteEntityAOI](../接口/世界/实体管理.md#deleteentityaoi)(服务端), 删除使用[CreateEntityAOI](#createentityaoi)注册的感应区
6. 新增[GetAllScoreboardObjects](../接口/世界/记分板.md#getallscoreboardobjects)(服务端), 获取所有记分板项
7. 新增[GetAllPlayerScoreboardObjects](../接口/世界/记分板.md#getallplayerscoreboardobjects)(服务端), 获取玩家记分项
8. 新增[GetEntityDamage](../接口/实体/属性.md#getentitydamage)(服务端), 获取生物(包括玩家)的攻击力
9. 新增[GetJumpPower](../接口/实体/行为.md#getjumppower)(服务端), 获取生物跳跃力度
10. 新增[PlayerAttackEntity](../接口/玩家/行为.md#playerattackentity)(服务端), 模拟玩家攻击某个生物
11. 新增[GetAllScoreboardObjects](../接口/世界/记分板.md#getallscoreboardobjects)(客户端), 获取所有记分板项
12. 新增[GetAllPlayerScoreboardObjects](../接口/世界/记分板.md#getallplayerscoreboardobjects)(客户端), 获取玩家记分项
13. 新增[RegisterAnim1DMultiControlParam](../接口/模型.md#registeranim1dmulticontrolparam)(客户端), 新增多动作融合功能接口:注册用于根据权重控制多动画进行混合的参数
14. 新增[SetAnim1DMultiControlParam](../接口/模型.md#setanim1dmulticontrolparam)(客户端), 新增多动作融合功能接口:设置用于根据权重控制多动画进行混合的参数
15. 新增[RemoveAnim1DMultiControlParam](../接口/模型.md#removeanim1dmulticontrolparam)(客户端), 新增多动作融合功能接口:删除用于根据权重控制多动画进行混合的参数
16. 新增[IsCanMove](../接口/控制.md#iscanmove)(客户端), 获取玩家是否响应移动
17. 新增[IsCanJump](../接口/控制.md#iscanjump)(客户端), 获取玩家是否响应跳跃(以及在水中浮起)
18. 新增[IsCanAttack](../接口/控制.md#iscanattack)(客户端), 获取玩家是否响应攻击
19. 新增[IsCanWalkMode](../接口/控制.md#iscanwalkmode)(客户端), 获取玩家是否响应切换行走模式
20. 新增[IsCanPerspective](../接口/控制.md#iscanperspective)(客户端), 获取玩家是否响应切换视角
21. 新增[IsCanPause](../接口/控制.md#iscanpause)(客户端), 获取玩家是否响应暂停按钮
22. 新增[IsCanChat](../接口/控制.md#iscanchat)(客户端), 获取玩家是否响应聊天按钮
23. 新增[IsCanScreenShot](../接口/控制.md#iscanscreenshot)(客户端), 获取玩家是否响应截图按钮
24. 新增[IsCanOpenInv](../接口/控制.md#iscanopeninv)(客户端), 获取玩家是否响应打开背包按钮
25. 新增[IsCanDrag](../接口/控制.md#iscandrag)(客户端), 获取玩家是否响应屏幕拖动
26. 新增[IsCanInair](../接口/控制.md#iscaninair)(客户端), 获取玩家是否响应打上升下降按钮
27. 新增[CreateBindEntityNew](../接口/特效/微软粒子.md#createbindentitynew)(客户端), 创建粒子发射器并绑定实体
28. 新增[GetSliderOption](../接口/游戏设置.md#getslideroption)(客户端), 获得某个滑动条设置选项的值
29. 新增[SetSliderOption](../接口/游戏设置.md#setslideroption)(客户端), 设置某个滑动条设置选项的值
30. 新增[PostPassResultToOtherPass](../接口/后处理/自定义.md#postpassresulttootherpass)(客户端), 将自定义pass的纹理结果传递到其他自定义pass的fragmentShader指定纹理单元槽位
31. 新增[AddPostProcess](../接口/后处理/自定义.md#addpostprocess)(客户端), 添加后处理效果,与graphics_settings/post_process.json定义的process等效
32. 新增[GetPostProcessOrder](../接口/后处理/自定义.md#getpostprocessorder)(客户端), 获取后处理效果的渲染顺序
33. 新增[GetUiItem](../接口/自定义UI/UI控件.md#getuiitem)(客户端), 新增获取ItemRenderer控件显示的物品接口
34. 新增[EntityDieLoottableAfterServerEvent](../事件/实体.md#entitydieloottableafterserverevent)(服务端), 生物死亡掉落物品之后事件
35. 新增[GyroSensorChangedClientEvent](../事件/控制.md#gyrosensorchangedclientevent)(客户端), 陀螺仪传感器姿态发生变化事件
36. 新增[OriginGUIName](../枚举值/OriginGUIName.md), 获取原生UI名字
37. 新增[SliderOptionId](../枚举值/SliderOptionId.md), 滑动条设置选项枚举值
- 调整
1. 调整[getEntitiesOrBlockFromRay](../接口/世界/实体管理.md#getentitiesorblockfromray)(服务端), 返回值中添加精准碰撞坐标hitPos,类型为tuple(float,float,float)
1. 调整[GetChunkMinPos](../接口/世界/地图.md#getchunkminpos)(服务端), 修复末地、下界的值异常,改用entityId创建组件后,即获取正常
1. 调整[GetChunkMaxPos](../接口/世界/地图.md#getchunkmaxpos)(服务端), 修复末地、下界的值异常,改用entityId创建组件后,即获取正常
1. 调整[Hurt](../接口/实体/行为.md#hurt)(服务端), cause类型新增Custom类型,新增customTag参数标识自定义伤害来源,可在ActorHurtServerEvent、ActuallyHurtServerEvent、DamageEvent、PlayerHurtEvent、PlayerDieEvent、MobDieEvent监听到标识
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(服务端), 物品类型添加trident、potion、crossbow
1. 调整[PickFacing](../接口/控制.md#pickfacing)(客户端), 返回值中添加精准碰撞坐标hitPosX、 hitPoxY、hitPosZ, 三者均为float类型
1. 调整[GetChosen](../接口/控制.md#getchosen)(客户端), 返回值中添加精准碰撞坐标hitPosX、 hitPoxY、hitPosZ, 三者均为float类型
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(客户端), 物品类型添加trident、potion、crossbow
1. 调整[AddEntityMarker](../接口/自定义UI/UI界面.md#addentitymarker)(客户端), 增加是否反转z轴朝向
1. 调整[DamageEvent](../事件/实体.md#damageevent)(服务端), 新增customTag参数,用于接收使用[Hurt接口](../接口/实体/行为.md#hurt)传入的自定义伤害类型
1. 调整[ActuallyHurtServerEvent](../事件/实体.md#actuallyhurtserverevent)(服务端), 新增customTag参数,用于接收使用[Hurt接口](../接口/实体/行为.md#hurt)传入的自定义伤害类型
1. 调整[MobDieEvent](../事件/实体.md#mobdieevent)(服务端), 新增cause与customTag参数,cause用于标明伤害来源,详见Minecraft枚举值文档的[ActorDamageCause](../枚举值/ActorDamageCause.md),customTag用于接收使用[Hurt接口](../接口/实体/行为.md#hurt)传入的自定义伤害类型
1. 调整[PlayerHurtEvent](../事件/玩家.md#playerhurtevent)(服务端), 新增cause与customTag参数,cause用于标明伤害来源,详见Minecraft枚举值文档的[ActorDamageCause](../枚举值/ActorDamageCause.md),customTag用于接收使用[Hurt接口](../接口/实体/行为.md#hurt)传入的自定义伤害类型
1. 调整[PlayerDieEvent](../事件/玩家.md#playerdieevent)(服务端), 新增cause与customTag参数,cause用于标明伤害来源,详见Minecraft枚举值文档的[ActorDamageCause](../枚举值/ActorDamageCause.md),customTag用于接收使用[Hurt接口](../接口/实体/行为.md#hurt)传入的自定义伤害类型
1. 调整[ActorHurtServerEvent](../事件/实体.md#actorhurtserverevent)(服务端), 新增customTag参数,用于接收使用[Hurt接口](../接口/实体/行为.md#hurt)传入的自定义伤害类型
1. 调整[StartDestroyBlockServerEvent](../事件/方块.md#startdestroyblockserverevent)(服务端), 新增face参数
1. 调整[EntityEffectDamageServerEvent](../事件/实体.md#entityeffectdamageserverevent)(服务端), 新增cause参数,标明伤害来源,详见Minecraft枚举值文档的[ActorDamageCause](../枚举值/ActorDamageCause.md)。
1. 调整[StartDestroyBlockClientEvent](../事件/方块.md#startdestroyblockclientevent)(客户端), 新增face参数
1. 调整[ActorDamageCause](../枚举值/ActorDamageCause.md), 新增Custom枚举,用于在Hurt接口标识为自定义伤害来源
- 废弃(将在未来不可用)
1. 废弃GetEntityInArea,请使用GetEntitiesInSquareArea接口
1. 废弃CreateBindEntity,接口存在无法修复的问题,强烈建议使用CreateBindEntityNew接口