# 2.0
2022.1.13:版本号(v2.0 BE1.17.2)
包括Mod PC包,手机测试版启动器,和服务器引擎。
- 温馨提示
在1月21日,全渠道将更新2.0版本玩家包体,玩家将陆续更新到2.0版本,请开发者合理安排更新节奏。
- 新增重大功能介绍
1. 自定义地形
原版的群系只能在“minecraft:overworld_generation_rules”中改变群系的突变,以及根据温度来划分群系出现的概率,无法更加灵活的控制群系的布局,所以在2.0版本,我们引入了自定义群系源,用来解决原版hardcode群系布局的问题。
使用新的功能,你可以更精细的控制地形的生成,下面是使用Json生成的示例地形,具体的使用请参考 自定义群系生成流程(网易版) 。

2. 自定义含水,含雪方块
自定义含水方块支持在组件中配置自定义方块含水的相关功能,并支持python监听事件、接口设置等,详见 自定义含水方块 。
自定义含雪方块支持在组件中配置自定义方块含雪的相关功能,并支持python监听事件、接口设置等,详见 自定义含雪方块 。
3. 自定义方块实体支持原版粒子特效和音效
详见 添加微软原版粒子特效及音效 。
4. 自定义书
书本作为一种物品,主要是供玩家浏览信息,基于自定义书本,你可以提供一个书本界面给玩家,可以让玩家用翻书本的方式获取知识。详见 自定义书 。

