# 1.21
**2021.1.28:版本号(v1.21 BE1.16.10)**
- 版本重大更新
1. 小地图增加如下更新:
1)优化地图渲染,避免在低端机下出现明显的卡顿;
2)支持自定义大小,同时可通过接口[SetSize](../接口/自定义UI/UI控件.md#setsize)动态改变大小;
3)标记图标支持默认使用本地玩家的脸部显示,并可配置其大小与背景色,详见 MiniMap
4)接口[AddEntityMarker](../接口/自定义UI/UI界面.md#addentitymarker)支持朝向标记;
5)增加地图缩小放大功能,见接口[ZoomIn](../接口/自定义UI/UI界面.md#zoomin)和[ZoomOut](../接口/自定义UI/UI界面.md#zoomout);
6)静态标记默认保存到本地;
7)小地图背景可在ui json中进行定制;
8)更新了小地图示例 CustomMapMod
2. 若干方块相关事件中的添加维度信息
3. 物品贴图支持使用 序列帧动画
4. 支持动态修改物品、盔甲和方块贴图,详见[ChangeItemTexture](../接口/物品.md#changeitemtexture)、[ChangeArmorTextures](../接口/物品.md#changearmortextures)、[ChangeBlockTextures](../接口/方块/渲染.md#changeblocktextures)
5. 支持UI控件对象化开发,用法详见 UI控件对象
1)实现控件基类BaseUIControl,包含控件的基础功能接口,详见[BaseUIControl](../接口/自定义UI/UI控件.md#baseuicontrol);
2)实现按钮控件类,继承自BaseUIControl,除基础功能接口外包含按钮相关功能接口,详见[ButtonUIControl](../接口/自定义UI/UI控件.md#buttonuicontrol);
3)实现网格控件类,继承自BaseUIControl,除基础功能接口外包含网格相关功能接口,详见[GridUIControl](../接口/自定义UI/UI控件.md#griduicontrol);
4)实现图片控件类,继承自BaseUIControl,除基础功能接口外包含图片相关功能接口,详见[ImageUIControl](../接口/自定义UI/UI控件.md#imageuicontrol);
5)实现文本控件类,继承自BaseUIControl,除基础功能接口外包含文本相关功能接口,详见[LabelUIControl](../接口/自定义UI/UI控件.md#labeluicontrol);
6)实现纸娃娃控件类,继承自BaseUIControl,除基础功能接口外包含纸娃娃相关功能接口,详见[NeteasePaperDollUIControl](../接口/自定义UI/UI控件.md#neteasepaperdolluicontrol);
7)实现进度条控件类,继承自BaseUIControl,除基础功能接口外包含进度条相关功能接口,详见[ProgressBarUIControl](../接口/自定义UI/UI控件.md#progressbaruicontrol);
8)实现滚动列表控件类,继承自BaseUIControl,除基础功能接口外包含滚动列表相关功能接口,详见[ScrollViewUIControl](../接口/自定义UI/UI控件.md#scrollviewuicontrol)
9)实现开关控件类,继承自BaseUIControl,除基础功能接口外包含开关相关功能接口,详见[SwitchToggleUIControl](../接口/自定义UI/UI控件.md#switchtoggleuicontrol)
10)实现文本输入框控件类,继承自BaseUIControl,除基础功能接口外包含文本输入框相关功能接口,详见[TextEditBoxUIControl](../接口/自定义UI/UI控件.md#texteditboxuicontrol)
- 新增
1. 新增[IsInApollo](../接口/通用/本地设备.md#isinapollo),返回当前游戏Mod是否运行在Apollo网络服
1. 新增[HideHorseHealthGui](../接口/原生UI.md#hidehorsehealthgui),隐藏hud界面的坐骑的血量显示
1. 新增[SetStepHeight](../接口/实体/行为.md#setstepheight),设置玩家前进非跳跃状态下能上的最大台阶高度
1. 新增[GetStepHeight](../接口/实体/行为.md#getstepheight),返回玩家前进非跳跃状态下能上的最大台阶高度
1. 新增[ResetStepHeight](../接口/实体/行为.md#resetstepheight),恢复引擎默认玩家前进非跳跃状态下能上的最大台阶高度,即恢复为原来的0.5625
1. 新增[MayPlace](../接口/世界/地图.md#mayplace),判断方块是否可以放置
1. 新增[ListenOnBlockRemoveEvent](../事件/方块.md#listenonblockremoveevent),是否监听方块[BlockRemoveServerEvent](../事件/方块.html#blockremoveserverevent)事件
1. 新增[GetOrbExperience](../接口/实体/经验球.md#getorbexperience),获取经验球的经验
1. 新增[GetPlayerTotalExp](../接口/玩家/属性.md#getplayertotalexp),获取玩家的总经验值
1. 新增[SetPlayerTotalExp](../接口/玩家/属性.md#setplayertotalexp),设置玩家的总经验值
1. 新增[GetSpawnPosition](../接口/世界/地图.md#getspawnposition),获取世界出生点坐标
1. 新增[Hurt](../接口/实体/行为.md#hurt),设置实体伤害
1. 新增[GetBannedItemList](../接口/世界/游戏规则.md#getbanneditemlist),新增获取禁用物品列表
1. 新增[SpawnItemToContainer](../接口/方块/容器.md#spawnitemtocontainer),新增生成物品到容器
1. 新增[SpawnItemToEnderChest](../接口/方块/容器.md#spawnitemtoenderchest),新增生成物品到末影箱
1. 新增[GetContainerSize](../接口/方块/容器.md#getcontainersize),新增获取容器容量大小
1. 新增[MayPlaceOn](../接口/世界/地图.md#mayplaceon),判断物品是否可以放到指定的位置上
1. 新增[GetItemDurability](../接口/物品.md#getitemdurability),获取指定槽位的物品耐久
1. 新增[SetItemDurability](../接口/物品.md#setitemdurability),设置物品的耐久值
1. 新增[SetMaxStackSize](../接口/物品.md#setmaxstacksize),设置物品的最大堆叠数量(存档)
1. 新增[SetAttackDamage](../接口/物品.md#setattackdamage),设置物品的攻击伤害值
1. 新增[SetItemTierLevel](../接口/物品.md#setitemtierlevel),设置工具类物品的挖掘等级
1. 新增[SetItemTierSpeed](../接口/物品.md#setitemtierspeed),设置工具类物品的挖掘速度
1. 新增[ShowCommonHurtColor](../接口/模型.md#showcommonhurtcolor),设置挂接骨骼模型的实体是否显示通用的受伤变红效果
1. 新增[SetPlayerRespawnPos](../接口/玩家/行为.md#setplayerrespawnpos),设置玩家复活的位置,当前玩家的复活点仅支持主世界
1. 新增[ChangeArmorTextures](../接口/物品.md#changearmortextures),修改盔甲贴图
1. 新增[ChangeBlockTextures](../接口/方块/渲染.md#changeblocktextures),替换方块的贴图,使用该贴图的所有方块朝向或者使用该贴图的其它方块也会同时被改变
1. 新增[GetConfigData](../接口/通用/本地存储.md#getconfigdata),获取本地配置文件中存储的数据
1. 新增[SetConfigData](../接口/通用/本地存储.md#setconfigdata),以本地配置文件的方式存储数据
1. 新增[GetCurrentDimension](../接口/世界/地图.md#getcurrentdimension),获取客户端当前维度
1. 新增[ChangeItemTexture](../接口/物品.md#changeitemtexture),替换物品的贴图
1. 新增[ShowCommonHurtColor](../接口/模型.md#showcommonhurtcolor),设置挂接骨骼模型的实体是否显示通用的受伤变红效果
1. 新增[SetUIProfile](../接口/游戏设置.md#setuiprofile),设置"UI 档案"模式
1. 新增[SetToggleOption](../接口/游戏设置.md#settoggleoption),修改开关型设置的接口
1. 新增[GetToggleOption](../接口/游戏设置.md#gettoggleoption),获得某个开关设置值的接口
1. 新增[HighlightBoxSelection](../接口/游戏设置.md#highlightboxselection),镜头移动时高亮当前视角中心所指的方块
1. 新增[SetSelectControl](../接口/自定义UI/UI界面.md#setselectcontrol),设置当前焦点所在的控件
1. 新增[ZoomIn](../接口/自定义UI/UI界面.md#zoomin),放大地图
1. 新增[ZoomOut](../接口/自定义UI/UI界面.md#zoomout),缩小地图
1. 新增[ZoomReset](../接口/自定义UI/UI界面.md#zoomreset),恢复地图放缩大小为默认值
1. 新增[ServerEntityTryPlaceBlockEvent](../事件/方块.md#serverentitytryplaceblockevent),新增维度id参数,新增朝向参数
1. 新增[DestroyBlockEvent](../事件/方块.md#destroyblockevent),新增维度id参数
1. 新增[ServerPreBlockPatternEvent](../事件/世界.md#serverpreblockpatternevent),新增维度id参数
1. 新增[ServerBlockUseEvent](../事件/方块.md#serverblockuseevent),新增维度id参数
1. 新增[StepOnBlockServerEvent](../事件/实体.md#steponblockserverevent),新增维度id参数
1. 新增[MobGriefingBlockServerEvent](../事件/实体.md#mobgriefingblockserverevent),新增维度id参数
1. 新增[ExplosionServerEvent](../事件/世界.md#explosionserverevent),新增维度id参数
1. 新增[PlayerRespawnFinishServerEvent](../事件/玩家.md#playerrespawnfinishserverevent),玩家复活完毕事件
1. 新增[ServerPostBlockPatternEvent](../事件/世界.md#serverpostblockpatternevent),新增维度id参数
1. 新增[PlaceNeteaseStructureFeatureEvent](../事件/世界.md#placeneteasestructurefeatureevent),新增维度id参数
1. 新增[OnPlayerHitBlockServerEvent](../事件/玩家.md#onplayerhitblockserverevent),新增维度id以及auxValue参数
1. 新增[EntityPlaceBlockAfterServerEvent](../事件/方块.md#entityplaceblockafterserverevent),新增维度id参数
1. 新增[HopperTryPullInServerEvent](../事件/方块.md#hoppertrypullinserverevent),新增维度id参数
1. 新增[HopperTryPullOutServerEvent](../事件/方块.md#hoppertrypulloutserverevent),新增维度id参数
1. 新增[EntityEffectDamageServerEvent](../事件/实体.md#entityeffectdamageserverevent),生物受到状态伤害事件。
1. 新增[OnCommandOutputServerEvent](../事件/世界.md#oncommandoutputserverevent),Command命令执行成功事件。
1. 新增[PlayerChatButtonClickClientEvent](../事件/UI.md#playerchatbuttonclickclientevent),玩家点击聊天按钮或回车键触发呼出聊天窗口时客户端抛出的事件
1. 新增[PerspChangeClientEvent](../事件/玩家.md#perspchangeclientevent),视角切换事件
1. 新增[ColorCode](../枚举值/ColorCode.md),代替GenerateColor接口
1. 新增[UiBaseLayer](../枚举值/UiBaseLayer.md),自定义UI界面的层次宏定义
- 调整
1. 调整[SetEntityOnFire](../接口/实体/行为.md#setentityonfire),调整说明,可通过事件[OnFireHurtEvent](../事件/实体.html#onfirehurtevent)取消着火伤害
1. 调整[SpawnItemToArmor](../接口/玩家/背包.md#spawnitemtoarmor),支持清除指定槽位的装备
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo),新增idAux字段,用于ui物品控件的绑定
1. 调整[SetMoveSetting](../接口/实体/行为.md#setmovesetting),现在支持游泳,爬墙与飞行生物
1. 调整[GetRecipesByResult](../接口/世界/配方.md#getrecipesbyresult),返回的配方中将包含输出的物品
1. 调整[AddPlayerRenderMaterial](../接口/玩家/渲染.md#addplayerrendermaterial),修复从后台切回来被重置的问题
1. 调整[AddPlayerRenderController](../接口/玩家/渲染.md#addplayerrendercontroller),修复从后台切回来被重置的问题
1. 调整[RemovePlayerRenderController](../接口/玩家/渲染.md#removeplayerrendercontroller),修复从后台切回来被重置的问题
1. 调整[RemovePlayerGeometry](../接口/玩家/渲染.md#removeplayergeometry),修复从后台切回来被重置的问题
1. 调整[AddPlayerGeometry](../接口/玩家/渲染.md#addplayergeometry),修复从后台切回来被重置的问题
1. 调整[AddPlayerTexture](../接口/玩家/渲染.md#addplayertexture),修复从后台切回来被重置的问题
1. 调整[AddPlayerAnimation](../接口/玩家/渲染.md#addplayeranimation),修复从后台切回来被重置的问题
1. 调整[AddPlayerAnimationController](../接口/玩家/渲染.md#addplayeranimationcontroller),修复从后台切回来被重置的问题
1. 调整[RemovePlayerAnimationController](../接口/玩家/渲染.md#removeplayeranimationcontroller),修复从后台切回来被重置的问题
1. 调整[RebuildPlayerRender](../接口/玩家/渲染.md#rebuildplayerrender),修复从后台切回来被重置的问题
1. 调整[AddActorRenderMaterial](../接口/实体/渲染.md#addactorrendermaterial),修复从后台切回来被重置的问题
1. 调整[AddActorRenderController](../接口/实体/渲染.md#addactorrendercontroller),修复从后台切回来被重置的问题
1. 调整[RemoveActorRenderController](../接口/实体/渲染.md#removeactorrendercontroller),修复从后台切回来被重置的问题
1. 调整[RebuildActorRender](../接口/实体/渲染.md#rebuildactorrender),修复从后台切回来被重置的问题
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo),新增idAux字段,用于ui物品控件的绑定
1. 调整[SetLegacyBindRot](../接口/模型.md#setlegacybindrot),为了适配studio,调整为骨骼模型创建时默认为False,不再需要设置。但是对于旧版特效,仍然可以设置为True来适配。
1. 调整[SetUiItem](../接口/自定义UI/UI界面.md#setuiitem),新增支持焰火之星
1. 调整[AddEntityMarker](../接口/自定义UI/UI界面.md#addentitymarker),支持实体标记旋转角度
1. 调整[AddStaticMarker](../接口/自定义UI/UI界面.md#addstaticmarker),静态标记会保存在本地
1. 调整[RemoveStaticMarker](../接口/自定义UI/UI界面.md#removestaticmarker),删除静态标记会删除本地数据
1. 调整[ServerPlayerTryDestroyBlockEvent](../事件/方块.md#serverplayertrydestroyblockevent),参数新增方块被敲击的面向id,维度id以及是否生成掉落物
1. 调整[ChestBlockTryPairWithServerEvent](../事件/方块.md#chestblocktrypairwithserverevent),新增维度id参数
1. 调整[OnFireHurtEvent](../事件/实体.md#onfirehurtevent),新增着火时间参数fireTime和取消伤害参数cancel
1. 调整[ServerItemUseOnEvent](../事件/物品.md#serveritemuseonevent),新增维度id,blockName,以及blockAuxValue参数
1. 调整[ItemUseOnAfterServerEvent](../事件/物品.md#itemuseonafterserverevent),新增维度id,blockName,以及blockAuxValue参数
1. 调整[AddEffectServerEvent](../事件/实体.md#addeffectserverevent),新增伤害参数damage
1. 调整[WillAddEffectServerEvent](../事件/实体.md#willaddeffectserverevent),新增伤害参数damage
1. 调整[RefreshEffectServerEvent](../事件/实体.md#refresheffectserverevent),新增伤害参数damage
1. 调整[BlockStrengthChangedServerEvent](../事件/方块.md#blockstrengthchangedserverevent),增加维度参数
1. 调整[BlockRemoveServerEvent](../事件/方块.md#blockremoveserverevent),可以动态对方块的该事件进行监听
1. 调整[StartDestroyBlockServerEvent](../事件/方块.md#startdestroyblockserverevent),新增维度id参数
1. 调整[ClientItemUseOnEvent](../事件/物品.md#clientitemuseonevent),新增blockName、blockAuxValue、face参数
1. 调整[PlayerTryDestroyBlockClientEvent](../事件/方块.md#playertrydestroyblockclientevent),参数新增方块被敲击的面向id
1. 调整[OnPlayerHitBlockClientEvent](../事件/玩家.md#onplayerhitblockclientevent),新增auxValue参数
1. 调整[OnCommandOutputClientEvent](../事件/世界.md#oncommandoutputclientevent),分类从“玩家”改为“世界”
- 废弃(将在未来不可用)
1. 废弃GenerateColor,请使用ColorCode枚举
1. 废弃DefineEvent,监听自定义事件前不再需要DefineEvent
1. 废弃GetEntityIdentifier,请使用GetEngineTypeStr
1. 废弃GetItemEntityItemIdentifier,请使用GetDroppedItem
1. 废弃SetHurtByEntity,请使用Hurt
1. 废弃IsSneaking,请使用isSneaking
1. 废弃IsSwiming,请使用isSwimming
1. 废弃BindModelSfx,请使用CreateEngineSfx或CreateEngineSfxFromEditor创建序列帧,并使用Bind绑定骨骼模型
1. 废弃Create,请使用CreateEngineSfxFromEditor
1. 废弃SetVisible,推荐使用UI面向对象BaseUIControl.SetVisible接口
1. 废弃GetVisible,推荐使用UI面向对象BaseUIControl.GetVisible接口
1. 废弃GetText,推荐使用UI面向对象LabelUIControl.GetText接口
1. 废弃SetText,推荐使用UI面向对象LabelUIControl.SetText接口
1. 废弃GetEditText,推荐使用UI面向对象TextEditBoxUIControl.GetEditText接口
1. 废弃SetEditText,推荐使用UI面向对象TextEditBoxUIControl.SetEditText接口
1. 废弃GetTextColor,推荐使用UI面向对象LabelUIControl.GetTextColor接口
1. 废弃SetTextColor,推荐使用UI面向对象LabelUIControl.SetTextColor接口
1. 废弃SetEditTextMaxLength,推荐使用UI面向对象TextEditBoxUIControl.SetEditTextMaxLength接口
1. 废弃SetTextFontSize,推荐使用UI面向对象LabelUIControl.SetTextFontSize接口
1. 废弃SetPosition,推荐使用UI面向对象BaseUIControl.SetPosition接口
1. 废弃GetPosition,推荐使用UI面向对象BaseUIControl.GetPosition接口
1. 废弃SetAlpha,推荐使用UI面向对象BaseUIControl.SetAlpha接口
1. 废弃SetSize,推荐使用UI面向对象BaseUIControl.SetSize接口
1. 废弃GetSize,推荐使用UI面向对象BaseUIControl.GetSize接口
1. 废弃SetSprite,推荐使用UI面向对象ImageUIControl.SetSprite接口
1. 废弃SetSpriteColor,推荐使用UI面向对象ImageUIControl.SetSpriteColor接口
1. 废弃SetSpriteGray,推荐使用UI面向对象ImageUIControl.SetSpriteGray接口
1. 废弃SetSpriteUV,推荐使用UI面向对象ImageUIControl.SetSpriteUV接口
1. 废弃SetSpriteUVSize,推荐使用UI面向对象ImageUIControl.SetSpriteUVSize接口
1. 废弃SetSpriteClipRatio,推荐使用UI面向对象ImageUIControl.SetSpriteClipRatio接口
1. 废弃SetTouchEnable,推荐使用UI面向对象BaseUIControl.SetTouchEnable接口
1. 废弃AddTouchEventHandler,推荐使用UI面向对象ButtonUIControl.AddTouchEventParams接口开启按钮回调功能并通过SetButtonTouchUpCallback等接口绑定回调函数
1. 废弃RenderPaperDoll,推荐使用UI面向对象NeteasePaperDollUIControl.RenderEntity接口渲染实体或NeteasePaperDollUIControl.RenderSkeletonModel接口渲染骨骼模型
1. 废弃SetGridDimension,推荐使用UI面向对象GridUIControl.SetGridDimension接口
1. 废弃SetToggleState,推荐使用UI面向对象SwitchToggleUIControl.SetToggleState接口
1. 废弃SetScrollViewPos,推荐使用UI面向对象ScrollViewUIControl.SetScrollViewPos接口
1. 废弃GetScrollViewPos,推荐使用UI面向对象ScrollViewUIControl.GetScrollViewPos接口
1. 废弃SetScrollViewPercentValue,推荐使用UI面向对象ScrollViewUIControl.SetScrollViewPercentValue接口
1. 废弃GetNeteasePaperDollModelId,推荐使用UI面向对象NeteasePaperDollUIControl.GetModelId接口
1. 废弃ServerExplosionBlockEvent,请使用ExplosionServerEvent
1. 废弃PistonFacing,请使用Facing枚举