- 新增其他功能
自定义基础物品增加 netease:fuel 和 netease:cooldown 字段,详见 自定义基础物品 。
- 新增
1. 新增[GetTopScreen](../接口/自定义UI/通用.md#gettopscreen),获取UI堆栈栈顶的UI节点
1. 新增[GetBookManager](../接口/自定义UI/自定义书本.md#getbookmanager),获取书本管理对象
1. 新增[NotifyToMultiClients](../接口/通用/事件.md#notifytomulticlients), 服务器发送事件到指定一批客户端
1. 新增[ResetMotion](../接口/实体/行为.md#resetmotion),重置生物的瞬时移动方向向量
1. 新增[SetPersistent](../接口/实体/属性.md#setpersistent),设置实体不会因为离玩家太远而被[清除](https://zh.minecraft.wiki/w/%E7%94%9F%E6%88%90#.E5.9F.BA.E5.B2.A9.E7.89.88_2)
1. 新增[SetLiquidBlock](../接口/世界/方块管理.md#setliquidblock),设置某一位置的方块的extraBlock接口
1. 新增[SetSnowBlock](../接口/世界/方块管理.md#setsnowblock),设置某一位置的方块含雪
1. 新增[GetLiquidBlock](../接口/世界/方块管理.md#getliquidblock),获取方块所含流体信息接口
1. 新增[GetBlockControlAi](../接口/实体/行为.md#getblockcontrolai),获取生物原生AI是否被屏蔽
1. 新增[GetSpawnDimension](../接口/世界/地图.md#getspawndimension),获取世界出生维度
1. 新增[SetSpawnDimensionAndPosition](../接口/世界/地图.md#setspawndimensionandposition),设置世界出生点维度与坐标
1. 新增[GetPlayerUid](../接口/联机大厅.md#getplayeruid),获取玩家的uid
1. 新增[QueryLobbyUserItem](../接口/联机大厅.md#querylobbyuseritem),查询还没发货的订单接口
1. 新增[LobbyGetStorage](../接口/联机大厅.md#lobbygetstorage),获取存储的数据接口
1. 新增[LobbySetStorageAndUserItem](../接口/联机大厅.md#lobbysetstorageanduseritem),设置订单已发货或者存数据接口
1. 新增[GetPlayerRespawnPos](../接口/玩家/行为.md#getplayerrespawnpos),新增获取玩家复活点接口
1. 新增[GetEntityTags](../接口/实体/标签.md#getentitytags),获取实体标签列表
1. 新增[AddEntityTag](../接口/实体/标签.md#addentitytag),增加实体标签
1. 新增[RemoveEntityTag](../接口/实体/标签.md#removeentitytag),移除实体某个指定的标签
1. 新增[EntityHasTag](../接口/实体/标签.md#entityhastag),判断实体是否存在某个指定的标签
1. 新增[Pause](../接口/特效/模型特效.md#pause),暂停模型特效
1. 新增[Resume](../接口/特效/模型特效.md#resume),继续播放模型特效
1. 新增[Pause](../接口/特效/序列帧.md#pause),暂停序列帧播放
1. 新增[SetRotUseZXY](../接口/特效/序列帧.md#setrotusezxy),设置序列帧的旋转,旋转顺序按照绕z,x,y轴旋转
1. 新增[SetFreeModelAniSpeed](../接口/模型.md#setfreemodelanispeed),设置自由模型动画的播放速度
1. 新增[SetEntityShadowShow](../接口/模型.md#setentityshadowshow),设置实体打开/关闭影子渲染
1. 新增[Pause](../接口/特效/粒子.md#pause),暂停粒子播放
1. 新增[GetStringHash64](../接口/实体/molang.md#getstringhash64),增加返回字符串变量的hash64的接口
1. 新增[Update](../接口/自定义UI/UI界面.md#update),补充文档
1. 新增[GetScreenName](../接口/自定义UI/UI界面.md#getscreenname),获得本界面的名称
1. 新增[lobbyGoodBuySucServerEvent](../事件/联机大厅.md#lobbygoodbuysucserverevent),玩家联机大厅登录或者联机大厅游戏内购买商品时服务端抛出的事件
1. 新增[HealthChangeServerEvent](../事件/实体.md#healthchangeserverevent),生物生命值发生变化的事件
1. 新增[BlockLiquidStateChangeServerEvent](../事件/方块.md#blockliquidstatechangeserverevent),方块转为含水或者脱离含水(流体)前触发的事件
1. 新增[BlockLiquidStateChangeAfterServerEvent](../事件/方块.md#blockliquidstatechangeafterserverevent),方块转为含水或者脱离含水(流体)后触发的事件
1. 新增[BlockSnowStateChangeServerEvent](../事件/方块.md#blocksnowstatechangeserverevent),方块转为含雪或者脱离含雪前触发的事件
1. 新增[BlockSnowStateChangeAfterServerEvent](../事件/方块.md#blocksnowstatechangeafterserverevent),方块转为含雪或者脱离含雪后触发的事件
1. 新增[OnModBlockNeteaseEffectCreatedClientEvent](../事件/方块.md#onmodblockneteaseeffectcreatedclientevent),自定义方块实体绑定的特效创建成功事件
1. 新增[HealthChangeClientEvent](../事件/实体.md#healthchangeclientevent),生物生命值发生变化的事件
1. 新增[EntityModelChangedClientEvent](../事件/实体.md#entitymodelchangedclientevent),新增实体模型切换时触发的事件。
1. 新增[SetBlockType](../枚举值/SetBlockType.md),方块设置的类型
- 调整
1. 调整[CreateUI](../接口/自定义UI/通用.md#createui),添加备注
1. 调整[StartNavTo](../接口/玩家/导航.md#startnavto),新增控制序列帧是否开启深度检测的参数
1. 调整[PushScreen](../接口/自定义UI/通用.md#pushscreen),增加自定义参数
1. 调整[SetBlockControlAi](../接口/实体/行为.md#setblockcontrolai),原版模型关闭AI时动作也会冻结
1. 调整[ChangePlayerFlyState](../接口/玩家/行为.md#changeplayerflystate),新增使用限制说明
1. 调整[SetCanBlockSetOnFireByLightning](../接口/世界/游戏规则.md#setcanblocksetonfirebylightning),外放这个接口
1. 调整[SetCanActorSetOnFireByLightning](../接口/世界/游戏规则.md#setcanactorsetonfirebylightning),外放这个接口
1. 调整[GetAttrValue](../接口/实体/属性.md#getattrvalue),新增客户端获取属性的接口
1. 调整[GetAttrMaxValue](../接口/实体/属性.md#getattrmaxvalue),新增客户端获取属性最大值的接口
1. 调整[GetMolangValue](../接口/实体/molang.md#getmolangvalue),扩展接口,增加返回molang变量hash64
1. 调整[ChangeBindAutoScale](../接口/自定义UI/UI界面.md#changebindautoscale),添加备注
1. 调整[OnOffhandItemChangedServerEvent](../事件/物品.md#onoffhanditemchangedserverevent),新增备注:切换耐久度不同的相同物品,不会触发该事件
1. 调整[OnCarriedNewItemChangedServerEvent](../事件/物品.md#oncarriednewitemchangedserverevent),新增备注:切换耐久度不同的相同物品,不会触发该事件
1. 调整[ServerItemTryUseEvent](../事件/物品.md#serveritemtryuseevent),新增使用场景的描述
1. 调整[OnItemPutInEnchantingModelServerEvent](../事件/物品.md#onitemputinenchantingmodelserverevent),playerId的参数类型改为str
- 修复
1. 修复了可以通过summon npc指令召唤教育版npc的问题
1. 修复[ModelUpdateAnimationMolangVariable](../接口/虚拟世界/模型.md#modelupdateanimationmolangvariable),修复了客户端实体中配置了scripts/initialize时接口不生效的问题
- 离线Demo下载
下载[DEMO](https://g79.gdl.netease.com/2.0DemoV4.zip)。