This commit is contained in:
boybook
2025-12-01 20:59:16 +08:00
parent 12738a142c
commit 760c2dd9ad
5535 changed files with 21070 additions and 2021 deletions

View File

@@ -33,7 +33,8 @@
"/mcdocs/1-ModAPI/接口/世界/自定义数据",
"/mcdocs/1-ModAPI/接口/世界/指令",
"/mcdocs/1-ModAPI/接口/世界/消息",
"/mcdocs/1-ModAPI/接口/世界/记分板"
"/mcdocs/1-ModAPI/接口/世界/记分板",
"/mcdocs/1-ModAPI/接口/世界/行为"
],
"title": "世界"
},
@@ -142,7 +143,8 @@
},
"/mcdocs/1-ModAPI/接口/联机大厅",
"/mcdocs/1-ModAPI/接口/成就",
"/mcdocs/1-ModAPI/接口/商城"
"/mcdocs/1-ModAPI/接口/商城",
"/mcdocs/1-ModAPI/接口/渲染"
],
"title": "接口"
},
@@ -211,6 +213,7 @@
"/mcdocs/1-ModAPI/枚举值/OpenContainerId",
"/mcdocs/1-ModAPI/枚举值/OptionId",
"/mcdocs/1-ModAPI/枚举值/OriginGUIName",
"/mcdocs/1-ModAPI/枚举值/PermissionChangeCause",
"/mcdocs/1-ModAPI/枚举值/PlayerActionType",
"/mcdocs/1-ModAPI/枚举值/PlayerExhauseRatioType",
"/mcdocs/1-ModAPI/枚举值/PlayerUISlot",
@@ -219,6 +222,7 @@
"/mcdocs/1-ModAPI/枚举值/RenderControllerArrayType",
"/mcdocs/1-ModAPI/枚举值/RenderLayer",
"/mcdocs/1-ModAPI/枚举值/SetBlockType",
"/mcdocs/1-ModAPI/枚举值/ShapeType",
"/mcdocs/1-ModAPI/枚举值/SliderOptionId",
"/mcdocs/1-ModAPI/枚举值/StructureFeatureType",
"/mcdocs/1-ModAPI/枚举值/TimeEaseType",
@@ -236,8 +240,31 @@
},
{
"children": [
"/mcdocs/1-ModAPI/更新信息/3.6",
"/mcdocs/1-ModAPI/更新信息/3.5",
"/mcdocs/1-ModAPI/更新信息/3.4",
"/mcdocs/1-ModAPI/更新信息/3.3"
"/mcdocs/1-ModAPI/更新信息/3.3",
"/mcdocs/1-ModAPI/更新信息/3.2",
"/mcdocs/1-ModAPI/更新信息/3.1",
"/mcdocs/1-ModAPI/更新信息/3.0",
"/mcdocs/1-ModAPI/更新信息/2.12",
"/mcdocs/1-ModAPI/更新信息/2.11",
"/mcdocs/1-ModAPI/更新信息/2.10",
"/mcdocs/1-ModAPI/更新信息/2.9",
"/mcdocs/1-ModAPI/更新信息/2.8",
"/mcdocs/1-ModAPI/更新信息/2.7",
"/mcdocs/1-ModAPI/更新信息/2.6",
"/mcdocs/1-ModAPI/更新信息/2.5",
"/mcdocs/1-ModAPI/更新信息/2.4",
"/mcdocs/1-ModAPI/更新信息/2.3",
"/mcdocs/1-ModAPI/更新信息/2.2",
"/mcdocs/1-ModAPI/更新信息/2.1",
"/mcdocs/1-ModAPI/更新信息/2.0",
"/mcdocs/1-ModAPI/更新信息/1.25",
"/mcdocs/1-ModAPI/更新信息/1.24",
"/mcdocs/1-ModAPI/更新信息/1.23",
"/mcdocs/1-ModAPI/更新信息/1.22",
"/mcdocs/1-ModAPI/更新信息/1.21"
],
"title": "更新信息"
}

View File

@@ -944,6 +944,12 @@
"operation": "调整",
"version": "3.2",
"author": "lrz"
},
{
"comment": "客户端对应事件ClientBlockUseEvent如果开启拦截开关则服务端也不会收到对应事件即ServerBlockUseEvent不会触发。",
"operation": "调整",
"version": "3.4",
"author": "bl"
}
],
"side": "服务端"
@@ -2985,7 +2991,7 @@
{
"name": "ServerItemTryUseEvent",
"path": "server.serverEvent",
"desc": "玩家点击右键尝试使用物品时服务端抛出的事件。ClientItemTryUseEvent的cancel设置为True时服务端事件不会被触发了。",
"desc": "玩家点击右键尝试使用物品时服务端抛出的事件。",
"doc_class_path": [
"物品"
],
@@ -3041,7 +3047,7 @@
{
"name": "ServerItemUseOnEvent",
"path": "server.serverEvent",
"desc": "玩家在对方块使用物品之前服务端抛出的事件。客户端事件ClientItemUseOnEvent设置ret设置为True时服务端不再会接受到这个事件。",
"desc": "玩家在对方块使用物品之前服务端抛出的事件。",
"doc_class_path": [
"物品"
],
@@ -4466,7 +4472,7 @@
"param_type": "int"
},
{
"param_comment": "实体维度",
"param_comment": "方块所在维度",
"param_name": "dimensionId",
"param_type": "int"
}
@@ -8036,10 +8042,15 @@
"param_type": "dict"
},
{
"param_comment": "放入容器名称,目前仅支持netease_container和netease_ui_container",
"param_comment": "放入容器名称,对应容器json中\"custom_description\"字段",
"param_name": "collectionName",
"param_type": "str"
},
{
"param_comment": "放入容器类型目前仅支持netease_container和netease_ui_container",
"param_name": "collectionType",
"param_type": "str"
},
{
"param_comment": "放入容器索引",
"param_name": "collectionIndex",
@@ -8053,17 +8064,17 @@
{
"param_comment": "容器方块x坐标",
"param_name": "x",
"param_type": "float"
"param_type": "int"
},
{
"param_comment": "容器方块y坐标",
"param_name": "y",
"param_type": "float"
"param_type": "int"
},
{
"param_comment": "容器方块z坐标",
"param_name": "z",
"param_type": "float"
"param_type": "int"
},
{
"param_comment": "是否取消该操作默认为false事件中改为true时拒绝此次放入自定义容器的操作",
@@ -8076,6 +8087,12 @@
"return_comment": ""
},
"state": [
{
"comment": "collectionName改为对应容器json中\"custom_description\"字段新增collectionType代替原collectionName",
"operation": "调整",
"version": "3.5",
"author": "lidi"
},
{
"comment": "玩家尝试将物品放入自定义容器时触发该事件",
"operation": "新增",
@@ -8084,6 +8101,307 @@
}
],
"side": "服务端"
},
{
"name": "PlayerTryAddCustomContainerItemServerEvent",
"path": "server.serverEvent",
"desc": "玩家尝试将物品添加到自定义容器时触发该事件",
"doc_class_path": [
"物品"
],
"param": [
{
"param_comment": "尝试添加物品的<a href=\"../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典\">物品信息字典</a>",
"param_name": "itemDict",
"param_type": "dict"
},
{
"param_comment": "放入容器名称对应容器json中\"custom_description\"字段",
"param_name": "collectionName",
"param_type": "str"
},
{
"param_comment": "放入容器类型目前仅支持netease_container和netease_ui_container",
"param_name": "collectionType",
"param_type": "str"
},
{
"param_comment": "放入容器索引",
"param_name": "collectionIndex",
"param_type": "int"
},
{
"param_comment": "玩家id",
"param_name": "playerId",
"param_type": "str"
},
{
"param_comment": "容器方块x坐标",
"param_name": "x",
"param_type": "int"
},
{
"param_comment": "容器方块y坐标",
"param_name": "y",
"param_type": "int"
},
{
"param_comment": "容器方块z坐标",
"param_name": "z",
"param_type": "int"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "玩家尝试将物品添加到自定义容器时触发该事件(当目标槽位已有同种物品时触发)",
"operation": "新增",
"version": "3.5",
"author": "lidi"
}
],
"side": "服务端"
},
{
"name": "PlayerTryRemoveCustomContainerItemServerEvent",
"path": "server.serverEvent",
"desc": "玩家尝试从自定义容器中移除物品时触发该事件",
"doc_class_path": [
"物品"
],
"param": [
{
"param_comment": "尝试移除物品的<a href=\"../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典\">物品信息字典</a>",
"param_name": "itemDict",
"param_type": "dict"
},
{
"param_comment": "放入容器名称对应容器json中\"custom_description\"字段",
"param_name": "collectionName",
"param_type": "str"
},
{
"param_comment": "放入容器类型目前仅支持netease_container和netease_ui_container",
"param_name": "collectionType",
"param_type": "str"
},
{
"param_comment": "目标容器索引",
"param_name": "collectionIndex",
"param_type": "int"
},
{
"param_comment": "玩家id",
"param_name": "playerId",
"param_type": "str"
},
{
"param_comment": "容器方块x坐标",
"param_name": "x",
"param_type": "int"
},
{
"param_comment": "容器方块y坐标",
"param_name": "y",
"param_type": "int"
},
{
"param_comment": "容器方块z坐标",
"param_name": "z",
"param_type": "int"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "玩家尝试从自定义容器中移除物品时触发该事件",
"operation": "新增",
"version": "3.5",
"author": "lidi"
}
],
"side": "服务端"
},
{
"name": "PlayerPermissionChangeServerEvent",
"path": "server.serverEvent",
"desc": "玩家权限变更事件",
"doc_class_path": [
"玩家"
],
"param": [
{
"param_comment": "发起者id",
"param_name": "causePlayerId",
"param_type": "str"
},
{
"param_comment": "玩家id",
"param_name": "playerId",
"param_type": "str"
},
{
"param_comment": "变化前的权限字典",
"param_name": "oldPermission",
"param_type": "dict"
},
{
"param_comment": "变化后的权限字典",
"param_name": "newPermission",
"param_type": "dict"
},
{
"param_comment": "变化原因详见Minecraft枚举值文档的[PermissionChangeCause](../枚举值/PermissionChangeCause.md)",
"param_name": "changeCause",
"param_type": "int"
},
{
"param_comment": "为true时取消本次权限变更",
"param_name": "cancel",
"param_type": "bool"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "新增发起者id",
"operation": "调整",
"version": "3.5",
"author": "zhujinan"
},
{
"comment": "玩家权限变更事件",
"operation": "新增",
"version": "3.5",
"author": "zhujinan"
}
],
"side": "服务端"
},
{
"name": "ItemPushInCustomContainerServerEvent",
"path": "server.serverEvent",
"desc": "漏斗漏入物品时触发该事件",
"doc_class_path": [
"物品"
],
"param": [
{
"param_comment": "漏斗漏入物品的<a href=\"../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典\">物品信息字典</a>",
"param_name": "itemDict",
"param_type": "dict"
},
{
"param_comment": "目标容器名称目前仅支持netease_container",
"param_name": "collectionName",
"param_type": "str"
},
{
"param_comment": "目标容器索引",
"param_name": "collectionIndex",
"param_type": "int"
},
{
"param_comment": "容器方块x坐标",
"param_name": "x",
"param_type": "int"
},
{
"param_comment": "容器方块y坐标",
"param_name": "y",
"param_type": "int"
},
{
"param_comment": "容器方块z坐标",
"param_name": "z",
"param_type": "int"
},
{
"param_comment": "是否取消该操作默认为false事件中改为true时拒绝此次漏入物品的操作",
"param_name": "cancel",
"param_type": "bool"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "漏斗漏入物品时触发该事件",
"operation": "新增",
"version": "3.5",
"author": "czk"
}
],
"side": "服务端"
},
{
"name": "ItemPullOutCustomContainerServerEvent",
"path": "server.serverEvent",
"desc": "漏出物品到漏斗时触发该事件",
"doc_class_path": [
"物品"
],
"param": [
{
"param_comment": "漏斗漏出物品的<a href=\"../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典\">物品信息字典</a>",
"param_name": "itemDict",
"param_type": "dict"
},
{
"param_comment": "漏出物品的容器名称目前仅支持netease_container",
"param_name": "collectionName",
"param_type": "str"
},
{
"param_comment": "漏出物品的容器索引",
"param_name": "collectionIndex",
"param_type": "int"
},
{
"param_comment": "容器方块x坐标",
"param_name": "x",
"param_type": "int"
},
{
"param_comment": "容器方块y坐标",
"param_name": "y",
"param_type": "int"
},
{
"param_comment": "容器方块z坐标",
"param_name": "z",
"param_type": "int"
},
{
"param_comment": "是否取消该操作默认为false事件中改为true时拒绝此次漏出物品的操作",
"param_name": "cancel",
"param_type": "bool"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "漏斗漏出物品时触发该事件",
"operation": "新增",
"version": "3.5",
"author": "czk"
}
],
"side": "服务端"
}
],
"client.clientEvent": [
@@ -8812,7 +9130,7 @@
{
"name": "ClientItemTryUseEvent",
"path": "client.clientEvent",
"desc": "玩家点击右键尝试使用物品时客户端抛出的事件可以通过设置cancel为True取消使用物品。ClientItemTryUseEvent事件设置cancel时即可取消使用无需服务端ServerItemTryUseEvent再次cancel且服务端事件将不再触发。",
"desc": "玩家点击右键尝试使用物品时客户端抛出的事件可以通过设置cancel为True取消使用物品。",
"doc_class_path": [
"物品"
],
@@ -8856,7 +9174,7 @@
{
"name": "ClientItemUseOnEvent",
"path": "client.clientEvent",
"desc": "玩家在对方块使用物品时客户端抛出的事件。事件设置ret = True 时即可取消使用无需服务端再次设置ServerItemUseOnEvent取消且服务端事件将不再触发。",
"desc": "玩家在对方块使用物品时客户端抛出的事件。",
"doc_class_path": [
"物品"
],
@@ -10913,7 +11231,7 @@
{
"name": "AddPlayerAOIClientEvent",
"path": "client.clientEvent",
"desc": "玩家加入游戏或者其余玩家进入当前玩家视野时触发的事件替换AddPlayerEvent",
"desc": "玩家加入游戏时视野内存在其他玩家,或者其余玩家进入当前玩家视野时触发的事件替换AddPlayerEvent",
"doc_class_path": [
"世界"
],
@@ -11623,6 +11941,12 @@
"return_comment": ""
},
"state": [
{
"comment": "修复了自定义方块配置了block_container组件时返回的blockName不符合预期现在能正确返回方块的identifier",
"operation": "调整",
"version": "3.6",
"author": "lidi"
},
{
"comment": "客户端自定义方块实体初始化完成时触发",
"operation": "新增",
@@ -11671,6 +11995,12 @@
"return_comment": ""
},
"state": [
{
"comment": "修复了自定义方块配置了block_container组件时返回的blockName不符合预期现在能正确返回方块的identifier",
"operation": "调整",
"version": "3.6",
"author": "lidi"
},
{
"comment": "客户端自定义方块实体卸载时触发",
"operation": "新增",
@@ -12001,6 +12331,271 @@
}
],
"side": "客户端"
},
{
"name": "PlayerPermissionChangeClientEvent",
"path": "client.clientEvent",
"desc": "玩家权限变更事件",
"doc_class_path": [
"玩家"
],
"param": [
{
"param_comment": "发起者id",
"param_name": "causePlayerId",
"param_type": "str"
},
{
"param_comment": "玩家id",
"param_name": "playerId",
"param_type": "str"
},
{
"param_comment": "变化前的权限字典",
"param_name": "oldPermission",
"param_type": "dict"
},
{
"param_comment": "变化后的权限字典",
"param_name": "newPermission",
"param_type": "dict"
},
{
"param_comment": "变化原因详见Minecraft枚举值文档的[PermissionChangeCause](../枚举值/PermissionChangeCause.md)",
"param_name": "changeCause",
"param_type": "int"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "玩家权限变更事件",
"operation": "新增",
"version": "3.5",
"author": "zhujinan"
}
],
"side": "客户端"
},
{
"name": "PlayerTryPutCustomContainerItemClientEvent",
"path": "client.clientEvent",
"desc": "玩家尝试将物品放入自定义容器时触发该事件",
"doc_class_path": [
"物品"
],
"param": [
{
"param_comment": "尝试放入物品的<a href=\"../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典\">物品信息字典</a>",
"param_name": "itemDict",
"param_type": "dict"
},
{
"param_comment": "放入容器名称对应容器json中\"custom_description\"字段",
"param_name": "collectionName",
"param_type": "str"
},
{
"param_comment": "放入容器类型目前仅支持netease_container和netease_ui_container",
"param_name": "collectionType",
"param_type": "str"
},
{
"param_comment": "放入容器索引",
"param_name": "collectionIndex",
"param_type": "int"
},
{
"param_comment": "容器方块x坐标",
"param_name": "x",
"param_type": "int"
},
{
"param_comment": "容器方块y坐标",
"param_name": "y",
"param_type": "int"
},
{
"param_comment": "容器方块z坐标",
"param_name": "z",
"param_type": "int"
},
{
"param_comment": "是否取消该操作默认为false事件中改为true时拒绝此次放入自定义容器的操作",
"param_name": "cancel",
"param_type": "bool"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "玩家尝试将物品放入自定义容器时触发该事件",
"operation": "新增",
"version": "3.5",
"author": "lidi"
}
],
"side": "客户端"
},
{
"name": "PlayerTryAddCustomContainerItemClientEvent",
"path": "client.clientEvent",
"desc": "玩家尝试将物品添加到自定义容器时触发该事件",
"doc_class_path": [
"物品"
],
"param": [
{
"param_comment": "尝试添加物品的<a href=\"../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典\">物品信息字典</a>",
"param_name": "itemDict",
"param_type": "dict"
},
{
"param_comment": "放入容器名称对应容器json中\"custom_description\"字段",
"param_name": "collectionName",
"param_type": "str"
},
{
"param_comment": "放入容器类型目前仅支持netease_container和netease_ui_container",
"param_name": "collectionType",
"param_type": "str"
},
{
"param_comment": "放入容器索引",
"param_name": "collectionIndex",
"param_type": "int"
},
{
"param_comment": "容器方块x坐标",
"param_name": "x",
"param_type": "int"
},
{
"param_comment": "容器方块y坐标",
"param_name": "y",
"param_type": "int"
},
{
"param_comment": "容器方块z坐标",
"param_name": "z",
"param_type": "int"
},
{
"param_comment": "是否取消该操作默认为false事件中改为true时拒绝此次放入自定义容器的操作",
"param_name": "cancel",
"param_type": "bool"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "玩家尝试将物品添加到自定义容器时触发该事件(当目标槽位已有同种物品时触发)",
"operation": "新增",
"version": "3.5",
"author": "lidi"
}
],
"side": "客户端"
},
{
"name": "PlayerTryRemoveCustomContainerItemClientEvent",
"path": "client.clientEvent",
"desc": "玩家尝试从自定义容器中移除物品时触发该事件",
"doc_class_path": [
"物品"
],
"param": [
{
"param_comment": "尝试移除物品的<a href=\"../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典\">物品信息字典</a>",
"param_name": "itemDict",
"param_type": "dict"
},
{
"param_comment": "放入容器名称对应容器json中\"custom_description\"字段",
"param_name": "collectionName",
"param_type": "str"
},
{
"param_comment": "放入容器类型目前仅支持netease_container和netease_ui_container",
"param_name": "collectionType",
"param_type": "str"
},
{
"param_comment": "目标容器索引",
"param_name": "collectionIndex",
"param_type": "int"
},
{
"param_comment": "容器方块x坐标",
"param_name": "x",
"param_type": "int"
},
{
"param_comment": "容器方块y坐标",
"param_name": "y",
"param_type": "int"
},
{
"param_comment": "容器方块z坐标",
"param_name": "z",
"param_type": "int"
},
{
"param_comment": "是否取消该操作默认为false事件中改为true时拒绝此次移除物品的操作",
"param_name": "cancel",
"param_type": "bool"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "玩家尝试从自定义容器中移除物品时触发该事件",
"operation": "新增",
"version": "3.5",
"author": "lidi"
}
],
"side": "客户端"
},
{
"name": "UpdatePlayerSkinClientEvent",
"path": "client.clientEvent",
"desc": "触发时机:玩家加入游戏或通过更衣室局内换肤后 同步皮肤信息至客户端后触发",
"doc_class_path": [
"玩家"
],
"param": [
{
"param_comment": "更换皮肤的玩家id",
"param_name": "playerId",
"param_type": "str"
}
],
"return": {
"return_type": "",
"return_comment": ""
},
"state": [
{
"comment": "触发时机:玩家加入游戏或通过更衣室局内换肤后 同步皮肤信息至客户端后触发",
"operation": "新增",
"version": "3.4",
"author": "slp"
}
],
"side": "客户端"
}
]
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -10,7 +10,7 @@ sidebarDepth: 1
| [AchievementCompleteEvent](世界.md#achievementcompleteevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家完成自定义成就时触发该事件 |
| [AddEntityClientEvent](世界.md#addentityclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 客户端侧创建新实体时触发 |
| [AddEntityServerEvent](世界.md#addentityserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 服务端侧创建新实体,或实体从存档加载时触发 |
| [AddPlayerAOIClientEvent](世界.md#addplayeraoiclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家加入游戏或者其余玩家进入当前玩家视野时触发的事件替换AddPlayerEvent |
| [AddPlayerAOIClientEvent](世界.md#addplayeraoiclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家加入游戏时视野内存在其他玩家,或者其余玩家进入当前玩家视野时触发的事件替换AddPlayerEvent |
| [AddPlayerCreatedClientEvent](世界.md#addplayercreatedclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家进入当前玩家所在的区块AOI后玩家皮肤数据异步加载完成后触发的事件 |
| [AddServerPlayerEvent](世界.md#addserverplayerevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家加入时触发该事件。 |
| [ChunkAcquireDiscardedClientEvent](世界.md#chunkacquirediscardedclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机:客户端区块即将被卸载时 |
@@ -148,7 +148,7 @@ sidebarDepth: 1
- 描述
玩家加入游戏或者其余玩家进入当前玩家视野时触发的事件替换AddPlayerEvent
玩家加入游戏时视野内存在其他玩家,或者其余玩家进入当前玩家视野时触发的事件替换AddPlayerEvent
- 参数
@@ -162,6 +162,7 @@ sidebarDepth: 1
- 备注
- 该事件触发只表明在服务端数据中接收到了新玩家,并不能代表此时玩家在客户端中可见,若想在玩家进入视野后立马调用玩家渲染相关接口,建议使用[AddPlayerCreatedClientEvent](#addplayercreatedclientevent)。
- 玩家加入游戏时视野内每存在一位其他玩家便触发一次该事件,若无其他玩家,则不触发
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>

View File

@@ -22,7 +22,7 @@ sidebarDepth: 1
| [AchievementCompleteEvent](世界.md#achievementcompleteevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家完成自定义成就时触发该事件 |
| [AddEntityClientEvent](世界.md#addentityclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 客户端侧创建新实体时触发 |
| [AddEntityServerEvent](世界.md#addentityserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 服务端侧创建新实体,或实体从存档加载时触发 |
| [AddPlayerAOIClientEvent](世界.md#addplayeraoiclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家加入游戏或者其余玩家进入当前玩家视野时触发的事件替换AddPlayerEvent |
| [AddPlayerAOIClientEvent](世界.md#addplayeraoiclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家加入游戏时视野内存在其他玩家,或者其余玩家进入当前玩家视野时触发的事件替换AddPlayerEvent |
| [AddPlayerCreatedClientEvent](世界.md#addplayercreatedclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家进入当前玩家所在的区块AOI后玩家皮肤数据异步加载完成后触发的事件 |
| [AddServerPlayerEvent](世界.md#addserverplayerevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家加入时触发该事件。 |
| [ChunkAcquireDiscardedClientEvent](世界.md#chunkacquirediscardedclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机:客户端区块即将被卸载时 |
@@ -145,6 +145,8 @@ sidebarDepth: 1
| [PlayerHurtEvent](玩家.md#playerhurtevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:当玩家受伤害前触发该事件。 |
| [PlayerInteractServerEvent](玩家.md#playerinteractserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家可以与实体交互时。如果是鼠标控制模式,则当准心对着实体时触发。如果是触屏模式,则触发时机与屏幕下方的交互按钮显示的时机相同。玩家真正与实体发生交互的事件见[PlayerDoInteractServerEvent](玩家.md#playerdointeractserverevent) |
| [PlayerNamedEntityServerEvent](玩家.md#playernamedentityserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家用命名牌重命名实体时触发,例如玩家手持命名牌对羊修改名字、玩家手持命名牌对盔甲架修改名字。 |
| [PlayerPermissionChangeClientEvent](玩家.md#playerpermissionchangeclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家权限变更事件 |
| [PlayerPermissionChangeServerEvent](玩家.md#playerpermissionchangeserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家权限变更事件 |
| [PlayerRespawnEvent](玩家.md#playerrespawnevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家复活时触发该事件。 |
| [PlayerRespawnFinishServerEvent](玩家.md#playerrespawnfinishserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家复活完毕时触发 |
| [PlayerSleepServerEvent](玩家.md#playersleepserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家使用床睡觉成功 |
@@ -154,6 +156,7 @@ sidebarDepth: 1
| [PlayerTrySleepServerEvent](玩家.md#playertrysleepserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家尝试使用床睡觉 |
| [ServerPlayerGetExperienceOrbEvent](玩家.md#serverplayergetexperienceorbevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家获取经验球时触发的事件 |
| [StoreBuySuccServerEvent](玩家.md#storebuysuccserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家游戏内购买商品时服务端抛出的事件 |
| [UpdatePlayerSkinClientEvent](玩家.md#updateplayerskinclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机:玩家加入游戏或通过更衣室局内换肤后 同步皮肤信息至客户端后触发 |
## 方块
| 事件| <div style="width: 3em"></div> | 描述 |
@@ -219,8 +222,8 @@ sidebarDepth: 1
| [ActorUseItemClientEvent](物品.md#actoruseitemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机玩家使用物品时客户端抛出的事件比较特殊不走该事件的例子1染料对有水的炼药锅使用2盔甲架装备盔甲;3)喝牛奶 |
| [ActorUseItemServerEvent](物品.md#actoruseitemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机玩家使用物品生效之前服务端抛出的事件比较特殊不走该事件的例子1染料对有水的炼药锅使用2盔甲架装备盔甲 |
| [AnvilCreateResultItemAfterClientEvent](物品.md#anvilcreateresultitemafterclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击铁砧合成得到的物品时抛出的事件。 |
| [ClientItemTryUseEvent](物品.md#clientitemtryuseevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击右键尝试使用物品时客户端抛出的事件可以通过设置cancel为True取消使用物品。ClientItemTryUseEvent事件设置cancel时即可取消使用无需服务端ServerItemTryUseEvent再次cancel且服务端事件将不再触发。 |
| [ClientItemUseOnEvent](物品.md#clientitemuseonevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家在对方块使用物品时客户端抛出的事件。事件设置ret = True 时即可取消使用无需服务端再次设置ServerItemUseOnEvent取消且服务端事件将不再触发。 |
| [ClientItemTryUseEvent](物品.md#clientitemtryuseevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击右键尝试使用物品时客户端抛出的事件可以通过设置cancel为True取消使用物品。 |
| [ClientItemUseOnEvent](物品.md#clientitemuseonevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家在对方块使用物品时客户端抛出的事件。 |
| [ClientShapedRecipeTriggeredEvent](物品.md#clientshapedrecipetriggeredevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家合成物品时触发 |
| [ContainerItemChangedServerEvent](物品.md#containeritemchangedserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 容器物品变化事件 |
| [CraftItemOutputChangeServerEvent](物品.md#craftitemoutputchangeserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家从容器拿出生成物品时触发 |
@@ -230,6 +233,8 @@ sidebarDepth: 1
| [InventoryItemChangedClientEvent](物品.md#inventoryitemchangedclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家背包物品变化时客户端抛出的事件。 |
| [InventoryItemChangedServerEvent](物品.md#inventoryitemchangedserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家背包物品变化时服务端抛出的事件。 |
| [ItemDurabilityChangedServerEvent](物品.md#itemdurabilitychangedserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 物品耐久度变化事件 |
| [ItemPullOutCustomContainerServerEvent](物品.md#itempulloutcustomcontainerserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 漏出物品到漏斗时触发该事件 |
| [ItemPushInCustomContainerServerEvent](物品.md#itempushincustomcontainerserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 漏斗漏入物品时触发该事件 |
| [ItemReleaseUsingClientEvent](物品.md#itemreleaseusingclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机:释放正在使用的物品 |
| [ItemReleaseUsingServerEvent](物品.md#itemreleaseusingserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:释放正在使用的物品时 |
| [ItemUseAfterServerEvent](物品.md#itemuseafterserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家在使用物品之后服务端抛出的事件。 |
@@ -244,10 +249,15 @@ sidebarDepth: 1
| [OnPlayerBlockedByShieldBeforeServerEvent](物品.md#onplayerblockedbyshieldbeforeserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家使用盾牌抵挡伤害之前触发 |
| [PlayerDropItemServerEvent](物品.md#playerdropitemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家丢弃物品时触发 |
| [PlayerPickupArrowServerEvent](物品.md#playerpickuparrowserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家即将捡起抛射物时触发,包括使用"netease:pick_up"的自定义抛射物 |
| [PlayerTryAddCustomContainerItemClientEvent](物品.md#playertryaddcustomcontaineritemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家尝试将物品添加到自定义容器时触发该事件 |
| [PlayerTryAddCustomContainerItemServerEvent](物品.md#playertryaddcustomcontaineritemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家尝试将物品添加到自定义容器时触发该事件 |
| [PlayerTryDropItemClientEvent](物品.md#playertrydropitemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机:玩家丢弃物品时触发 |
| [PlayerTryPutCustomContainerItemClientEvent](物品.md#playertryputcustomcontaineritemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家尝试将物品放入自定义容器时触发该事件 |
| [PlayerTryPutCustomContainerItemServerEvent](物品.md#playertryputcustomcontaineritemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家尝试将物品放入自定义容器时触发该事件 |
| [ServerItemTryUseEvent](物品.md#serveritemtryuseevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家点击右键尝试使用物品时服务端抛出的事件。注ClientItemTryUseEvent的cancel设置为True时服务端事件不会被触发了。 |
| [ServerItemUseOnEvent](物品.md#serveritemuseonevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家在对方块使用物品之前服务端抛出的事件。注客户端事件ClientItemUseOnEvent设置ret设置为True时服务端不再会接受到这个事件 |
| [PlayerTryRemoveCustomContainerItemClientEvent](物品.md#playertryremovecustomcontaineritemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家尝试从自定义容器中移除物品时触发该事件 |
| [PlayerTryRemoveCustomContainerItemServerEvent](物品.md#playertryremovecustomcontaineritemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家尝试从自定义容器中移除物品时触发该事件 |
| [ServerItemTryUseEvent](物品.md#serveritemtryuseevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家点击右键尝试使用物品时服务端抛出的事件。 |
| [ServerItemUseOnEvent](物品.md#serveritemuseonevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家在对方块使用物品之前服务端抛出的事件。 |
| [ServerPlayerTryTouchEvent](物品.md#serverplayertrytouchevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家即将捡起物品时触发 |
| [ShearsUseToBlockBeforeServerEvent](物品.md#shearsusetoblockbeforeserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:实体手持剪刀对方块使用时,有剪刀特殊效果的方块会在服务端线程触发该事件 |
| [StartUsingItemClientEvent](物品.md#startusingitemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家使用物品目前仅支持Bucket奶桶、Trident三叉戟、RangedWeapon、Food食物、Potion药水、Crossbow时抛出 |

View File

@@ -215,7 +215,7 @@ sidebarDepth: 1
| fullName | str | 方块的identifier包含命名空间及名称 |
| auxValue | int | 方块附加值 |
| brightness | int | 方块亮度 |
| dimensionId | int | 实体维度 |
| dimensionId | int | 方块所在维度 |
- 返回值
@@ -274,6 +274,7 @@ method in mod.server.component.blockInfoCompServer.BlockInfoComponentServer
- 备注
- 对于一些特殊的方块注意要使用对应的方块Id参数如砖块楼梯监听的方块Id应该为minecraft:brick_block
- 如果用骨粉改变了发光浆果也会触发一次事件它实际是从cave_vines变成了cave_vines_head_with_berries
- 示例
@@ -416,6 +417,9 @@ comp.ListenOnBlockRemoveEvent("minecraft:wheat", True)
- 备注
- 如果拦截与方块交互的逻辑,则不会给服务端发送对应的网络包。
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
@@ -1699,6 +1703,7 @@ comp.UnRegisterOnStandOn("minecraft:redstone_ore")
- 备注
- 客户端对应事件ClientBlockUseEvent如果开启拦截开关则服务端也不会收到对应事件即ServerBlockUseEvent不会触发。
- 当对原生方块进行使用时,如堆肥桶等类似有 使用 功能的方块使用物品时会触发该事件而ServerItemUseOnEvent则不会被触发。对应的客户端事件同理。
- 部分工具对方块的使用效果如锹犁地不一定能通过该事件cancel还需同时使用ItemUseOnServerEvent进行取消
目前已知有:

View File

@@ -12,8 +12,8 @@ sidebarDepth: 1
| [ActorUseItemClientEvent](物品.md#actoruseitemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机玩家使用物品时客户端抛出的事件比较特殊不走该事件的例子1染料对有水的炼药锅使用2盔甲架装备盔甲;3)喝牛奶 |
| [ActorUseItemServerEvent](物品.md#actoruseitemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机玩家使用物品生效之前服务端抛出的事件比较特殊不走该事件的例子1染料对有水的炼药锅使用2盔甲架装备盔甲 |
| [AnvilCreateResultItemAfterClientEvent](物品.md#anvilcreateresultitemafterclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击铁砧合成得到的物品时抛出的事件。 |
| [ClientItemTryUseEvent](物品.md#clientitemtryuseevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击右键尝试使用物品时客户端抛出的事件可以通过设置cancel为True取消使用物品。ClientItemTryUseEvent事件设置cancel时即可取消使用无需服务端ServerItemTryUseEvent再次cancel且服务端事件将不再触发。 |
| [ClientItemUseOnEvent](物品.md#clientitemuseonevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家在对方块使用物品时客户端抛出的事件。事件设置ret = True 时即可取消使用无需服务端再次设置ServerItemUseOnEvent取消且服务端事件将不再触发。 |
| [ClientItemTryUseEvent](物品.md#clientitemtryuseevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击右键尝试使用物品时客户端抛出的事件可以通过设置cancel为True取消使用物品。 |
| [ClientItemUseOnEvent](物品.md#clientitemuseonevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家在对方块使用物品时客户端抛出的事件。 |
| [ClientShapedRecipeTriggeredEvent](物品.md#clientshapedrecipetriggeredevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家合成物品时触发 |
| [ContainerItemChangedServerEvent](物品.md#containeritemchangedserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 容器物品变化事件 |
| [CraftItemOutputChangeServerEvent](物品.md#craftitemoutputchangeserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家从容器拿出生成物品时触发 |
@@ -23,6 +23,8 @@ sidebarDepth: 1
| [InventoryItemChangedClientEvent](物品.md#inventoryitemchangedclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家背包物品变化时客户端抛出的事件。 |
| [InventoryItemChangedServerEvent](物品.md#inventoryitemchangedserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家背包物品变化时服务端抛出的事件。 |
| [ItemDurabilityChangedServerEvent](物品.md#itemdurabilitychangedserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 物品耐久度变化事件 |
| [ItemPullOutCustomContainerServerEvent](物品.md#itempulloutcustomcontainerserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 漏出物品到漏斗时触发该事件 |
| [ItemPushInCustomContainerServerEvent](物品.md#itempushincustomcontainerserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 漏斗漏入物品时触发该事件 |
| [ItemReleaseUsingClientEvent](物品.md#itemreleaseusingclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机:释放正在使用的物品 |
| [ItemReleaseUsingServerEvent](物品.md#itemreleaseusingserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:释放正在使用的物品时 |
| [ItemUseAfterServerEvent](物品.md#itemuseafterserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家在使用物品之后服务端抛出的事件。 |
@@ -37,10 +39,15 @@ sidebarDepth: 1
| [OnPlayerBlockedByShieldBeforeServerEvent](物品.md#onplayerblockedbyshieldbeforeserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家使用盾牌抵挡伤害之前触发 |
| [PlayerDropItemServerEvent](物品.md#playerdropitemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家丢弃物品时触发 |
| [PlayerPickupArrowServerEvent](物品.md#playerpickuparrowserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家即将捡起抛射物时触发,包括使用"netease:pick_up"的自定义抛射物 |
| [PlayerTryAddCustomContainerItemClientEvent](物品.md#playertryaddcustomcontaineritemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家尝试将物品添加到自定义容器时触发该事件 |
| [PlayerTryAddCustomContainerItemServerEvent](物品.md#playertryaddcustomcontaineritemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家尝试将物品添加到自定义容器时触发该事件 |
| [PlayerTryDropItemClientEvent](物品.md#playertrydropitemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机:玩家丢弃物品时触发 |
| [PlayerTryPutCustomContainerItemClientEvent](物品.md#playertryputcustomcontaineritemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家尝试将物品放入自定义容器时触发该事件 |
| [PlayerTryPutCustomContainerItemServerEvent](物品.md#playertryputcustomcontaineritemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家尝试将物品放入自定义容器时触发该事件 |
| [ServerItemTryUseEvent](物品.md#serveritemtryuseevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家点击右键尝试使用物品时服务端抛出的事件。注ClientItemTryUseEvent的cancel设置为True时服务端事件不会被触发了。 |
| [ServerItemUseOnEvent](物品.md#serveritemuseonevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家在对方块使用物品之前服务端抛出的事件。注客户端事件ClientItemUseOnEvent设置ret设置为True时服务端不再会接受到这个事件 |
| [PlayerTryRemoveCustomContainerItemClientEvent](物品.md#playertryremovecustomcontaineritemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家尝试从自定义容器中移除物品时触发该事件 |
| [PlayerTryRemoveCustomContainerItemServerEvent](物品.md#playertryremovecustomcontaineritemserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家尝试从自定义容器中移除物品时触发该事件 |
| [ServerItemTryUseEvent](物品.md#serveritemtryuseevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家点击右键尝试使用物品时服务端抛出的事件。 |
| [ServerItemUseOnEvent](物品.md#serveritemuseonevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家在对方块使用物品之前服务端抛出的事件。 |
| [ServerPlayerTryTouchEvent](物品.md#serverplayertrytouchevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家即将捡起物品时触发 |
| [ShearsUseToBlockBeforeServerEvent](物品.md#shearsusetoblockbeforeserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:实体手持剪刀对方块使用时,有剪刀特殊效果的方块会在服务端线程触发该事件 |
| [StartUsingItemClientEvent](物品.md#startusingitemclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家使用物品目前仅支持Bucket奶桶、Trident三叉戟、RangedWeapon、Food食物、Potion药水、Crossbow时抛出 |
@@ -179,7 +186,7 @@ sidebarDepth: 1
- 描述
玩家点击右键尝试使用物品时客户端抛出的事件可以通过设置cancel为True取消使用物品。ClientItemTryUseEvent事件设置cancel时即可取消使用无需服务端ServerItemTryUseEvent再次cancel且服务端事件将不再触发。
玩家点击右键尝试使用物品时客户端抛出的事件可以通过设置cancel为True取消使用物品。
- 参数
@@ -194,6 +201,7 @@ sidebarDepth: 1
- 备注
- ClientItemTryUseEvent事件设置cancel时即可取消使用无需服务端ServerItemTryUseEvent再次cancel且服务端事件将不再触发。
- ServerItemTryUseEvent/ClientItemTryUseEvent不能取消对方块使用物品的行为如使用生物蛋使用桶倒出/收集使用打火石点燃草等如果想要取消这种行为请使用ClientItemUseOnEvent和ServerItemUseOnEvent
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
@@ -205,7 +213,7 @@ sidebarDepth: 1
- 描述
玩家在对方块使用物品时客户端抛出的事件。事件设置ret = True 时即可取消使用无需服务端再次设置ServerItemUseOnEvent取消且服务端事件将不再触发。
玩家在对方块使用物品时客户端抛出的事件。
- 参数
@@ -228,6 +236,9 @@ sidebarDepth: 1
- 备注
- 事件设置ret = True 时即可取消使用无需服务端再次设置ServerItemUseOnEvent取消且服务端事件将不再触发。
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
@@ -521,6 +532,58 @@ def OnCraftItemOutputChangeServerEvent(self, args):
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
## ItemPullOutCustomContainerServerEvent
<span style="display:inline;color:#ff5555">服务端</span>
- 描述
漏出物品到漏斗时触发该事件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| itemDict | dict | 漏斗漏出物品的<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典">物品信息字典</a> |
| collectionName | str | 漏出物品的容器名称目前仅支持netease_container |
| collectionIndex | int | 漏出物品的容器索引 |
| x | int | 容器方块x坐标 |
| y | int | 容器方块y坐标 |
| z | int | 容器方块z坐标 |
| cancel | bool | 是否取消该操作默认为false事件中改为true时拒绝此次漏出物品的操作 |
- 返回值
## ItemPushInCustomContainerServerEvent
<span style="display:inline;color:#ff5555">服务端</span>
- 描述
漏斗漏入物品时触发该事件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| itemDict | dict | 漏斗漏入物品的<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典">物品信息字典</a> |
| collectionName | str | 目标容器名称目前仅支持netease_container |
| collectionIndex | int | 目标容器索引 |
| x | int | 容器方块x坐标 |
| y | int | 容器方块y坐标 |
| z | int | 容器方块z坐标 |
| cancel | bool | 是否取消该操作默认为false事件中改为true时拒绝此次漏入物品的操作 |
- 返回值
## ItemReleaseUsingClientEvent
<span style="display:inline;color:#7575f9">客户端</span>
@@ -882,6 +945,68 @@ def OnCraftItemOutputChangeServerEvent(self, args):
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
## PlayerTryAddCustomContainerItemClientEvent
<span style="display:inline;color:#7575f9">客户端</span>
- 描述
玩家尝试将物品添加到自定义容器时触发该事件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| itemDict | dict | 尝试添加物品的<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典">物品信息字典</a> |
| collectionName | str | 放入容器名称对应容器json中"custom_description"字段 |
| collectionType | str | 放入容器类型目前仅支持netease_container和netease_ui_container |
| collectionIndex | int | 放入容器索引 |
| x | int | 容器方块x坐标 |
| y | int | 容器方块y坐标 |
| z | int | 容器方块z坐标 |
| cancel | bool | 是否取消该操作默认为false事件中改为true时拒绝此次放入自定义容器的操作 |
- 返回值
- 备注
- 容器内物品移动,合堆,分堆的操作会分多次事件触发并且顺序不定,编写逻辑时请勿依赖事件触发顺序
- cancel取消本次操作后不会触发对应服务端事件
## PlayerTryAddCustomContainerItemServerEvent
<span style="display:inline;color:#ff5555">服务端</span>
- 描述
玩家尝试将物品添加到自定义容器时触发该事件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| itemDict | dict | 尝试添加物品的<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典">物品信息字典</a> |
| collectionName | str | 放入容器名称对应容器json中"custom_description"字段 |
| collectionType | str | 放入容器类型目前仅支持netease_container和netease_ui_container |
| collectionIndex | int | 放入容器索引 |
| playerId | str | 玩家id |
| x | int | 容器方块x坐标 |
| y | int | 容器方块y坐标 |
| z | int | 容器方块z坐标 |
- 返回值
- 备注
- 容器内物品移动,合堆,分堆的操作会分多次事件触发并且顺序不定,编写逻辑时请勿依赖事件触发顺序
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
## PlayerTryDropItemClientEvent
<span style="display:inline;color:#7575f9">客户端</span>
@@ -905,6 +1030,39 @@ def OnCraftItemOutputChangeServerEvent(self, args):
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
## PlayerTryPutCustomContainerItemClientEvent
<span style="display:inline;color:#7575f9">客户端</span>
- 描述
玩家尝试将物品放入自定义容器时触发该事件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| itemDict | dict | 尝试放入物品的<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典">物品信息字典</a> |
| collectionName | str | 放入容器名称对应容器json中"custom_description"字段 |
| collectionType | str | 放入容器类型目前仅支持netease_container和netease_ui_container |
| collectionIndex | int | 放入容器索引 |
| x | int | 容器方块x坐标 |
| y | int | 容器方块y坐标 |
| z | int | 容器方块z坐标 |
| cancel | bool | 是否取消该操作默认为false事件中改为true时拒绝此次放入自定义容器的操作 |
- 返回值
- 备注
- 该事件只有目标槽位为空或交换物品时触发如果目标槽位有相同物品时只会触发PlayerTryAddCustomContainerItemServerEvent事件
- PC存在shift键移动全部物品放入同种物品时可能会触发tryadd和tryput请开发者注意适配
- 容器内物品移动,合堆,分堆的操作会分多次事件触发并且顺序不定,编写逻辑时请勿依赖事件触发顺序
- cancel取消本次操作后不会触发对应服务端事件
## PlayerTryPutCustomContainerItemServerEvent
<span style="display:inline;color:#ff5555">服务端</span>
@@ -918,18 +1076,87 @@ def OnCraftItemOutputChangeServerEvent(self, args):
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| itemDict | dict | 尝试放入物品的<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典">物品信息字典</a> |
| collectionName | str | 放入容器名称,目前仅支持netease_container和netease_ui_container |
| collectionName | str | 放入容器名称,对应容器json中"custom_description"字段 |
| collectionType | str | 放入容器类型目前仅支持netease_container和netease_ui_container |
| collectionIndex | int | 放入容器索引 |
| playerId | str | 玩家id |
| x | float | 容器方块x坐标 |
| y | float | 容器方块y坐标 |
| z | float | 容器方块z坐标 |
| x | int | 容器方块x坐标 |
| y | int | 容器方块y坐标 |
| z | int | 容器方块z坐标 |
| cancel | bool | 是否取消该操作默认为false事件中改为true时拒绝此次放入自定义容器的操作 |
- 返回值
- 备注
- 该事件只有目标槽位为空时触发如果目标槽位有相同物品时只会触发PlayerTryAddCustomContainerItemServerEvent事件
- PC存在shift键移动全部物品放入同种物品时可能会触发tryadd和tryput请开发者注意适配
- 容器内物品移动,合堆,分堆的操作会分多次事件触发并且顺序不定,编写逻辑时请勿依赖事件触发顺序
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
## PlayerTryRemoveCustomContainerItemClientEvent
<span style="display:inline;color:#7575f9">客户端</span>
- 描述
玩家尝试从自定义容器中移除物品时触发该事件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| itemDict | dict | 尝试移除物品的<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典">物品信息字典</a> |
| collectionName | str | 放入容器名称对应容器json中"custom_description"字段 |
| collectionType | str | 放入容器类型目前仅支持netease_container和netease_ui_container |
| collectionIndex | int | 目标容器索引 |
| x | int | 容器方块x坐标 |
| y | int | 容器方块y坐标 |
| z | int | 容器方块z坐标 |
| cancel | bool | 是否取消该操作默认为false事件中改为true时拒绝此次移除物品的操作 |
- 返回值
- 备注
- 该事件在关闭容器物品自动返回背包时也会触发此时如果取消操作物品将会被留在容器中容器被破坏物品也不会掉落因为实际存储于玩家身上当再次打开netease_ui_container容器时会显示。
- 容器内物品移动,合堆,分堆的操作会分多次事件触发并且顺序不定,编写逻辑时请勿依赖事件触发顺序
- cancel取消本次操作后不会触发对应服务端事件
## PlayerTryRemoveCustomContainerItemServerEvent
<span style="display:inline;color:#ff5555">服务端</span>
- 描述
玩家尝试从自定义容器中移除物品时触发该事件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| itemDict | dict | 尝试移除物品的<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典">物品信息字典</a> |
| collectionName | str | 放入容器名称对应容器json中"custom_description"字段 |
| collectionType | str | 放入容器类型目前仅支持netease_container和netease_ui_container |
| collectionIndex | int | 目标容器索引 |
| playerId | str | 玩家id |
| x | int | 容器方块x坐标 |
| y | int | 容器方块y坐标 |
| z | int | 容器方块z坐标 |
- 返回值
- 备注
- 容器内物品移动,合堆,分堆的操作会分多次事件触发并且顺序不定,编写逻辑时请勿依赖事件触发顺序
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
@@ -939,7 +1166,7 @@ def OnCraftItemOutputChangeServerEvent(self, args):
- 描述
玩家点击右键尝试使用物品时服务端抛出的事件。ClientItemTryUseEvent的cancel设置为True时服务端事件不会被触发了。
玩家点击右键尝试使用物品时服务端抛出的事件。
- 参数
@@ -954,6 +1181,7 @@ def OnCraftItemOutputChangeServerEvent(self, args):
- 备注
- ClientItemTryUseEvent的cancel设置为True时服务端事件不会被触发了。
- ServerItemTryUseEvent/ClientItemTryUseEvent不能取消对方块使用物品的行为如使用生物蛋使用桶倒出/收集使用打火石点燃草等如果想要取消这种行为请使用ClientItemUseOnEvent和ServerItemUseOnEvent
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
@@ -965,7 +1193,7 @@ def OnCraftItemOutputChangeServerEvent(self, args):
- 描述
玩家在对方块使用物品之前服务端抛出的事件。客户端事件ClientItemUseOnEvent设置ret设置为True时服务端不再会接受到这个事件。
玩家在对方块使用物品之前服务端抛出的事件。
- 参数
@@ -990,6 +1218,7 @@ def OnCraftItemOutputChangeServerEvent(self, args):
- 备注
- 客户端事件ClientItemUseOnEvent设置ret设置为True时服务端不再会接受到这个事件。
- 当对原生方块进行使用时,如堆肥桶等类似有 使用 功能的方块使用物品时不会触发该事件。而当原生方块加入监听后ServerBlockUseEvent会触发。当需要获取触发时使用的物品时可以通过item组件例如GetPlayerItem接口获取手中持有的物品对应的客户端事件同理。
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>

View File

@@ -38,6 +38,8 @@ sidebarDepth: 1
| [PlayerHurtEvent](玩家.md#playerhurtevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:当玩家受伤害前触发该事件。 |
| [PlayerInteractServerEvent](玩家.md#playerinteractserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家可以与实体交互时。如果是鼠标控制模式,则当准心对着实体时触发。如果是触屏模式,则触发时机与屏幕下方的交互按钮显示的时机相同。玩家真正与实体发生交互的事件见[PlayerDoInteractServerEvent](#playerdointeractserverevent) |
| [PlayerNamedEntityServerEvent](玩家.md#playernamedentityserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家用命名牌重命名实体时触发,例如玩家手持命名牌对羊修改名字、玩家手持命名牌对盔甲架修改名字。 |
| [PlayerPermissionChangeClientEvent](玩家.md#playerpermissionchangeclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家权限变更事件 |
| [PlayerPermissionChangeServerEvent](玩家.md#playerpermissionchangeserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家权限变更事件 |
| [PlayerRespawnEvent](玩家.md#playerrespawnevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家复活时触发该事件。 |
| [PlayerRespawnFinishServerEvent](玩家.md#playerrespawnfinishserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家复活完毕时触发 |
| [PlayerSleepServerEvent](玩家.md#playersleepserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家使用床睡觉成功 |
@@ -47,6 +49,7 @@ sidebarDepth: 1
| [PlayerTrySleepServerEvent](玩家.md#playertrysleepserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家尝试使用床睡觉 |
| [ServerPlayerGetExperienceOrbEvent](玩家.md#serverplayergetexperienceorbevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家获取经验球时触发的事件 |
| [StoreBuySuccServerEvent](玩家.md#storebuysuccserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 触发时机:玩家游戏内购买商品时服务端抛出的事件 |
| [UpdatePlayerSkinClientEvent](玩家.md#updateplayerskinclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机:玩家加入游戏或通过更衣室局内换肤后 同步皮肤信息至客户端后触发 |
# 玩家
## AddExpEvent
@@ -991,6 +994,84 @@ comp.ClosePlayerHitBlockDetection()
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
## PlayerPermissionChangeClientEvent
<span style="display:inline;color:#7575f9">客户端</span>
- 描述
玩家权限变更事件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| causePlayerId | str | 发起者id |
| playerId | str | 玩家id |
| oldPermission | dict | 变化前的权限字典 |
| newPermission | dict | 变化后的权限字典 |
| changeCause | int | 变化原因详见Minecraft枚举值文档的[PermissionChangeCause](../枚举值/PermissionChangeCause.md) |
- 返回值
- 备注
- 具体权限说明:
| 权限字段 | 类型 | 说明 |
| --- | --- | --- |
| build | bool | 放置方块 |
| mine | bool | 采集方块 |
| doorsandswitches | bool | 使用门和开关 |
| opencontainers | bool | 打开容器 |
| attackplayers | bool | 攻击玩家 |
| attackmobs | bool | 攻击生物 |
| op | bool | 操作员命令 |
| teleport | bool | 使用传送 |
- 当PlayerPermissionChangeServerEvent事件返回"cancel"为True时权限变动被取消该事件不会触发。
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
## PlayerPermissionChangeServerEvent
<span style="display:inline;color:#ff5555">服务端</span>
- 描述
玩家权限变更事件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| causePlayerId | str | 发起者id |
| playerId | str | 玩家id |
| oldPermission | dict | 变化前的权限字典 |
| newPermission | dict | 变化后的权限字典 |
| changeCause | int | 变化原因详见Minecraft枚举值文档的[PermissionChangeCause](../枚举值/PermissionChangeCause.md) |
| cancel | bool | 为true时取消本次权限变更 |
- 返回值
- 备注
- 具体权限说明:
| 权限字段 | 类型 | 说明 |
| --- | --- | --- |
| build | bool | 放置方块 |
| mine | bool | 采集方块 |
| doorsandswitches | bool | 使用门和开关 |
| opencontainers | bool | 打开容器 |
| attackplayers | bool | 攻击玩家 |
| attackmobs | bool | 攻击生物 |
| op | bool | 操作员命令 |
| teleport | bool | 使用传送 |
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
## PlayerRespawnEvent
<span style="display:inline;color:#ff5555">服务端</span>
@@ -1209,3 +1290,27 @@ def OnStoreBuySucc(self, args):
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>
## UpdatePlayerSkinClientEvent
<span style="display:inline;color:#7575f9">客户端</span>
- 描述
触发时机:玩家加入游戏或通过更衣室局内换肤后 同步皮肤信息至客户端后触发
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| playerId | str | 更换皮肤的玩家id |
- 返回值
- 备注
- 此事件配合 IsOfficialSkin IsHighLevelOfficialSkin IsHighLevelMultiJointOfficialSkin 接口 用于获取玩家的皮肤信息
在零件中直接声明一个同名函数,即可完成监听,详情参考<a href="../../../mcguide/20-玩法开发/14-预设玩法编程/12-深入理解零件/0-零件开发.html#零件事件">零件事件</a>

View File

@@ -31,12 +31,13 @@ sidebarDepth: 1
- [指令](#指令)
- [消息](#消息)
- [记分板](#记分板)
- [行为](#行为)
## 实体
- [实体类型](#实体类型)
- [附加值](#附加值)
- [属性](#属性)
- [行为](#行为)
- [行为](#行为1)
- [状态效果](#状态效果)
- [渲染](#渲染1)
- [背包](#背包)
@@ -52,7 +53,7 @@ sidebarDepth: 1
## 玩家
- [属性](#属性1)
- [行为](#行为1)
- [行为](#行为2)
- [渲染](#渲染2)
- [背包](#背包1)
- [摄像机](#摄像机)
@@ -86,6 +87,10 @@ sidebarDepth: 1
## 模型
- [模型](#模型-2)
## 山头服务器
- [山头服务器](#山头服务器-2)
## 原生UI
- [原生UI](#原生ui-2)
@@ -127,6 +132,9 @@ sidebarDepth: 1
## 商城
- [商城](#商城-2)
## 渲染
- [渲染](#渲染-2)
#### Component
| 接口| <div style="width: 3em"></div> | 描述 |
@@ -541,6 +549,10 @@ sidebarDepth: 1
| [GetAllPlayerScoreboardObjects](世界/记分板.md#getallplayerscoreboardobjects) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家记分项 |
| [GetAllScoreboardObjects](世界/记分板.md#getallscoreboardobjects) | <span style="display:inline;color:#ff5555">服务端</span> | 获取所有记分板项 |
| [GetAllScoreboardObjects](世界/记分板.md#getallscoreboardobjects) | <span style="display:inline;color:#7575f9">客户端</span> | 获取所有记分板项 |
#### 行为
| 接口| <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
| [UseItemAttackEntity](世界/行为.md#useitemattackentity) | <span style="display:inline;color:#ff5555">服务端</span> | 使用指定物品攻击某个实体。 |
#### 实体类型
| 接口| <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
@@ -644,7 +656,7 @@ sidebarDepth: 1
| [SetVariant](实体/属性.md#setvariant) | <span style="display:inline;color:#ff5555">服务端</span> | 设置实体的变种属性值 |
| [isEntityInLava](实体/属性.md#isentityinlava) | <span style="display:inline;color:#7575f9">客户端</span> | 实体是否在岩浆中 |
| [isEntityOnGround](实体/属性.md#isentityonground) | <span style="display:inline;color:#7575f9">客户端</span> | 实体是否触地 |
#### 行为
#### 行为<span id = "行为1"></span>
| 接口| <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
| [AddActorComponent](实体/行为.md#addactorcomponent) | <span style="display:inline;color:#ff5555">服务端</span> | 给指定实体自定义添加实体Component |
@@ -818,10 +830,12 @@ sidebarDepth: 1
| [EvalMolangExpression](实体/molang.md#evalmolangexpression) | <span style="display:inline;color:#ff5555">服务端</span> | 在实体上下文上执行molang表达式 |
| [EvalMolangExpression](实体/molang.md#evalmolangexpression) | <span style="display:inline;color:#7575f9">客户端</span> | 在实体上下文上执行molang表达式 |
| [Get](实体/molang.md#get) | <span style="display:inline;color:#7575f9">客户端</span> | 获取某一个实体计算节点的值,如果不存在返回注册时的默认值 |
| [GetAllProperties](实体/molang.md#getallproperties) | <span style="display:inline;color:#ff5555">服务端</span> | 获取实体属性列表 |
| [GetMolangValue](实体/molang.md#getmolangvalue) | <span style="display:inline;color:#7575f9">客户端</span> | 获取实体molang变量的值 |
| [GetStringHash64](实体/molang.md#getstringhash64) | <span style="display:inline;color:#7575f9">客户端</span> | 返回字符串变量的hash64 |
| [Register](实体/molang.md#register) | <span style="display:inline;color:#7575f9">客户端</span> | 注册实体计算节点 |
| [Set](实体/molang.md#set) | <span style="display:inline;color:#7575f9">客户端</span> | 设置某一个实体计算节点的值 |
| [SetPropertyValue](实体/molang.md#setpropertyvalue) | <span style="display:inline;color:#ff5555">服务端</span> | 设置实体属性的值 |
| [UnRegister](实体/molang.md#unregister) | <span style="display:inline;color:#7575f9">客户端</span> | 注销实体计算节点 |
#### 标签
| 接口| <div style="width: 3em"></div> | 描述 |
@@ -881,6 +895,10 @@ sidebarDepth: 1
| [GetPlayerStarveTick](玩家/属性.md#getplayerstarvetick) | <span style="display:inline;color:#ff5555">服务端</span> | 获取玩家饥饿掉血速度当饥饿值小于饥饿临界值时会自动扣除血量开启饥饿值且开启饥饿掉血时有效。原版默认值为80刻即每4秒扣除1点血量 |
| [GetPlayerTotalExp](玩家/属性.md#getplayertotalexp) | <span style="display:inline;color:#ff5555">服务端</span> | 获取玩家的总经验值 |
| [GetPlayerTotalExp](玩家/属性.md#getplayertotalexp) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家的总经验值 |
| [IsHighLevelMultiJointOfficialSkin](玩家/属性.md#ishighlevelmultijointofficialskin) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家穿戴的皮肤是否为史诗及以上的多关节官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId |
| [IsHighLevelOfficialSkin](玩家/属性.md#ishighlevelofficialskin) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家穿戴的皮肤是否为史诗及以上的官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId |
| [IsMultiJointOfficialSkin](玩家/属性.md#ismultijointofficialskin) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家穿戴的皮肤是否为多关节官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId |
| [IsOfficialSkin](玩家/属性.md#isofficialskin) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家穿戴的皮肤是否为官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId |
| [IsPlayerNaturalRegen](玩家/属性.md#isplayernaturalregen) | <span style="display:inline;color:#ff5555">服务端</span> | 是否开启玩家自然恢复,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效。原版默认开启 |
| [IsPlayerNaturalStarve](玩家/属性.md#isplayernaturalstarve) | <span style="display:inline;color:#ff5555">服务端</span> | 是否开启玩家饥饿掉血,当饥饿值小于饥饿临界值时会自动恢复血量,开启饥饿值且开启饥饿掉血时有效。原版默认开启 |
| [SetEnchantmentSeed](玩家/属性.md#setenchantmentseed) | <span style="display:inline;color:#ff5555">服务端</span> | 设置玩家的附魔种子,该种子会决定附魔台上准备附魔的装备的附魔项 |
@@ -897,7 +915,7 @@ sidebarDepth: 1
| [SetPlayerTotalExp](玩家/属性.md#setplayertotalexp) | <span style="display:inline;color:#ff5555">服务端</span> | 设置玩家的总经验值 |
| [Swing](玩家/属性.md#swing) | <span style="display:inline;color:#7575f9">客户端</span> | 本地玩家播放原版攻击动作 |
| [getUid](玩家/属性.md#getuid) | <span style="display:inline;color:#7575f9">客户端</span> | 获取本地玩家的uid |
#### 行为<span id = "行为1"></span>
#### 行为<span id = "行为2"></span>
| 接口| <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
| [AddPlayerAroundEntityMotion](玩家/行为.md#addplayeraroundentitymotion) | <span style="display:inline;color:#ff5555">服务端</span> | 给玩家添加对实体环绕运动器 |
@@ -927,6 +945,7 @@ sidebarDepth: 1
| [IsOnLadder](玩家/行为.md#isonladder) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家是否在梯子/藤蔓上 |
| [IsPlayerCanFly](玩家/行为.md#isplayercanfly) | <span style="display:inline;color:#ff5555">服务端</span> | 获取玩家能否飞行 |
| [IsPlayerFlying](玩家/行为.md#isplayerflying) | <span style="display:inline;color:#ff5555">服务端</span> | 获取玩家是否在飞行 |
| [OpenNeteaseContainer](玩家/行为.md#openneteasecontainer) | <span style="display:inline;color:#ff5555">服务端</span> | 打开自定义容器界面,不依赖于方块。该界面的物品数据需由开发者自行维护。 |
| [OpenWorkBench](玩家/行为.md#openworkbench) | <span style="display:inline;color:#ff5555">服务端</span> | 在玩家当前位置打开工作台UI不依赖于工作台方块 |
| [PickUpItemEntity](玩家/行为.md#pickupitementity) | <span style="display:inline;color:#ff5555">服务端</span> | 某个Player拾取物品ItemEntity |
| [PlayerAttackEntity](玩家/行为.md#playerattackentity) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家使用手持武器攻击某个生物 |
@@ -1153,6 +1172,7 @@ sidebarDepth: 1
| [AddDropItemToWorld](方块/渲染.md#adddropitemtoworld) | <span style="display:inline;color:#7575f9">客户端</span> | 在客户端添加一个掉落物渲染 |
| [ChangeBlockTextures](方块/渲染.md#changeblocktextures) | <span style="display:inline;color:#7575f9">客户端</span> | 替换方块贴图 |
| [DeleteClientDropItemEntity](方块/渲染.md#deleteclientdropitementity) | <span style="display:inline;color:#7575f9">客户端</span> | 删除AddDropItemToWorld创建的客户端掉落物 |
| [DestroyCrackFrame](方块/渲染.md#destroycrackframe) | <span style="display:inline;color:#7575f9">客户端</span> | 销毁特定方块位置上的破坏纹理仅能销毁SetCrackFrame接口创建的破坏纹理。 |
| [GetBlockEntityExtraUniforms](方块/渲染.md#getblockentityextrauniforms) | <span style="display:inline;color:#7575f9">客户端</span> | 获取在自定义方块实体的shader当中使用的自定义变量的值该自定义变量总共可设置EXTRA_ACTOR_UNIFORM1,EXTRA_ACTOR_UNIFORM2,EXTRA_ACTOR_UNIFORM3,EXTRA_ACTOR_UNIFORM4总共4组每组为一个vec4(float, float, float ,float)类型的向量。 |
| [GetBlockRenderDistance](方块/渲染.md#getblockrenderdistance) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家周围的可渲染距离 |
| [GetBlockTextures](方块/渲染.md#getblocktextures) | <span style="display:inline;color:#7575f9">客户端</span> | 获取方块的初始贴图信息 |
@@ -1164,6 +1184,8 @@ sidebarDepth: 1
| [SetBlockEntityModelScale](方块/渲染.md#setblockentitymodelscale) | <span style="display:inline;color:#7575f9">客户端</span> | 设置自定义方块实体的实体模型大小的缩放值可通过该接口来调整自定义方块实体的实体模型的大小。只有自定义方块实体定义实体模型才生效实体模型在resource_pack/entity/下定义,详细可参考自定义方块实体动画的教学文档。 |
| [SetBlockEntityParticlePosOffset](方块/渲染.md#setblockentityparticleposoffset) | <span style="display:inline;color:#7575f9">客户端</span> | 设置自定义方块实体中粒子特效位置偏移值,用于调整粒子特效相对于方块位置的偏移。与特效/粒子/SetPos接口不同该接口调整的是相对于方块位置的位置偏移值而不是世界坐标。 |
| [SetBlockRenderDistance](方块/渲染.md#setblockrenderdistance) | <span style="display:inline;color:#7575f9">客户端</span> | 设置玩家周围方块的可渲染距离 |
| [SetCrackFrame](方块/渲染.md#setcrackframe) | <span style="display:inline;color:#7575f9">客户端</span> | 仅客户端的破坏纹理的渲染,可自定义破坏阶段在第几帧。 |
| [SetDropItemTransform](方块/渲染.md#setdropitemtransform) | <span style="display:inline;color:#7575f9">客户端</span> | 设置通过AddDropItemToWorld添加的掉落物的位置、角度和缩放 |
#### 容器
| 接口| <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
@@ -1420,7 +1442,10 @@ sidebarDepth: 1
| [ShowModel](模型.md#showmodel) | <span style="display:inline;color:#7575f9">客户端</span> | 显示纯模型 |
| [UnBindModelToEntity](模型.md#unbindmodeltoentity) | <span style="display:inline;color:#7575f9">客户端</span> | 取消实体上挂接的某个骨骼模型。取消挂接后这个modelId的模型便会销毁无法再使用如果是临时隐藏可以使用HideModel |
| [UnBindModelToModel](模型.md#unbindmodeltomodel) | <span style="display:inline;color:#7575f9">客户端</span> | 取消骨骼模型上挂接的某个骨骼模型。取消挂接后这个modelId的模型便会销毁无法再使用如果是临时隐藏可以使用HideModel |
#### 山头服务器<span id = "山头服务器2"></span>
| 接口 | <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
| [GetHostPlayerUid](山头服务器.md#gethostplayeruid) | <span style="display:inline;color:#ff5555">服务端</span> | 获取服务器拥有者的uid。 |
#### 原生UI<span id = "原生UI2"></span>
| 接口 | <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
@@ -1447,7 +1472,6 @@ sidebarDepth: 1
| [HideMoveGui](原生UI.md#hidemovegui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中左下角的移动按钮。隐藏后点击相应位置不会响应 |
| [HideNeteaseStoreGui](原生UI.md#hideneteasestoregui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中的网易商店按钮。隐藏后点击相应位置不会响应 |
| [HidePauseGUI](原生UI.md#hidepausegui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏暂停按钮原生UI。 |
| [HideReportGUI](原生UI.md#hidereportgui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏举报按钮原生UI。 |
| [HideSlotBarGui](原生UI.md#hideslotbargui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中底部中间的物品栏界面 |
| [HideSneakGui](原生UI.md#hidesneakgui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中左下角方向键的中心处潜行按钮。隐藏后点击相应位置不会响应 |
| [HideSwimGui](原生UI.md#hideswimgui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中的浮潜按钮。隐藏后点击相应位置不会响应。 |
@@ -1917,3 +1941,36 @@ sidebarDepth: 1
| [OpenShopWindow](商城.md#openshopwindow) | <span style="display:inline;color:#7575f9">客户端</span> | 打开网易商城窗口。PC端无效Apollo的PC端请使用商城插件 |
| [ShowShopGate](商城.md#showshopgate) | <span style="display:inline;color:#7575f9">客户端</span> | 显示网易商城入口 |
#### 渲染<span id = "渲染2"></span>
| 接口 | <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
| [AddArrowShape](渲染.md#addarrowshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建箭头形状 |
| [AddBoxShape](渲染.md#addboxshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建盒子形状 |
| [AddCircleShape](渲染.md#addcircleshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建圆形状 |
| [AddLineShape](渲染.md#addlineshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建线条形状 |
| [AddSphereShape](渲染.md#addsphereshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建球形状 |
| [AddTextShape](渲染.md#addtextshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建文本形状 |
| [GetBoxScale](渲染.md#getboxscale) | <span style="display:inline;color:#7575f9">客户端</span> | 获取BoxShape的大小 |
| [GetColor](渲染.md#getcolor) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape的颜色 |
| [GetEndPos](渲染.md#getendpos) | <span style="display:inline;color:#7575f9">客户端</span> | 获取LineShape或ArrowShape的结束位置 |
| [GetLength](渲染.md#getlength) | <span style="display:inline;color:#7575f9">客户端</span> | 获取ArrowShape的头部长度 |
| [GetPos](渲染.md#getpos) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape的位置 |
| [GetPriority](渲染.md#getpriority) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape的优先级 |
| [GetRadius](渲染.md#getradius) | <span style="display:inline;color:#7575f9">客户端</span> | 获取CircleShape或ArrowShape或SphereShape的半径 |
| [GetSegments](渲染.md#getsegments) | <span style="display:inline;color:#7575f9">客户端</span> | 获取CircleShape或ArrowShape头部的分段数 |
| [GetText](渲染.md#gettext) | <span style="display:inline;color:#7575f9">客户端</span> | 获取TextShape的文本 |
| [GetType](渲染.md#gettype) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape的类型 |
| [GetVisible](渲染.md#getvisible) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape是否可见 |
| [Remove](渲染.md#remove) | <span style="display:inline;color:#7575f9">客户端</span> | 删除Shape |
| [RemoveAll](渲染.md#removeall) | <span style="display:inline;color:#7575f9">客户端</span> | 删除当前所有Shape |
| [SetBoxScale](渲染.md#setboxscale) | <span style="display:inline;color:#7575f9">客户端</span> | 设置BoxShape的大小 |
| [SetColor](渲染.md#setcolor) | <span style="display:inline;color:#7575f9">客户端</span> | 设置Shape的颜色 |
| [SetEndPos](渲染.md#setendpos) | <span style="display:inline;color:#7575f9">客户端</span> | 设置LineShape或ArrowShape的结束位置 |
| [SetLength](渲染.md#setlength) | <span style="display:inline;color:#7575f9">客户端</span> | 设置组成ArrowShape头部的长度 |
| [SetPos](渲染.md#setpos) | <span style="display:inline;color:#7575f9">客户端</span> | 设置Shape的位置 |
| [SetPriority](渲染.md#setpriority) | <span style="display:inline;color:#7575f9">客户端</span> | 设置Shape的渲染优先级, 同一像素点处优先渲染优先级高的Shape, 默认为0 |
| [SetRadius](渲染.md#setradius) | <span style="display:inline;color:#7575f9">客户端</span> | 设置CircleShape或ArrowShape或SphereShape的半径 |
| [SetSegments](渲染.md#setsegments) | <span style="display:inline;color:#7575f9">客户端</span> | 设置组成ArrowShape头部的网格数量, 最小为3 |
| [SetText](渲染.md#settext) | <span style="display:inline;color:#7575f9">客户端</span> | 设置TextShape的文本内容 |
| [SetVisible](渲染.md#setvisible) | <span style="display:inline;color:#7575f9">客户端</span> | 设置Shape是否可见 |

View File

@@ -297,6 +297,7 @@ method in mod.server.component.blockCompServer.BlockCompServer
- 备注
- 注意该pattern不限定方向只要能在任一平面上组合成功就能合成对应的实体。
- 如示例代码所示,不需要放方块的位置需要显式定义为空气方块
- 如示例代码所示,如果填了空格,表示该位置可以匹配任意方块
- 当引擎中已注册过相同的pattern和defines时该接口不会更新result_actor_name并返回False
- namespace:name:aux_value当aux_value不填或者填*时为通配如果有具体aux_value时只匹配特定方块
如'minecraft:wood'、'minecraft:wood:*'均通配木头,而'minecraft:wood:0'只匹配橡木。
@@ -318,6 +319,11 @@ defines ={
}
comp.RegisterBlockPatterns(pattern,defines,'minecraft:chicken')
#该例子左中右下放铁块,上面放金块,会生成一只鸡
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateBlock(playerId)
value = comp.RegisterBlockPatterns(['# #'],{'#': 'minecraft:iron_block'},'minecraft:cat')
#该例子中,玩家左右放俩铁块,无论中间是空气还是任意方块,均可生成一只猫
```

View File

@@ -19,6 +19,7 @@ sidebarDepth: 1
- [指令](#指令)
- [消息](#消息)
- [记分板](#记分板)
- [行为](#行为)
### 地图
@@ -328,3 +329,9 @@ sidebarDepth: 1
| [GetAllScoreboardObjects](记分板.md#getallscoreboardobjects) | <span style="display:inline;color:#ff5555">服务端</span> | 获取所有记分板项 |
| [GetAllScoreboardObjects](记分板.md#getallscoreboardobjects) | <span style="display:inline;color:#7575f9">客户端</span> | 获取所有记分板项 |
### 行为
| 接口 | <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
| [UseItemAttackEntity](行为.md#useitemattackentity) | <span style="display:inline;color:#ff5555">服务端</span> | 使用指定物品攻击某个实体。 |

View File

@@ -0,0 +1,56 @@
---
sidebarDepth: 1
---
# 行为
## UseItemAttackEntity
<span style="display:inline;color:#ff5555">服务端</span>
method in mod.server.component.gameCompServer.GameComponentServer
- 描述
使用指定物品攻击某个实体。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| itemDict | dict | 物品字典数据 |
| entityId | str | 攻击实体id |
| cause | str | 伤害类型默认值是EntityAttack详见Minecraft枚举值文档的[ActorDamageCause](../../枚举值/ActorDamageCause.md) |
| attackerPos | tuple(float,float,float) | 伤害来源坐标默认值为None该参数会影响击退效果的计算 |
| knocked | bool | 是否击退默认值为False如果设置为True需同时设置attackerPos |
| customTag | str | 标识自定义伤害来源只在cause为Custom生效可在ActorHurtServerEvent、ActuallyHurtServerEvent、DamageEvent、PlayerHurtEvent、PlayerDieEvent、MobDieEvent监听到标识 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| dict | 成功返回使用过后的物品字典失败返回None |
- 备注
- 无攻击力的物品,将会没有伤害。
- 有耐久的物品在攻击后,将会扣除部分耐久。
- 可通过DamageEvent等事件修改伤害值。
- 如果itemDict写入了不可添加到该物品的附魔该附魔效果将不会生效返回的itemDict也不会带有该附魔信息。如果有需求可考虑将附魔信息写入userData。
- 示例
```python
import mod.server.extraServerApi as serverApi
levelId = serverApi.GetLevelId()
comp = serverApi.GetEngineCompFactory().CreateGame(levelId)
itemDict = {
"newItemName": "minecraft:iron_sword",
"newAuxValue": 0,
"count": 1,
"durability": 256,
"enchantData": [(9,1)]
}
print(comp.UseItemAttackEntity(itemDict, entityId))
```

View File

@@ -34,7 +34,6 @@ sidebarDepth: 1
| [HideMoveGui](原生UI.md#hidemovegui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中左下角的移动按钮。隐藏后点击相应位置不会响应 |
| [HideNeteaseStoreGui](原生UI.md#hideneteasestoregui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中的网易商店按钮。隐藏后点击相应位置不会响应 |
| [HidePauseGUI](原生UI.md#hidepausegui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏暂停按钮原生UI。 |
| [HideReportGUI](原生UI.md#hidereportgui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏举报按钮原生UI。 |
| [HideSlotBarGui](原生UI.md#hideslotbargui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中底部中间的物品栏界面 |
| [HideSneakGui](原生UI.md#hidesneakgui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中左下角方向键的中心处潜行按钮。隐藏后点击相应位置不会响应 |
| [HideSwimGui](原生UI.md#hideswimgui) | <span style="display:inline;color:#7575f9">客户端</span> | 隐藏游戏中的浮潜按钮。隐藏后点击相应位置不会响应。 |
@@ -773,35 +772,6 @@ clientApi.HidePauseGUI(True)
## HideReportGUI
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
隐藏举报按钮原生UI。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| isHide | bool | 是否隐藏True为隐藏False为显示 |
- 返回值
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.HideReportGUI(True)
```
## HideSlotBarGui
<span style="display:inline;color:#7575f9">客户端</span>

View File

@@ -107,6 +107,39 @@ result = comp.Get('query.mod.state')
## GetAllProperties
<span style="display:inline;color:#ff5555">服务端</span>
method in mod.server.component.queryVariableCompServer.QueryVariableComponentServer
- 描述
获取实体属性列表
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(str) | 所有已注册properties每个str为properties的名称如果有错误返回None |
- 备注
- 可配合query.property使用EvalMolangExpression获取实体属性的值。在客户端只能获取到client_sync为true的属性
- 示例
```python
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateQueryVariable(entityId)
result = comp.GetAllProperties()
```
## GetMolangValue
<span style="display:inline;color:#7575f9">客户端</span>
@@ -251,6 +284,42 @@ result = comp.Set('query.mod.state', 1.0)
## SetPropertyValue
<span style="display:inline;color:#ff5555">服务端</span>
method in mod.server.component.queryVariableCompServer.QueryVariableComponentServer
- 描述
设置实体属性的值
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| propertyName | str | 属性名如minecraft:has_nectar |
| value | str/int/float/bool | 属性值支持int/float/bool/enum(str)支持molang表达式 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否执行成功 |
- 备注
- molang表达式需无副作用 例如不能设置molang变量的值例如"variable.moo = 1;return variable.moo;"。query仅支持query.has_property、query.property
- 示例
```python
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateQueryVariable(entityId)
result = comp.SetPropertyValue('minecraft:has_nectar', True)
```
## UnRegister
<span style="display:inline;color:#7575f9">客户端</span>

View File

@@ -320,10 +320,12 @@ sidebarDepth: 1
| [EvalMolangExpression](molang.md#evalmolangexpression) | <span style="display:inline;color:#ff5555">服务端</span> | 在实体上下文上执行molang表达式 |
| [EvalMolangExpression](molang.md#evalmolangexpression) | <span style="display:inline;color:#7575f9">客户端</span> | 在实体上下文上执行molang表达式 |
| [Get](molang.md#get) | <span style="display:inline;color:#7575f9">客户端</span> | 获取某一个实体计算节点的值,如果不存在返回注册时的默认值 |
| [GetAllProperties](molang.md#getallproperties) | <span style="display:inline;color:#ff5555">服务端</span> | 获取实体属性列表 |
| [GetMolangValue](molang.md#getmolangvalue) | <span style="display:inline;color:#7575f9">客户端</span> | 获取实体molang变量的值 |
| [GetStringHash64](molang.md#getstringhash64) | <span style="display:inline;color:#7575f9">客户端</span> | 返回字符串变量的hash64 |
| [Register](molang.md#register) | <span style="display:inline;color:#7575f9">客户端</span> | 注册实体计算节点 |
| [Set](molang.md#set) | <span style="display:inline;color:#7575f9">客户端</span> | 设置某一个实体计算节点的值 |
| [SetPropertyValue](molang.md#setpropertyvalue) | <span style="display:inline;color:#ff5555">服务端</span> | 设置实体属性的值 |
| [UnRegister](molang.md#unregister) | <span style="display:inline;color:#7575f9">客户端</span> | 注销实体计算节点 |
### 标签

View File

@@ -2383,6 +2383,7 @@ method in mod.server.component.attrCompServer.AttrCompServer
- 为了避免因浮点数误差导致错误设置的时候通常会增加1/16个方块大小即0.0625。所以此处我们设置2.0625。游戏中默认值是0.5625,即半格高度。
- 只对玩家生效,无法修改其它实体该属性
- 修改后不影响跳跃逻辑及跳跃高度,并不会因此而跳到更高,因此在某些特定情况下,你可以走上方块但跳不上去。
- 设置的步长值较大时,可能会存在可以跨到方块顶部,却走不到方块中间空隙的特殊情况。
- 示例

View File

@@ -0,0 +1,43 @@
---
sidebarDepth: 1
---
# 山头服务器
# 索引
---
| 接口 | <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
| [GetHostPlayerUid](山头服务器.md#gethostplayeruid) | <span style="display:inline;color:#ff5555">服务端</span> | 获取服务器拥有者的uid。 |
## GetHostPlayerUid
<span style="display:inline;color:#ff5555">服务端</span>
method in mod.server.component.domainGameCompServer.DomainGameCompServer
- 描述
获取服务器拥有者的uid。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| int | 服务器拥有者uid |
- 示例
```python
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateDomainGame(levelId)
uid = comp.GetHostPlayerUid()
```

View File

@@ -341,8 +341,9 @@ method in mod.server.component.itemCompServer.ItemCompServer
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| playerId | str | 玩家id |
| slot | int | 容器槽位含义见:[容器类型枚举](../../枚举值/PlayerUISlot.md) |
| slot | int | 容器槽位。在isNeteaseUI为True时代表netease_ui_container中对应槽位isNeteaseUI为False时含义见:[容器类型枚举](../../枚举值/PlayerUISlot.md) |
| getUserData | bool | 是否获取userData默认为False |
| isNeteaseUI | bool | 默认为falsetrue时获取netease_ui_container的物品 |
- 返回值
@@ -352,7 +353,7 @@ method in mod.server.component.itemCompServer.ItemCompServer
- 备注
- 合成容器包括工作台、铁砧、附魔台、织布机、砂轮、切石机、制图台、锻造台。
- 所有合成容器槽位共享,不会根据不同容器重新排列
- 所有合成容器槽位共享,不会根据不同容器重新排列。网易ui容器独立于原版合成容器不同自定义容器中的netease_ui_container共享槽位。
- 示例
@@ -523,9 +524,10 @@ method in mod.server.component.itemCompServer.ItemCompServer
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| playerId | str | 玩家id |
| slot | int | 容器槽位含义见:[容器类型枚举](../../枚举值/PlayerUISlot.md) |
| slot | int | 容器槽位。在isNeteaseUI为True时代表netease_ui_container中对应槽位isNeteaseUI为False时含义见:[容器类型枚举](../../枚举值/PlayerUISlot.md) |
| itemDict | dict | <a href="../../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典#物品信息字典">物品信息字典</a>没有物品则返回None |
| needBack | bool | 是否将容器槽位的已有物品放回至玩家背包中默认为True。设置为False时则会直接用itemDict中的物品覆盖容器槽位的已有物品。 |
| isNeteaseUI | bool | 默认为falsetrue时设置netease_ui_container的物品 |
- 返回值
@@ -537,6 +539,7 @@ method in mod.server.component.itemCompServer.ItemCompServer
- 合成容器包括工作台、铁砧、附魔台、织布机、砂轮、切石机、制图台、锻造台。
- 如果原槽位有物品,则会将原有物品放入玩家背包。如果玩家背包已满,则会在世界中玩家当前的位置生成对应的物品掉落物。
- 注意所有合成容器槽位共享不会根据不同容器重新排列没有打开容器或者打开了别的容器该接口会返回False。
- 如果设置的是netease_ui_container即使没有打开容器也能设置成功所有netease_ui_container槽位共享。
- 下面情况视为清空特定槽位:itemDict为None为{}, 或itemName为minecraft:air或者count为0同时needBack参数为False
- 由于创造输出物品生成位比较特殊该接口已经屏蔽了slot = 50的情况即无法设置创造输出位的物品。
@@ -584,7 +587,7 @@ method in mod.server.component.itemCompServer.ItemCompServer
- 备注
- 此接口不支持末影箱。对应的末影箱接口请参考 [SpawnItemToEnderChest](#spawnitemtoenderchest)
- 下面情况视为清空特定槽位:itemDict为空为{}, 或itemName为minecraft:air或者count为0
- 目前该接口支持的容器类型方块:箱子、潜影盒、漏斗、木桶、投掷器、发射器
- 目前该接口支持的容器类型方块:箱子、潜影盒、漏斗、木桶、投掷器、发射器、自定义容器
- 示例

View File

@@ -133,8 +133,8 @@ method in mod.server.component.blockInfoCompServer.BlockInfoComponentServer
```python
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateBlockInfo(levelId)
blockDict = comp.SetBlockBasicInfo("minecraft:stone", {"blockLightEmission":1,
"blockLightAbsorption":1,
blockDict = comp.SetBlockBasicInfo("custom:custom_block", {"destroyTime":1,
"loot":"loot_tables/block/custom_block_drop.json",
"solid":False,
"tier":{"level":3}})
```

View File

@@ -123,6 +123,43 @@ print comp.DeleteClientDropItemEntity(entityId)
## DestroyCrackFrame
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.blockInfoCompClient.BlockInfoComponentClient
- 描述
销毁特定方块位置上的破坏纹理仅能销毁SetCrackFrame接口创建的破坏纹理
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| dimensionId | int | 方块所在维度。 |
| blockPos | tuple(int,int,int) | 目标方块的坐标。 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否执行成功。 |
- 备注
- 如果方块被替换,需开发者主动销毁裂纹
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateBlockInfo(levelId)
# 销毁位置(30,66,30)的破坏纹理
comp.DestroyCrackFrame(0, (30, 66, 30))
```
## GetBlockEntityExtraUniforms
<span style="display:inline;color:#7575f9">客户端</span>
@@ -444,7 +481,7 @@ method in mod.client.component.blockInfoCompClient.BlockInfoComponentClient
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(int,int,int) | 方块所在位置 |
| scale | tuple(int,int,int) | 实体模型在x,y,z各个轴上的缩放值。支持负值当某一轴的缩放值为负值时表示模型将会在这个轴上进行以另外两个轴为对称平面的镜像变换。 |
| scale | tuple(float,float,float) | 实体模型在x,y,z各个轴上的缩放值。支持负值当某一轴的缩放值为负值时表示模型将会在这个轴上进行以另外两个轴为对称平面的镜像变换。 |
- 返回值
@@ -454,7 +491,7 @@ method in mod.client.component.blockInfoCompClient.BlockInfoComponentClient
- 备注
- 模型的大小可以通过两个方式来调整:
(1) 在entity.json中scripts字段下定义scale如下所示
(1) 在entity.json中scripts字段下定义scale如下所示
"minecraft:client_entity": {
...
"scripts":{
@@ -549,3 +586,79 @@ print comp.SetBlockRenderDistance(48)
## SetCrackFrame
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.blockInfoCompClient.BlockInfoComponentClient
- 描述
仅客户端的破坏纹理的渲染,可自定义破坏阶段在第几帧。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| dimensionId | int | 方块所在维度。 |
| blockPos | tuple(int,int,int) | 目标方块的坐标。 |
| frame | int | 第几张纹理取值范围0-9。 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否执行成功(不代表必定能显示裂纹)。 |
- 备注
- 目前自定义方块实体外观不支持裂纹的显示client_entity、netease_model
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateBlockInfo(levelId)
# 在(30,66,30)这个位置播放破坏方块的纹理进度为1
comp.SetCrackFrame(0, (30, 66, 30), 1)
```
## SetDropItemTransform
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.itemCompClient.ItemCompClient
- 描述
设置通过AddDropItemToWorld添加的掉落物的位置、角度和缩放
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| entityId | str | 掉落物的entityIdentityId可在调用[AddDropItemToWorld](#AddDropItemToWorld)时保存返回值,或者通过[GetClientDropItemEntityIdList](#GetClientDropItemEntityIdList)接口获取list |
| position | tuple(float,float,float) | 生成的掉落物所在位置。如需设置后续参数需填写None占位传None表示不修改 |
| rotation | tuple(float,float,float) | 选填设置掉落物的角度不填默认为None设置rotation后将会固定角度[AddDropItemToWorld](#AddDropItemToWorld)设置的spinSpeed无效。如需设置后续参数需填写None占位传None表示不修改 |
| scale | float | 选填设置掉落物的缩放不填默认为None传None表示不修改 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否成功 |
- 备注
- Scale不能为负数设置过大可能会导致掉落物消失同时Scale过大会出现某些摄像机视角不会渲染的情况
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateItem(levelId)
print comp.SetDropItemTransform(entityId, (10, 10, 10), (90, 45, 30), 1.5) # entityId需要AddDropItemToWorld接口获取
```

View File

@@ -104,6 +104,7 @@ sidebarDepth: 1
| [AddDropItemToWorld](渲染.md#adddropitemtoworld) | <span style="display:inline;color:#7575f9">客户端</span> | 在客户端添加一个掉落物渲染 |
| [ChangeBlockTextures](渲染.md#changeblocktextures) | <span style="display:inline;color:#7575f9">客户端</span> | 替换方块贴图 |
| [DeleteClientDropItemEntity](渲染.md#deleteclientdropitementity) | <span style="display:inline;color:#7575f9">客户端</span> | 删除AddDropItemToWorld创建的客户端掉落物 |
| [DestroyCrackFrame](渲染.md#destroycrackframe) | <span style="display:inline;color:#7575f9">客户端</span> | 销毁特定方块位置上的破坏纹理仅能销毁SetCrackFrame接口创建的破坏纹理。 |
| [GetBlockEntityExtraUniforms](渲染.md#getblockentityextrauniforms) | <span style="display:inline;color:#7575f9">客户端</span> | 获取在自定义方块实体的shader当中使用的自定义变量的值该自定义变量总共可设置EXTRA_ACTOR_UNIFORM1,EXTRA_ACTOR_UNIFORM2,EXTRA_ACTOR_UNIFORM3,EXTRA_ACTOR_UNIFORM4总共4组每组为一个vec4(float, float, float ,float)类型的向量。 |
| [GetBlockRenderDistance](渲染.md#getblockrenderdistance) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家周围的可渲染距离 |
| [GetBlockTextures](渲染.md#getblocktextures) | <span style="display:inline;color:#7575f9">客户端</span> | 获取方块的初始贴图信息 |
@@ -115,6 +116,8 @@ sidebarDepth: 1
| [SetBlockEntityModelScale](渲染.md#setblockentitymodelscale) | <span style="display:inline;color:#7575f9">客户端</span> | 设置自定义方块实体的实体模型大小的缩放值可通过该接口来调整自定义方块实体的实体模型的大小。只有自定义方块实体定义实体模型才生效实体模型在resource_pack/entity/下定义,详细可参考自定义方块实体动画的教学文档。 |
| [SetBlockEntityParticlePosOffset](渲染.md#setblockentityparticleposoffset) | <span style="display:inline;color:#7575f9">客户端</span> | 设置自定义方块实体中粒子特效位置偏移值,用于调整粒子特效相对于方块位置的偏移。与特效/粒子/SetPos接口不同该接口调整的是相对于方块位置的位置偏移值而不是世界坐标。 |
| [SetBlockRenderDistance](渲染.md#setblockrenderdistance) | <span style="display:inline;color:#7575f9">客户端</span> | 设置玩家周围方块的可渲染距离 |
| [SetCrackFrame](渲染.md#setcrackframe) | <span style="display:inline;color:#7575f9">客户端</span> | 仅客户端的破坏纹理的渲染,可自定义破坏阶段在第几帧。 |
| [SetDropItemTransform](渲染.md#setdropitemtransform) | <span style="display:inline;color:#7575f9">客户端</span> | 设置通过AddDropItemToWorld添加的掉落物的位置、角度和缩放 |
### 容器

View File

@@ -0,0 +1,989 @@
---
sidebarDepth: 1
---
# 渲染
# 索引
---
| 接口 | <div style="width: 3em"></div> | 描述 |
| --- | --- | --- |
| [AddArrowShape](渲染.md#addarrowshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建箭头形状 |
| [AddBoxShape](渲染.md#addboxshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建盒子形状 |
| [AddCircleShape](渲染.md#addcircleshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建圆形状 |
| [AddLineShape](渲染.md#addlineshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建线条形状 |
| [AddSphereShape](渲染.md#addsphereshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建球形状 |
| [AddTextShape](渲染.md#addtextshape) | <span style="display:inline;color:#7575f9">客户端</span> | 新建文本形状 |
| [GetBoxScale](渲染.md#getboxscale) | <span style="display:inline;color:#7575f9">客户端</span> | 获取BoxShape的大小 |
| [GetColor](渲染.md#getcolor) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape的颜色 |
| [GetEndPos](渲染.md#getendpos) | <span style="display:inline;color:#7575f9">客户端</span> | 获取LineShape或ArrowShape的结束位置 |
| [GetLength](渲染.md#getlength) | <span style="display:inline;color:#7575f9">客户端</span> | 获取ArrowShape的头部长度 |
| [GetPos](渲染.md#getpos) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape的位置 |
| [GetPriority](渲染.md#getpriority) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape的优先级 |
| [GetRadius](渲染.md#getradius) | <span style="display:inline;color:#7575f9">客户端</span> | 获取CircleShape或ArrowShape或SphereShape的半径 |
| [GetSegments](渲染.md#getsegments) | <span style="display:inline;color:#7575f9">客户端</span> | 获取CircleShape或ArrowShape头部的分段数 |
| [GetText](渲染.md#gettext) | <span style="display:inline;color:#7575f9">客户端</span> | 获取TextShape的文本 |
| [GetType](渲染.md#gettype) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape的类型 |
| [GetVisible](渲染.md#getvisible) | <span style="display:inline;color:#7575f9">客户端</span> | 获取Shape是否可见 |
| [Remove](渲染.md#remove) | <span style="display:inline;color:#7575f9">客户端</span> | 删除Shape |
| [RemoveAll](渲染.md#removeall) | <span style="display:inline;color:#7575f9">客户端</span> | 删除当前所有Shape |
| [SetBoxScale](渲染.md#setboxscale) | <span style="display:inline;color:#7575f9">客户端</span> | 设置BoxShape的大小 |
| [SetColor](渲染.md#setcolor) | <span style="display:inline;color:#7575f9">客户端</span> | 设置Shape的颜色 |
| [SetEndPos](渲染.md#setendpos) | <span style="display:inline;color:#7575f9">客户端</span> | 设置LineShape或ArrowShape的结束位置 |
| [SetLength](渲染.md#setlength) | <span style="display:inline;color:#7575f9">客户端</span> | 设置组成ArrowShape头部的长度 |
| [SetPos](渲染.md#setpos) | <span style="display:inline;color:#7575f9">客户端</span> | 设置Shape的位置 |
| [SetPriority](渲染.md#setpriority) | <span style="display:inline;color:#7575f9">客户端</span> | 设置Shape的渲染优先级, 同一像素点处优先渲染优先级高的Shape, 默认为0 |
| [SetRadius](渲染.md#setradius) | <span style="display:inline;color:#7575f9">客户端</span> | 设置CircleShape或ArrowShape或SphereShape的半径 |
| [SetSegments](渲染.md#setsegments) | <span style="display:inline;color:#7575f9">客户端</span> | 设置组成ArrowShape头部的网格数量, 最小为3 |
| [SetText](渲染.md#settext) | <span style="display:inline;color:#7575f9">客户端</span> | 设置TextShape的文本内容 |
| [SetVisible](渲染.md#setvisible) | <span style="display:inline;color:#7575f9">客户端</span> | 设置Shape是否可见 |
## AddArrowShape
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingCompClient.DrawingCompClient
- 描述
新建箭头形状
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| startPos | tuple(float,float,float) | 箭头形状的起始位置 |
| endPos | tuple(float,float,float) | 箭头形状的结束位置 |
| color | tuple(float,float,float) | 箭头形状的颜色, RGB值, 取值范围为[0,1], 默认为(1,1,1) |
| headSegmentsNum | int | 组成箭头形状头部的网格数量, 最小为3, 默认为20 |
| arrowHeadLength | float | 箭头形状头部的长度, 默认为1 |
| radius | float | 箭头形状头部的半径, 默认为0.5 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| DrawingShapeCompClient | 新建的箭头形状 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
arrow = comp.AddArrowShape((20,100,20), (20,150,20), (1,0,0), 40, 5, 2.5)
```
## AddBoxShape
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingCompClient.DrawingCompClient
- 描述
新建盒子形状
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 盒子形状的位置 |
| scale | tuple(float,float,float) | 盒子形状的大小, 默认为(1,1,1) |
| color | tuple(float,float,float) | 盒子形状的颜色, RGB值, 取值范围为[0,1], 默认为(1,1,1) |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| DrawingShapeCompClient | 新建的盒子形状 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
shape = comp.AddBoxShape((-37, 100, 100),(5,5,5),(1,0,0))
```
## AddCircleShape
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingCompClient.DrawingCompClient
- 描述
新建圆形状
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 圆形状的位置 |
| radius | float | 圆形状的半径 |
| color | tuple(float,float,float) | 圆形状的颜色, RGB值, 取值范围为[0,1], 默认为(1,1,1) |
| plane | int | 圆形状的平面, 0时为不指定平面, 1时为XY平面, 2时为XZ平面, 3时为YZ平面, 默认为2 |
| segmentsNum | int | 圆形状的网格数量, 默认为20, 最小为1, 小于1后不渲染 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| DrawingShapeCompClient | 新建的圆形状 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
circle = comp.AddCircleShape((50,100,50), 5, (1,0,0))
```
## AddLineShape
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingCompClient.DrawingCompClient
- 描述
新建线条形状
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| startPos | tuple(float,float,float) | 线条形状的起始位置 |
| endPos | tuple(float,float,float) | 线条形状的结束位置 |
| color | tuple(float,float,float) | 线条形状的颜色, RGB值, 取值范围为[0,1], 默认为(1,1,1) |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| DrawingShapeCompClient | 新建的线条形状 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
line = comp.AddLineShape((-37, 100, 100), (0,0,0),(1,0,0))
```
## AddSphereShape
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingCompClient.DrawingCompClient
- 描述
新建球形状
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 球形状的位置 |
| radius | float | 球形状的半径 |
| color | tuple(float,float,float) | 球形状的颜色, RGB值, 取值范围为[0,1], 默认为(1,1,1) |
| segmentsNum | int | 球形状的网格数量, 默认为20, 最小为1, 小于等于1后不渲染 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| DrawingShapeCompClient | 新建的球形状 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
sphere = comp.AddSphereShape((-50, 100, -50), 5, (1,0,0))
```
## AddTextShape
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingCompClient.DrawingCompClient
- 描述
新建文本形状
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 文本形状的位置 |
| text | str | 文本形状的文本 |
| color | tuple(float,float,float) | 文本形状的颜色, RGB值, 取值范围为[0,1], 默认为(1,1,1) |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| DrawingShapeCompClient | 新建的文本形状 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
text = comp.AddTextShape((20,100,20), "test 测试", (1,0,0))
```
## GetBoxScale
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取BoxShape的大小
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | BoxShape的大小 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
box = comp.AddBoxShape((-37, 100, 100),(5,5,5),(1,0,0))
box.GetBoxScale()
```
## GetColor
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取Shape的颜色
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | Shape的颜色 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
box = comp.AddBoxShape((-37, 100, 100),(5,5,5),(1,0,0))
box.GetColor()
```
## GetEndPos
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取LineShape或ArrowShape的结束位置
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | LineShape或ArrowShape的结束位置 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
line = comp.AddLineShape((0, 100, 100), (20,20,2),(1,0,0))
line.GetEndPos()
```
## GetLength
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取ArrowShape的头部长度
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| float | ArrowShape的头部长度 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
arrow = comp.AddArrowShape((20,100,20), (20,150,20), (1,0,0), 40, 5)
arrow.GetLength()
```
## GetPos
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取Shape的位置
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | Shape的位置 |
- 备注
- 对于线条形状和箭头形状来说是指起点Pos, 其他是指形状中心Pos
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
box = comp.AddBoxShape((-37, 100, 100),(5,5,5),(1,0,0))
box.GetPos()
```
## GetPriority
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取Shape的优先级
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| int | Shape的优先级 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
box = comp.AddBoxShape((-37, 100, 100),(5,5,5),(1,0,0))
box.GetPriority()
```
## GetRadius
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取CircleShape或ArrowShape或SphereShape的半径
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| float | CircleShape或ArrowShape或SphereShape的半径 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
circle = comp.AddCircleShape((50,100,50), 5, (1,0,0))
circle.GetRadius()
```
## GetSegments
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取CircleShape或ArrowShape头部的分段数
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| int | CircleShape或ArrowShape头部的分段数 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
circle = comp.AddCircleShape((50,100,50), 5, (1,0,0))
circle.GetSegments()
```
## GetText
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取TextShape的文本
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| str | TextShape的文本 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
text = comp.AddTextShape((20,100,20), "test 测试", (1,0,0))
text.GetText()
```
## GetType
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取Shape的类型
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| ShapeType | [Shape的类型](../枚举值/ShapeType.md) |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
box = comp.AddBoxShape((-37, 100, 100),(5,5,5),(1,0,0))
box.GetType()
```
## GetVisible
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
获取Shape是否可见
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | Shape是否可见 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
box = comp.AddBoxShape((-37, 100, 100),(5,5,5),(1,0,0))
box.GetVisible()
```
## Remove
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
删除Shape
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 删除是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
arrow = comp.AddArrowShape((20,100,20), (20,150,20), (1,0,0),40, 5, 2.5)
arrow.Remove()
```
## RemoveAll
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingCompClient.DrawingCompClient
- 描述
删除当前所有Shape
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 删除是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
comp.RemoveAll()
```
## SetBoxScale
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置BoxShape的大小
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| scale | tuple(float,float,float) | BoxShape的目标大小 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
box = comp.AddBoxShape((-37,100,100),(5,5,5),(1,0,0))
box.SetBoxScale((9,9,9))
```
## SetColor
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置Shape的颜色
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| color | tuple(float,float,float) | Shape的颜色, RGB值, 取值范围为[0,1] |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
arrow = comp.AddArrowShape((20,100,20), (20,150,20), (1,0,0),40, 5, 2.5)
arrow.SetColor((0,0,0))
```
## SetEndPos
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置LineShape或ArrowShape的结束位置
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| endPos | tuple(float,float,float) | LineShape或ArrowShape的结束位置 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
line = comp.AddLineShape((0, 100, 100), (0,100,50),(1,0,0))
line.SetEndPos((20,200, 20))
```
## SetLength
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置组成ArrowShape头部的长度
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| length | float | 组成ArrowShape头部的长度 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
arrow = comp.AddArrowShape((20,100,20), (20,150,20), (1,0,0),40, 5, 2.5)
arrow.SetLength(10)
```
## SetPos
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置Shape的位置
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | Shape的目标位置 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 备注
- 对于线条形状和箭头形状来说是指起点Pos, 其他是指形状中心Pos
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
line = comp.AddLineShape((0,100,100), (0,100,50),(1,0,0))
line.SetPos((0,100,70))
```
## SetPriority
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置Shape的渲染优先级, 同一像素点处优先渲染优先级高的Shape, 默认为0
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| priority | int | Shape的渲染优先级 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
arrow = comp.AddArrowShape((20,100,20), (20,150,20), (1,0,0),40, 5, 2.5)
arrow.SetPriority(10)
```
## SetRadius
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置CircleShape或ArrowShape或SphereShape的半径
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| radius | float | CircleShape或ArrowShape或SphereShape的半径 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
circle = comp.AddCircleShape((50,100,50), 5, (1,0,0))
print circle.SetRadius(2.0)
```
## SetSegments
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置组成ArrowShape头部的网格数量, 最小为3
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| segments | int | 组成ArrowShape头部的网格数量, 最小为3 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
arrow = comp.AddArrowShape((20,100,20), (20,150,20), (1,0,0),40, 5, 2.5)
arrow.SetSegments(100)
```
## SetText
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置TextShape的文本内容
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| text | str | TextShape的文本内容 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
text = comp.AddTextShape((20,100,20), "test 测试", (1,0,0))
text.SetText("tteesstt")
```
## SetVisible
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.drawingShapeCompClient.DrawingShapeCompClient
- 描述
设置Shape是否可见
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| visible | bool | Shape是否可见 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDrawing(levelId)
arrow = comp.AddArrowShape((20,100,20), (20,150,20), (1,0,0),40, 5, 2.5)
arrow.SetVisible(False)
```

View File

@@ -634,6 +634,142 @@ print(comp.GetPlayerTotalExp(playerId))
## IsHighLevelMultiJointOfficialSkin
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.gameCompClient.GameComponentClient
- 描述
获取玩家穿戴的皮肤是否为史诗及以上的多关节官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| playerId | str | 玩家ID |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 史诗及以上的多关节官方4d皮肤返回True |
- 示例
```python
self.ListenForEvent('Minecraft', "Engine", 'UpdatePlayerSkinClientEvent', self, self.onUpdatePlayerSkinClientEvent)
def onUpdatePlayerSkinClientEvent(self,args):
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
comp.IsHighLevelMultiJointOfficialSkin(args['playerId'])
```
## IsHighLevelOfficialSkin
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.gameCompClient.GameComponentClient
- 描述
获取玩家穿戴的皮肤是否为史诗及以上的官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| playerId | str | 玩家ID |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 史诗及以上的官方4d皮肤返回True |
- 示例
```python
self.ListenForEvent('Minecraft', "Engine", 'UpdatePlayerSkinClientEvent', self, self.onUpdatePlayerSkinClientEvent)
def onUpdatePlayerSkinClientEvent(self,args):
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
comp.IsHighLevelOfficialSkin(args['playerId'])
```
## IsMultiJointOfficialSkin
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.gameCompClient.GameComponentClient
- 描述
获取玩家穿戴的皮肤是否为多关节官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| playerId | str | 玩家ID |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 多关节官方4d皮肤返回True |
- 示例
```python
self.ListenForEvent('Minecraft', "Engine", 'UpdatePlayerSkinClientEvent', self, self.onUpdatePlayerSkinClientEvent)
def onUpdatePlayerSkinClientEvent(self,args):
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
comp.IsMultiJointOfficialSkin(args['playerId'])
```
## IsOfficialSkin
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.gameCompClient.GameComponentClient
- 描述
获取玩家穿戴的皮肤是否为官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| playerId | str | 玩家ID |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 官方4d皮肤返回True |
- 示例
```python
self.ListenForEvent('Minecraft', "Engine", 'UpdatePlayerSkinClientEvent', self, self.onUpdatePlayerSkinClientEvent)
def onUpdatePlayerSkinClientEvent(self,args):
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
comp.IsOfficialSkin(args['playerId'])
```
## IsPlayerNaturalRegen
<span style="display:inline;color:#ff5555">服务端</span>

View File

@@ -405,7 +405,9 @@ method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| clearBindParticle | bool | 是否清除粒子默认为False |
- 返回值

View File

@@ -40,6 +40,10 @@ sidebarDepth: 1
| [GetPlayerStarveTick](属性.md#getplayerstarvetick) | <span style="display:inline;color:#ff5555">服务端</span> | 获取玩家饥饿掉血速度当饥饿值小于饥饿临界值时会自动扣除血量开启饥饿值且开启饥饿掉血时有效。原版默认值为80刻即每4秒扣除1点血量 |
| [GetPlayerTotalExp](属性.md#getplayertotalexp) | <span style="display:inline;color:#ff5555">服务端</span> | 获取玩家的总经验值 |
| [GetPlayerTotalExp](属性.md#getplayertotalexp) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家的总经验值 |
| [IsHighLevelMultiJointOfficialSkin](属性.md#ishighlevelmultijointofficialskin) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家穿戴的皮肤是否为史诗及以上的多关节官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId |
| [IsHighLevelOfficialSkin](属性.md#ishighlevelofficialskin) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家穿戴的皮肤是否为史诗及以上的官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId |
| [IsMultiJointOfficialSkin](属性.md#ismultijointofficialskin) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家穿戴的皮肤是否为多关节官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId |
| [IsOfficialSkin](属性.md#isofficialskin) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家穿戴的皮肤是否为官方4d皮肤 在接收到 UpdatePlayerSkinClientEvent 事件后调用 此事件在客户端接收到玩家皮肤信息同步后触发 参数仅playerId |
| [IsPlayerNaturalRegen](属性.md#isplayernaturalregen) | <span style="display:inline;color:#ff5555">服务端</span> | 是否开启玩家自然恢复,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效。原版默认开启 |
| [IsPlayerNaturalStarve](属性.md#isplayernaturalstarve) | <span style="display:inline;color:#ff5555">服务端</span> | 是否开启玩家饥饿掉血,当饥饿值小于饥饿临界值时会自动恢复血量,开启饥饿值且开启饥饿掉血时有效。原版默认开启 |
| [SetEnchantmentSeed](属性.md#setenchantmentseed) | <span style="display:inline;color:#ff5555">服务端</span> | 设置玩家的附魔种子,该种子会决定附魔台上准备附魔的装备的附魔项 |
@@ -88,6 +92,7 @@ sidebarDepth: 1
| [IsOnLadder](行为.md#isonladder) | <span style="display:inline;color:#7575f9">客户端</span> | 获取玩家是否在梯子/藤蔓上 |
| [IsPlayerCanFly](行为.md#isplayercanfly) | <span style="display:inline;color:#ff5555">服务端</span> | 获取玩家能否飞行 |
| [IsPlayerFlying](行为.md#isplayerflying) | <span style="display:inline;color:#ff5555">服务端</span> | 获取玩家是否在飞行 |
| [OpenNeteaseContainer](行为.md#openneteasecontainer) | <span style="display:inline;color:#ff5555">服务端</span> | 打开自定义容器界面,不依赖于方块。该界面的物品数据需由开发者自行维护。 |
| [OpenWorkBench](行为.md#openworkbench) | <span style="display:inline;color:#ff5555">服务端</span> | 在玩家当前位置打开工作台UI不依赖于工作台方块 |
| [PickUpItemEntity](行为.md#pickupitementity) | <span style="display:inline;color:#ff5555">服务端</span> | 某个Player拾取物品ItemEntity |
| [PlayerAttackEntity](行为.md#playerattackentity) | <span style="display:inline;color:#ff5555">服务端</span> | 玩家使用手持武器攻击某个生物 |

View File

@@ -919,6 +919,50 @@ comp.IsPlayerFlying()
## OpenNeteaseContainer
<span style="display:inline;color:#ff5555">服务端</span>
method in mod.server.component.playerCompServer.PlayerCompServer
- 描述
打开自定义容器界面,不依赖于方块。该界面的物品数据需由开发者自行维护。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| screenName | str | 打开的容器ui的命名空间格式[namespace.screenName] |
| customDescription | str | 打开的容器ui的标题复用原版ui时生效 |
| isCloseReturnItem | bool | 关闭容器界面时是否返还物品到背包默认为False不返还由开发者维护物品数据的存储。 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 返回True则执行成功不代表界面已打开 |
- 备注
- 参数含义以及自定义容器ui json的编写参考[自定义容器](../../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/3-特殊方块/11-自定义容器.md)教程。
- collection_name需指定为`netease_ui_container`
- 如果isCloseReturnItem为False将在关闭界面后`容器内的物品不会返还到背包`
- 可使用[GetPlayerUIItem](../方块/容器.md#getplayeruiitem)、[SetPlayerUIItem](../方块/容器.md#setplayeruiitem)接口来获取、设置容器内的物品。
- 该接口打开的容器,可触发[PlayerTryAddCustomContainerItemServerEvent](../../事件/物品.md#playertryaddcustomcontaineritemserverevent)、[PlayerTryPutCustomContainerItemServerEvent](../../事件/物品.md#playertryputcustomcontaineritemserverevent)、[PlayerTryRemoveCustomContainerItemServerEvent](../../事件/物品.md#playertryremovecustomcontaineritemserverevent)以及对应的客户端事件。
- 可通过监听[PushScreenEvent](../../事件/UI.md#pushscreenevent)来做容器内格子物品的初始化逻辑建议每一个ui namespace单独对应一种功能以免无法正确区分容器界面。
- 如出现“failed to create root control”等断言请检查ui json的编写是否正确。
- 如出现物品无法放入容器界面、或者无法移动物品请检查ui json的是否使用了netease_ui_container。
- 示例
```python
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(playerId)
comp.OpenNeteaseContainer("netease_container.netease_custom_container_screen", "容器标题")
```
## OpenWorkBench
<span style="display:inline;color:#ff5555">服务端</span>

View File

@@ -86,6 +86,8 @@ method in mod.client.extraClientApi
建议使用资源池来管理绑定实体UI当实体与本地玩家距离超过一定范围时隐藏/移除其绑定UI或使其绑定UI改为绑定其他有需求的实体。
当需要大批量创建绑定实体UI时建议将创建UI的任务分为小批量多次执行每批次间相距至少一帧。例如需要创建100个绑定实体UI将任务分散在5帧中每帧创建20个绑定实体UI。
- 注意:
第二个参数uiKey如果传进去名字一样名字的ui则会创建失败请保证uiKey的唯一性。
- 示例

View File

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

View File

@@ -0,0 +1,244 @@
# 1.22
**2021.04.08版本号v1.22 BE1.16.10**
- 重大更新
1. 新增自定义场景,场景内支持以下元素:
1摄像机
2骨骼模型
3序列帧与粒子特效
4文字面板
详见[虚拟世界](../接口/虚拟世界/索引.md)
2. 常用的原版界面(例如:背包、熔炉、合成台、箱子)可挂接自定义控件,详见<a href="../../../mcguide/18-界面与交互/61-原生界面修改文档.html" rel="noopenner"> 原生界面修改文档 </a>。
- 新增
1. 新增[GetNativeScreenManagerCls](../接口/自定义UI/通用.md#getnativescreenmanagercls)获得NativeScreenManager类<!--by panlei-->
1. 新增[GetCustomUIControlProxyCls](../接口/自定义UI/通用.md#getcustomuicontrolproxycls)获得原生界面自定义UI代理基类<!--by panlei-->
1. 新增[SetHudChatStackVisible](../接口/原生UI.md#sethudchatstackvisible)设置HUD界面左上小聊天窗口可见性接口<!--by panlei-->
1. 新增[SetHudChatStackPosition](../接口/原生UI.md#sethudchatstackposition)设置HUD界面左上小聊天窗口位置接口<!--by panlei-->
1. 新增[SpawnResourcesSilkTouched](../接口/世界/实体管理.md#spawnresourcessilktouched),模拟方块精准采集掉落<!--by gzhuabo-->
1. 新增[GetDestroyTotalTime](../接口/世界/方块管理.md#getdestroytotaltime),获取使用物品破坏方块需要的时间<!--by gzhuabo-->
1. 新增[GetOpenContainerItem](../接口/方块/容器.md#getopencontaineritem),获取开放容器的物品<!--by jishaobin-->
1. 新增[GetRecipesByInput](../接口/世界/配方.md#getrecipesbyinput),通过输入物品查询配方<!--by sutao-->
1. 新增[SetEntityLookAtPos](../接口/实体/属性.md#setentitylookatpos),设置非玩家实体看向某个位置<!--by liaoyi-->
1. 新增[AddActorAnimationController](../接口/实体/渲染.md#addactoranimationcontroller),增加生物渲染动画控制器<!--by gzhuabo-->
1. 新增[RemoveActorAnimationController](../接口/实体/渲染.md#removeactoranimationcontroller),移除生物渲染动画控制器<!--by gzhuabo-->
1. 新增[AddPlayerParticleEffect](../接口/玩家/渲染.md#addplayerparticleeffect),增加玩家特效资源<!--by gzhuabo-->
1. 新增[AddActorParticleEffect](../接口/实体/渲染.md#addactorparticleeffect),增加生物特效资源<!--by gzhuabo-->
1. 新增[AddPlayerSoundEffect](../接口/玩家/渲染.md#addplayersoundeffect),增加玩家音效资源<!--by gzhuabo-->
1. 新增[AddActorSoundEffect](../接口/实体/渲染.md#addactorsoundeffect),增加生物音效资源<!--by gzhuabo-->
1. 新增[AddPlayerAnimationIntoState](../接口/玩家/渲染.md#addplayeranimationintostate),在玩家的动画控制器中的状态添加动画<!--by gzhuabo-->
1. 新增[AddActorScriptAnimate](../接口/实体/渲染.md#addactorscriptanimate)在生物的客户端实体定义minecraft:client_entityjson中的scripts/animate节点添加动画/动画控制器<!--by gzhuabo-->
1. 新增[AddActorAnimation](../接口/实体/渲染.md#addactoranimation),增加生物渲染动画<!--by gzhuabo-->
1. 新增[isEntityInLava](../接口/实体/属性.md#isentityinlava),获取实体是否在岩浆中<!--by liaoyi-->
1. 新增[isEntityOnGround](../接口/实体/属性.md#isentityonground),获取实体是否触地<!--by liaoyi-->
1. 新增[GetDestroyTotalTime](../接口/世界/方块管理.md#getdestroytotaltime),获取使用物品破坏方块需要的时间<!--by gzhuabo-->
1. 新增[PlayTpAnimation](../接口/玩家/动画.md#playtpanimation),第三人称视角播放玩家通用动作<!--by gzhuabo-->
1. 新增[StopAnimation](../接口/玩家/动画.md#stopanimation),停止播放玩家通用动作<!--by gzhuabo-->
1. 新增[GetRecipesByInput](../接口/世界/配方.md#getrecipesbyinput),通过输入物品查询配方<!--by sutao-->
1. 新增[LockLocalPlayerRot](../接口/实体/属性.md#locklocalplayerrot),在分离摄像机时,锁定本地玩家的头部角度<!--by liaoyi-->
1. 新增[SetPlayerLookAtPos](../接口/实体/属性.md#setplayerlookatpos),设置本地玩家看向某个位置<!--by liaoyi-->
1. 新增[VirtualWorldCreate](../接口/虚拟世界/世界.md#virtualworldcreate),创建虚拟世界<!--by sutao-->
1. 新增[VirtualWorldDestroy](../接口/虚拟世界/世界.md#virtualworlddestroy),销毁虚拟世界<!--by sutao-->
1. 新增[VirtualWorldToggleVisibility](../接口/虚拟世界/世界.md#virtualworldtogglevisibility),设置虚拟世界是否显示<!--by sutao-->
1. 新增[VirtualWorldSetCollidersVisible](../接口/虚拟世界/世界.md#virtualworldsetcollidersvisible),设置虚拟世界中模型的包围盒是否显示<!--by sutao-->
1. 新增[CameraSetPos](../接口/虚拟世界/相机.md#camerasetpos),设置相机位置<!--by sutao-->
1. 新增[CameraGetPos](../接口/虚拟世界/相机.md#cameragetpos),返回相机位置<!--by sutao-->
1. 新增[CameraSetFov](../接口/虚拟世界/相机.md#camerasetfov),设置相机视野大小<!--by sutao-->
1. 新增[CameraGetFov](../接口/虚拟世界/相机.md#cameragetfov),获取相机视野大小<!--by sutao-->
1. 新增[CameraSetZoom](../接口/虚拟世界/相机.md#camerasetzoom),设置相机缩放<!--by sutao-->
1. 新增[CameraLookAt](../接口/虚拟世界/相机.md#cameralookat),修改相机朝向<!--by sutao-->
1. 新增[CameraMoveTo](../接口/虚拟世界/相机.md#cameramoveto),设置相机移动动画<!--by sutao-->
1. 新增[CameraStopActions](../接口/虚拟世界/相机.md#camerastopactions),停止相机移动动画<!--by sutao-->
1. 新增[CameraGetZoom](../接口/虚拟世界/相机.md#cameragetzoom),获取相机的缩放值<!--by sutao-->
1. 新增[CameraGetClickModel](../接口/虚拟世界/相机.md#cameragetclickmodel)获取相机当前指向的模型的id<!--by sutao-->
1. 新增[ModelCreateObject](../接口/虚拟世界/模型.md#modelcreateobject),在虚拟世界中创建模型<!--by sutao-->
1. 新增[ModelSetVisible](../接口/虚拟世界/模型.md#modelsetvisible),设置模型可见性<!--by sutao-->
1. 新增[ModelIsVisible](../接口/虚拟世界/模型.md#modelisvisible),返回模型可见性<!--by sutao-->
1. 新增[ModelPlayAnimation](../接口/虚拟世界/模型.md#modelplayanimation),模型播放动画<!--by sutao-->
1. 新增[ModelSetBoxCollider](../接口/虚拟世界/模型.md#modelsetboxcollider),设置模型的包围盒<!--by sutao-->
1. 新增[ModelRemove](../接口/虚拟世界/模型.md#modelremove),销毁模型<!--by sutao-->
1. 新增[ModelRotate](../接口/虚拟世界/模型.md#modelrotate),模型绕某个轴旋转多少度<!--by sutao-->
1. 新增[ModelSetPos](../接口/虚拟世界/模型.md#modelsetpos),设置模型的坐标<!--by sutao-->
1. 新增[ModelGetPos](../接口/虚拟世界/模型.md#modelgetpos),获取模型的坐标<!--by sutao-->
1. 新增[ModelSetRot](../接口/虚拟世界/模型.md#modelsetrot),设置模型的旋转角度<!--by sutao-->
1. 新增[ModelGetRot](../接口/虚拟世界/模型.md#modelgetrot),返回模型的旋转角度<!--by sutao-->
1. 新增[ModelSetScale](../接口/虚拟世界/模型.md#modelsetscale),设置模型的缩放值<!--by sutao-->
1. 新增[ModelMoveTo](../接口/虚拟世界/模型.md#modelmoveto),设置模型平移运动<!--by sutao-->
1. 新增[ModelRotateTo](../接口/虚拟世界/模型.md#modelrotateto),设置模型旋转运动<!--by sutao-->
1. 新增[ModelStopActions](../接口/虚拟世界/模型.md#modelstopactions),停止模型的移动和旋转运动<!--by sutao-->
1. 新增[MoveToVirtualWorld](../接口/虚拟世界/其它对象.md#movetovirtualworld),把对象从主世界移到虚拟世界<!--by sutao-->
1. 新增[BindModel](../接口/虚拟世界/其它对象.md#bindmodel),对象绑定到模型上<!--by sutao-->
1. 新增[BindVirtualWorldModel](../接口/自定义UI/UI界面.md#bindvirtualworldmodel),绑定虚拟世界中的模型<!--by sutao-->
1. 新增[UpdateScreen](../接口/自定义UI/UI界面.md#updatescreen),刷新界面,重新计算各个控件的相关数据<!--by panlei-->
1. 新增[SetHighestY](../接口/自定义UI/UI界面.md#sethighesty),设置绘制地图的最大高度<!--by gzhuabo-->
1. 新增[SetLayer](../接口/自定义UI/UI控件.md#setlayer)外放SetLayer接口<!--by panlei-->
1. 新增[ZoomIn](../接口/自定义UI/UI控件.md#zoomin),放大地图<!--by gzhuabo-->
1. 新增[SetHighestY](../接口/自定义UI/UI控件.md#sethighesty),设置绘制地图的最大高度<!--by gzhuabo-->
1. 新增[InventoryItemChangedServerEvent](../事件/物品.md#inventoryitemchangedserverevent),玩家背包物品变化时的服务端事件<!--by jishaobin-->
1. 新增[CraftItemOutputChangeServerEvent](../事件/物品.md#craftitemoutputchangeserverevent),拿出生成物品时抛出的事件。<!--by jishaobin-->
1. 新增[OnRainLevelChangeServerEvent](../事件/世界.md#onrainlevelchangeserverevent),下雨强度改变事件。<!--by czh-->
1. 新增[OnLightningLevelChangeServerEvent](../事件/世界.md#onlightninglevelchangeserverevent),打雷强度改变事件。<!--by czh-->
1. 新增[PlaySoundClientEvent](../事件/音效.md#playsoundclientevent)播放场景音效或UI音效事件<!--by czh-->
1. 新增[PlayMusicClientEvent](../事件/音效.md#playmusicclientevent),播放背景音乐事件<!--by czh-->
1. 新增[InventoryItemChangedClientEvent](../事件/物品.md#inventoryitemchangedclientevent),玩家背包物品变化时的客户端事件<!--by jishaobin-->
1. 新增[TimeEaseType](../枚举值/TimeEaseType.md),时间变化类型<!--by sutao-->
1. 新增[VirtualWorldObjectType](../枚举值/VirtualWorldObjectType.md),虚拟世界对象类型<!--by sutao-->
- 调整
1. 调整[StartRecordPacket](../接口/通用/调试.md#startrecordpacket)添加仅支持租赁服与Apollo环境的说明<!--by xltang-->
1. 调整[StopRecordPacket](../接口/通用/调试.md#stoprecordpacket)添加仅支持租赁服与Apollo环境的说明<!--by xltang-->
1. 调整[StartRecordEvent](../接口/通用/调试.md#startrecordevent)添加仅支持租赁服与Apollo环境的说明<!--by xltang-->
1. 调整[StopRecordEvent](../接口/通用/调试.md#stoprecordevent)添加仅支持租赁服与Apollo环境的说明<!--by xltang-->
1. 调整[SetAttrValue](../接口/实体/属性.md#setattrvalue)新增对AttrType.LAVA_SPEED的支持可设置实体在岩浆中的移动速度<!--by liaoyi-->
1. 调整[GetAttrValue](../接口/实体/属性.md#getattrvalue)新增对AttrType.LAVA_SPEED的支持可获取实体在岩浆中的移动速度<!--by liaoyi-->
1. 调整[SetAttrMaxValue](../接口/实体/属性.md#setattrmaxvalue)新增对AttrType.LAVA_SPEED的支持可设置实体在岩浆中的最大移动速度<!--by liaoyi-->
1. 调整[PlayerDestoryBlock](../接口/玩家/行为.md#playerdestoryblock)新增particle参数用于设置是否开启破坏粒子效果,1:开启,0:关闭,默认为1<!--by jishaobin-->
1. 调整[SpawnResources](../接口/世界/实体管理.md#spawnresources)新增是否随机采集参数allowRandomness<!--by gzhuabo-->
1. 调整[ChangeEntityDimension](../接口/实体/属性.md#changeentitydimension)该接口无法对玩家使用玩家请使用ChangePlayerDimension<!--by likaiyu-->
1. 调整[CreateDimension](../接口/世界/地图.md#createdimension),支持自定义维度的创建<!--by xltang-->
1. 调整[UpgradeMapDimensionVersion](../接口/世界/地图.md#upgrademapdimensionversion),增加使用时机限制的说明:建议仅在游戏启动初始化的时期调用<!--by xltang-->
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)新增itemCategory,itemType,itemTierLevel字段<!--by jisahobin-->
1. 调整[SetPlayerRespawnPos](../接口/玩家/行为.md#setplayerrespawnpos)新增参数dimensionId支持设置复活维度<!--by xltang-->
1. 调整[SetCameraPos](../接口/玩家/摄像机.md#setcamerapos),调整设置效果为不存档<!--by xujiarong-->
1. 调整[SetCameraOffset](../接口/玩家/摄像机.md#setcameraoffset),调整设置效果为不存档<!--by xujiarong-->
1. 调整[SetCameraAnchor](../接口/玩家/摄像机.md#setcameraanchor),调整设置效果为不存档<!--by xujiarong-->
1. 调整[SetCameraPitchLimit](../接口/玩家/摄像机.md#setcamerapitchlimit),调整设置效果为不存档<!--by xujiarong-->
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)新增itemCategory,itemType,itemTierLevel字段<!--by jisahobin-->
1. 调整[SetVisible](../)添加说明可以设置componentPath为空字符串""调整整个JSON的显示/隐藏<!--by xltang-->
1. 调整[Clone](../接口/自定义UI/UI界面.md#clone),增加是否同步刷新参数<!--by panlei-->
1. 调整[SetVisible](../接口/自定义UI/UI控件.md#setvisible),添加说明可以通过传入空字符串(""的方式来调整整个JSON的显示/隐藏<!--by xltang-->
1. 调整[WillTeleportToServerEvent](../事件/实体.md#willteleporttoserverevent),补完参数说明中缺失的部分<!--by xltang-->
1. 调整[OnNewArmorExchangeServerEvent](../事件/物品.md#onnewarmorexchangeserverevent)修改当装备为空时关键字oldArmorDict、newArmorDict的内容说明<!--by xltang-->
- 修复
1. 修复[SetDisableDropItem](../接口/世界/游戏规则.md#setdisabledropitem),修复了禁止丢弃物品后仍可在容器内(如背包、箱子)丢弃物品的问题。<!--by likaiyu-->
1. 修复[SetDefaultGameType](../接口/世界/游戏规则.md#setdefaultgametype),修复了联机时可能不生效的问题<!--by likaiyu-->
1. 修复[GetGameRulesInfoServer](../接口/世界/游戏规则.md#getgamerulesinfoserver)修复了always_day可能为错误值的问题<!--by likaiyu-->
1. 修复[AddBannedItem](../接口/世界/游戏规则.md#addbanneditem)修复禁用打火石后引燃TNT仍起效问题<!--by xujiarong-->
1. 修复[SetItemTierLevel](../接口/物品.md#setitemtierlevel)修复了等级3及以上时对哭泣的黑曜石无效的问题<!--by likaiyu-->
1. 修复[SetCameraRot](../接口/玩家/摄像机.md#setcamerarot),修复第一人称下无法设置相机转向问题<!--by xujiarong-->
- 废弃(将在未来不可用)
1. 废弃HidePlayerName该接口改名为HideNameTag
1. 废弃SetHurtBy请使用SetAttackTarget
1. 废弃ResetHurtBy请使用ResetAttackTarget
1. 废弃GetHurtBy请使用GetAttackTarget
1. 废弃SpawnItemToPlayerOffHand请使用接口SetEntityItem
1. 废弃SpawnItemToArmor请使用SetEntityItem
1. 废弃isInLava请使用isEntityInLava
1. 废弃isOnGround请使用isEntityOnGround

View File

@@ -0,0 +1,284 @@
# 1.23
**2021.06.24版本号v1.23 BE1.16.201**
* 重大更新
1. 由于部分物品的名称与附加值存在变更物品信息字典添加了newItemName及newAuxValue字段以兼容详见<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/2-Python脚本开发/99-1.23版本物品id变更.html" rel="noopenner"> 1.23版本物品id变更 </a>
2. 支持微缩方块,方块的形状支持根据地图或自定义数据生成,详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/10-微缩方块.html" rel="noopenner"> 微缩方块 </a>
3. 骨骼模型材质功能拓展,详见<a href="../../../mcguide/16-美术/7-材质与着色器/3-材质配置说明.html" rel="noopenner"> 材质配置说明 </a><a href="../../../mcguide/16-美术/7-材质与着色器/2-内置材质清单.html" rel="noopenner"> 材质的分类 </a><a href="../../../mcguide/16-美术/6-模型和动作/04-骨骼模型的使用.html" rel="noopenner"> 骨骼模型自定义材质 </a>1.23后续将会有更多材质与着色器的使用文档)。以及材质热更新的[ReloadAllMaterials](../接口/通用/调试.md#reloadallmaterials)[ReloadOneShader](../接口/通用/调试.md#reloadoneshader)接口
4. 支持骨骼模型动作融合,详见[SetAnimationBoneMask](../接口/模型.md#setanimationbonemask)[SetAnimLayer](../接口/模型.md#setanimlayer)等模型分类下的接口
5. 支持创建下界、末地、超平坦世界为模板的新维度,详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/1-自定义维度.html#新维度配置" rel="noopenner"> 自定义维度 </a>
6. 支持自定义剪刀,详见[SetShearsDestoryBlockSpeed](../接口/物品.md#setshearsdestoryblockspeed)[ShearsDestoryBlockBeforeServerEvent](../事件/方块.md#shearsdestoryblockbeforeserverevent)等接口
7. 支持局部维度时间规则,详见[SetUseLocalTime](../接口/世界/时间.md#setuselocaltime)等时间分类下的接口
8. 支持自定义饥饿设置,详见[SetPlayerStarveLevel](../接口/玩家/属性.md#setplayerstarvelevel)[SetPlayerStarveTick](../接口/玩家/属性.md#setplayerstarvetick)[SetPlayerNaturalStarve](../接口/玩家/属性.md#setplayernaturalstarve)等接口
- 新增
1. 新增[ReloadAllMaterials](../接口/通用/调试.md#reloadallmaterials),清空并重新加载所有材质文件<!--by sutao-->
1. 新增[ReloadAllShaders](../接口/通用/调试.md#reloadallshaders)重新加载所有Shader文件<!--by sutao-->
1. 新增[ReloadOneShader](../接口/通用/调试.md#reloadoneshader)重新加载某个Shader文件<!--by sutao-->
1. 新增[GetModConfigJson](../接口/通用/工具.md#getmodconfigjson)以字典形式返回指定路径的json格式配置文件的内容<!--by xltang-->
1. 新增[SetEntityOwner](../接口/实体/属性.md#setentityowner),设置实体的属主<!--by linzhiyi-->
1. 新增[GetEntityOwner](../接口/实体/属性.md#getentityowner),获取实体的属主<!--by gzhuabo-->
1. 新增[CreateMicroBlockResStr](../接口/世界/方块组合.md#createmicroblockresstr),创建微缩方块资源字符串<!--by guoxun-->
1. 新增[PlayerUseItemToPos](../接口/玩家/行为.md#playeruseitemtopos),新增模拟玩家对某个坐标使用物品的接口<!--by guanmingyu-->
1. 新增[PlayerUseItemToEntity](../接口/玩家/行为.md#playeruseitemtoentity),新增模拟玩家对某个生物使用物品的接口<!--by guanmingyu-->
1. 新增[GetLoadedChunks](../接口/世界/地图.md#getloadedchunks),获取指定维度当前已经加载完毕的全部区块的坐标列表<!--by xltang-->
1. 新增[GetChunkEntites](../接口/世界/地图.md#getchunkentites)获取指定位置的区块中全部的实体和玩家的ID列表<!--by xltang-->
1. 新增[GetCommandPermissionLevel](../接口/世界/指令.md#getcommandpermissionlevel),返回设定使用/op命令时OP的权限等级<!--by xltang-->
1. 新增[SetCommandPermissionLevel](../接口/世界/指令.md#setcommandpermissionlevel),设置当玩家使用/op命令时OP的权限等级<!--by xltang-->
1. 新增[GetDefaultPlayerPermissionLevel](../接口/世界/指令.md#getdefaultplayerpermissionlevel),返回新玩家加入时的权限身份<!--by xltang-->
1. 新增[SetDefaultPlayerPermissionLevel](../接口/世界/指令.md#setdefaultplayerpermissionlevel),设置新玩家加入时的权限身份<!--by xltang-->
1. 新增[SetUseLocalTime](../接口/世界/时间.md#setuselocaltime),让某个维度拥有自己的局部时间规则,开启后该维度可以拥有与其他维度不同的时间与是否昼夜更替的规则<!--by czh-->
1. 新增[GetUseLocalTime](../接口/世界/时间.md#getuselocaltime),获取某个维度是否设置了使用局部时间规则<!--by czh-->
1. 新增[SetLocalTime](../接口/世界/时间.md#setlocaltime),设置使用局部时间规则维度的时间<!--by czh-->
1. 新增[SetLocalTimeOfDay](../接口/世界/时间.md#setlocaltimeofday),设置使用局部时间规则维度在一天内所在的时间<!--by czh-->
1. 新增[GetLocalTime](../接口/世界/时间.md#getlocaltime),获取维度的时间<!--by czh-->
1. 新增[SetLocalDoDayNightCycle](../接口/世界/时间.md#setlocaldodaynightcycle),设置使用局部时间规则的维度是否打开昼夜更替<!--by czh-->
1. 新增[GetLocalDoDayNightCycle](../接口/世界/时间.md#getlocaldodaynightcycle),获取维度是否打开昼夜更替<!--by czh-->
1. 新增[SaveExtraData](../接口/实体/自定义数据.md#saveextradata),保存实体的自定义数据或者世界的自定义数据<!--by gzhuabo-->
1. 新增[LocateNeteaseFeatureRule](../接口/世界/地图.md#locateneteasefeaturerule),定位满足某个网易自定义特征规则分布条件的坐标<!--by liaoyi-->
1. 新增[IsEntityAlive](../接口/世界/实体管理.md#isentityalive),服务端接口,判断生物实体是否存活或非生物实体是否存在<!--by xujiarong-->
1. 新增[SetMergeSpawnItemRadius](../接口/世界/地图.md#setmergespawnitemradius),设置新生成的物品是否合堆<!--by sutao-->
1. 新增[GetChinese](../接口/通用/工具.md#getchinese)获取langStr对应的中文<!--by xltang-->
1. 新增[SetShearsDestoryBlockSpeed](../接口/物品.md#setshearsdestoryblockspeed),设置剪刀对某一方块的破坏速度<!--by likaiyu-->
1. 新增[CancelShearsDestoryBlockSpeed](../接口/物品.md#cancelshearsdestoryblockspeed),取消剪刀对某一方块的破坏速度设置<!--by likaiyu-->
1. 新增[CancelShearsDestoryBlockSpeedAll](../接口/物品.md#cancelshearsdestoryblockspeedall),取消剪刀对全部方块的破坏速度设置<!--by likaiyu-->
1. 新增[GetPlayerHealthLevel](../接口/玩家/属性.md#getplayerhealthlevel),获取玩家健康临界值<!--by lidi-->
1. 新增[SetPlayerHealthLevel](../接口/玩家/属性.md#setplayerhealthlevel),设置玩家健康临界值<!--by lidi-->
1. 新增[GetPlayerHealthTick](../接口/玩家/属性.md#getplayerhealthtick),获取玩家自然恢复速度,单位刻<!--by lidi-->
1. 新增[SetPlayerHealthTick](../接口/玩家/属性.md#setplayerhealthtick),设置玩家自然恢复速度,单位刻<!--by lidi-->
1. 新增[IsPlayerNaturalRegen](../接口/玩家/属性.md#isplayernaturalregen),获取是否开启玩家自然恢复<!--by lidi-->
1. 新增[SetPlayerNaturalRegen](../接口/玩家/属性.md#setplayernaturalregen),设置是否开启玩家自然恢复<!--by lidi-->
1. 新增[GetPlayerStarveLevel](../接口/玩家/属性.md#getplayerstarvelevel),获取玩家饥饿临界值<!--by lidi-->
1. 新增[SetPlayerStarveLevel](../接口/玩家/属性.md#setplayerstarvelevel),设置玩家饥饿临界值,如果该值大于健康临界值,将被设置为健康临界值<!--by lidi-->
1. 新增[GetPlayerStarveTick](../接口/玩家/属性.md#getplayerstarvetick),获取玩家饥饿掉血速度,单位刻<!--by lidi-->
1. 新增[SetPlayerStarveTick](../接口/玩家/属性.md#setplayerstarvetick),设置玩家饥饿掉血速度,单位刻<!--by lidi-->
1. 新增[IsPlayerNaturalStarve](../接口/玩家/属性.md#isplayernaturalstarve),获取是否开启玩家饥饿掉血<!--by lidi-->
1. 新增[SetPlayerNaturalStarve](../接口/玩家/属性.md#setplayernaturalstarve),设置是否开启玩家饥饿掉血<!--by lidi-->
1. 新增[SetTimeOfDay](../接口/世界/时间.md#settimeofday),设置当前世界在一天内所在的时间<!--by czh-->
1. 新增[SetDeviceVibrate](../接口/控制.md#setdevicevibrate),可以设置设备震动<!--by likaiyu-->
1. 新增[IsEntityAlive](../接口/世界/实体管理.md#isentityalive),客户端接口,判断生物实体是否存活或非生物实体是否存在<!--by xujiarong-->
1. 新增[GetChinese](../接口/通用/工具.md#getchinese)获取langStr对应的中文<!--by liaoyi-->
1. 新增[GetPlayingAnimList](../接口/模型.md#getplayinganimlist),获取指定的骨骼模型中正在播放的骨骼动画名称列表<!--by xujiarong-->
1. 新增[SetShowArmModel](../接口/模型.md#setshowarmmodel),设置使用骨骼模型后切换至第一人称时是否显示手部模型<!--by xujiarong-->
1. 新增[SetExtraUniformValue](../接口/模型.md#setextrauniformvalue)设置shader中特定Uniform的值<!--by sutao-->
1. 新增[ModelStopAni](../接口/模型.md#modelstopani),增加停止播放骨骼动画接口<!--by xujiarong-->
1. 新增[SetAnimationBoneMask](../接口/模型.md#setanimationbonemask),新增动作融合功能接口:设置屏蔽骨骼动画中的指定骨骼<!--by xujiarong-->
1. 新增[SetAnimationAllBoneMask](../接口/模型.md#setanimationallbonemask),新增动作融合功能接口:设置屏蔽骨骼动画中的所有骨骼<!--by xujiarong-->
1. 新增[CancelAllBoneMask](../接口/模型.md#cancelallbonemask),新增动作融合功能接口:取消屏蔽骨骼动画中的骨骼屏蔽<!--by xujiarong-->
1. 新增[SetAnimLayer](../接口/模型.md#setanimlayer),新增动作融合功能接口:设置骨骼动画层级<!--by xujiarong-->
1. 新增[RegisterAnim1DControlParam](../接口/模型.md#registeranim1dcontrolparam)新增动作融合功能接口注册用于控制两个动画融合的1D控制参数<!--by xujiarong-->
1. 新增[SetAnim1DControlParam](../接口/模型.md#setanim1dcontrolparam)新增动作融合功能接口设置用于控制两个动画融合的1D控制参数的值<!--by xujiarong-->
1. 新增[SetUsePointFiltering](../接口/特效/粒子.md#setusepointfiltering),设置粒子材质的纹理滤波是否使用点滤波<!--by xujiarong-->
1. 新增[SetSplitControlCanChange](../接口/游戏设置.md#setsplitcontrolcanchange),设置是否允许使用准星瞄准按钮(设了不允许就不能在设置里修改)<!--by guanmingyu-->
1. 新增[SetText](../接口/特效/文字面板.md#settext),修改文字面板的内容<!--by czh-->
1. 新增[VirtualWorldSetSkyTexture](../接口/虚拟世界/世界.md#virtualworldsetskytexture),设置虚拟世界中天空的贴图<!--by sutao-->
1. 新增[VirtualWorldSetSkyBgColor](../接口/虚拟世界/世界.md#virtualworldsetskybgcolor),设置虚拟世界中天空背景的颜色<!--by sutao-->
1. 新增[ModelStopAnimation](../接口/虚拟世界/模型.md#modelstopanimation),新增停止播放接口。<!--by xujiarong-->
1. 新增[ModelSetAnimBoneMask](../接口/虚拟世界/模型.md#modelsetanimbonemask),新增虚拟世界动作融合功能接口:设置屏蔽骨骼动画中的指定骨骼<!--by xujiarong-->
1. 新增[ModelSetAnimAllBoneMask](../接口/虚拟世界/模型.md#modelsetanimallbonemask),新增虚拟世界动作融合功能接口:设置屏蔽骨骼动画中的所有骨骼<!--by xujiarong-->
1. 新增[ModelCancelAllBoneMask](../接口/虚拟世界/模型.md#modelcancelallbonemask),新增虚拟世界动作融合功能接口:取消屏蔽骨骼动画中的骨骼屏蔽<!--by xujiarong-->
1. 新增[ModelSetAnimLayer](../接口/虚拟世界/模型.md#modelsetanimlayer),新增虚拟世界动作融合功能接口:设置骨骼动画层级<!--by xujiarong-->
1. 新增[ModelRegisterAnim1DControlParam](../接口/虚拟世界/模型.md#modelregisteranim1dcontrolparam)新增虚拟世界动作融合功能接口注册用于控制两个动画融合的1D控制参数<!--by xujiarong-->
1. 新增[ModelSetAnim1DControlParam](../接口/虚拟世界/模型.md#modelsetanim1dcontrolparam)新增虚拟世界动作融合功能接口设置用于控制两个动画融合的1D控制参数的值<!--by xujiarong-->
1. 新增[SetSpritePlatformHead](../接口/自定义UI/UI控件.md#setspriteplatformhead),支持图片控件设置成我的世界移动端启动器当前帐号的头像<!--by panlei-->
1. 新增[SetSpritePlatformFrame](../接口/自定义UI/UI控件.md#setspriteplatformframe),支持图片控件设置成我的世界移动端启动器当前帐号的头像框<!--by panlei-->
1. 新增[GetSliderValue](../接口/自定义UI/UI控件.md#getslidervalue),获得滑动条的值<!--by panlei-->
1. 新增[SetSliderValue](../接口/自定义UI/UI控件.md#setslidervalue),设置滑动条的值<!--by panlei-->
1. 新增[ShearsUseToBlockBeforeServerEvent](../事件/物品.md#shearsusetoblockbeforeserverevent),增加实体手持剪刀对方块使用时事件,可取消剪刀效果<!--by likaiyu-->
1. 新增[NewOnEntityAreaEvent](../事件/世界.md#newonentityareaevent)RegisterEntityAOIEvent注册过AOI事件后当有实体进入或离开注册感应区域时触发该事件回调参数类型是dict<!--by guanmingyu-->
1. 新增[ShearsDestoryBlockBeforeServerEvent](../事件/方块.md#shearsdestoryblockbeforeserverevent),增加玩家手持剪刀破坏方块时事件,可取消剪刀效果<!--by likaiyu-->
1. 新增[CommandBlockUpdateEvent](../事件/方块.md#commandblockupdateevent),玩家尝试修改命令方块的内置命令时触发事件<!--by xltang-->
1. 新增[CommandBlockContainerOpenEvent](../事件/方块.md#commandblockcontaineropenevent),玩家点击命令方块,尝试打开命令方块的设置界面时触发事件<!--by xltang-->
1. 新增[OnBackButtonReleaseClientEvent](../事件/控制.md#onbackbuttonreleaseclientevent),返回按钮松开事件<!--by likaiyu-->
1. 新增[AnvilCreateResultItemAfterClientEvent](../事件/物品.md#anvilcreateresultitemafterclientevent),玩家点击铁砧合成的物品时抛出的事件<!--by likaiyu-->
1. 新增[DimensionChangeFinishClientEvent](../事件/玩家.md#dimensionchangefinishclientevent),新增玩家改变维度事件<!--by sutao-->
1. 新增[ShearsDestoryBlockBeforeClientEvent](../事件/方块.md#shearsdestoryblockbeforeclientevent),增加玩家手持剪刀破坏方块时事件,可取消剪刀效果<!--by likaiyu-->
- 调整
1. 调整[GetEngineActor](../接口/世界/实体管理.md#getengineactor),返回结果中去掉当前已经确定要移除的实体<!--by xltang-->
1. 调整[SetEntityOnFire](../接口/实体/行为.md#setentityonfire)新增参数burn_damage可设置实体着火状态下每秒扣的血量<!--by guanmingyu-->
1. 调整[GetBiomeName](../接口/世界/地图.md#getbiomename),支持自定义下界/自定义末地使用<!--by likaiyu-->
1. 调整[SetBlockNew](../接口/世界/方块管理.md#setblocknew),增加接口使用说明<!--by likaiyu-->
1. 调整[PlayerDestoryBlock](../接口/玩家/行为.md#playerdestoryblock)新增sendInv参数用于同步服务端背包信息,默认为不同步<!--by sutao-->
1. 调整[GetBlockNew](../接口/世界/方块管理.md#getblocknew),增加接口使用说明<!--by likaiyu-->
1. 调整[AddChunkPosWhiteList](../事件/世界.md#addchunkposwhitelist)ChunkAcquireDiscardedServerEvent不再需要该接口添加白名单<!--by czh-->
1. 调整[RemoveChunkPosWhiteList](../事件/世界.md#removechunkposwhitelist)ChunkAcquireDiscardedServerEvent不再需要该接口添加白名单<!--by czh-->
1. 调整[SetCommand](../接口/世界/指令.md#setcommand)当命令执行成功时返回True否则返回False<!--by xltang-->
1. 调整[ChangePlayerDimension](../接口/玩家/行为.md#changeplayerdimension),新增接口使用备注<!--by likaiyu-->
1. 调整[RegisterEntityAOIEvent](../事件/世界.md#registerentityaoievent),新增期待响应的实体类型的参数<!--by guanmingyu-->
1. 调整[SetExtraData](../接口/实体/自定义数据.md#setextradata)新增参数autoSave可设置是否自动保存数据默认为True<!--by gzhuabo-->
1. 调整[ForbidLiquidFlow](../接口/世界/游戏规则.md#forbidliquidflow),支持在单机环境使用<!--by xltang-->
1. 调整[UpgradeMapDimensionVersion](../接口/世界/地图.md#upgrademapdimensionversion),调整使用时机的说明与建议<!--by likaiyu-->
1. 调整[SetPlayerAllItems](../接口/玩家/背包.md#setplayerallitems)修正itemDict传入空字典时无法清空盔甲、裤子、鞋子部位装备的问题<!--by xltang-->
1. 调整[SetEntityItem](../接口/实体/背包.md#setentityitem),支持设置[运输矿车]和[漏斗矿车]背包中的物品<!--by sutao-->
1. 调整[SpawnItemToContainer](../接口/方块/容器.md#spawnitemtocontainer),支持使用下面参数清空特定槽位:itemDict为空为{}, 或itemName为minecraft:air或者count为0<!--by sutao-->
1. 调整[SpawnItemToEnderChest](../接口/方块/容器.md#spawnitemtoenderchest),支持使用下面参数清空特定槽位:itemDict为空为{}, 或itemName为minecraft:air或者count为0<!--by sutao-->
1. 调整[DetectStructure](../接口/世界/地图.md#detectstructure)新增dimensionId参数默认为-1传入非负值时不依赖playerId<!--by likaiyu-->
1. 调整[SetPos](../接口/实体/属性.md#setpos)在床上时调用该接口会返回False<!--by likaiyu-->
1. 调整[SetFootPos](../接口/实体/属性.md#setfootpos)在床上时调用该接口会返回False<!--by likaiyu-->
1. 调整[SetRiderRideEntity](../接口/实体/行为.md#setriderrideentity)增加备注要求被骑乘生物的定义中具有minecraft:rideable组件且组件中family_types含有可骑乘者的类型声明<!--by sutao-->
1. 调整[isEntityOnGround](../接口/实体/属性.md#isentityonground),添加备注"客户端实体刚创建时引擎计算还没完成此时获取该实体是否着地将返回默认值True需要延迟一帧进行获取才能获取到正确的数据"<!--by sutao-->
1. 调整[PlayCustomMusic](../接口/音效.md#playcustommusic)添加可以播放原版音效的描述。添加了与本地玩家距离大于16格则跳过播放的优化。<!--by czh-->
1. 调整[BindModelToModel](../接口/模型.md#bindmodeltomodel),挂接的模型不再会与实体模型播放相同的动作,现在可以对挂接模型播放单独的骨骼动画。<!--by xujiarong-->
1. 调整[BindModelToEntity](../接口/模型.md#bindmodeltoentity),挂接的模型不再会与实体模型播放相同的动作,现在可以对挂接模型播放单独的骨骼动画。<!--by xujiarong-->
1. 调整[ModelPlayAni](../接口/模型.md#modelplayani),新增动画混合功能, 新增设置动画层级参数,增加是否播放成功的返回值。<!--by xujiarong-->
1. 调整[SetCanMove](../接口/控制.md#setcanmove),调整接口使用说明<!--by likaiyu-->
1. 调整[SetMoveLock](../接口/控制.md#setmovelock),调整接口使用说明<!--by likaiyu-->
1. 调整[ModelPlayAnimation](../接口/虚拟世界/模型.md#modelplayanimation),新增动画混合功能, 新增设置动画层级参数。<!--by xujiarong-->
1. 调整[PlayerInventoryOpenScriptServerEvent](../事件/UI.md#playerinventoryopenscriptserverevent),新增某个客户端打开物品背包界面的事件<!--by xltang-->
1. 调整[WillTeleportToServerEvent](../事件/实体.md#willteleporttoserverevent)切维度接口以及changedimension指令现在会触发该事件。修复了tp指令触发时toDimensionId异常的问题。<!--by czh-->
1. 调整[PlayerEatFoodServerEvent](../事件/玩家.md#playereatfoodserverevent),增加饥饿度参数,可修改<!--by lidi-->
1. 调整[ChunkAcquireDiscardedServerEvent](../事件/世界.md#chunkacquirediscardedserverevent),该事件不再需要注册区块白名单。事件参数添加了随区块卸载而从世界移除的实体以及自定义方块实体列表<!--by czh-->
1. 调整[HopperTryPullInServerEvent](../事件/方块.md#hoppertrypullinserverevent),更正事件触发时机描述为:当漏斗上方连接容器后,容器往漏斗开始输入物品时触发,事件仅触发一次<!--by xujiarong-->
1. 调整[HopperTryPullOutServerEvent](../事件/方块.md#hoppertrypulloutserverevent),更正事件触发时机描述为:当漏斗以毗邻的方式连接容器时,即从旁边连接容器时,漏斗向容器开始输出物品时触发,事件仅触发一次<!--by xujiarong-->
1. 调整[ClientPlayerInventoryOpenEvent](../事件/UI.md#clientplayerinventoryopenevent)新增isCreative参数<!--by xltang-->
- 修复
1. 修复[SetGameRulesInfoServer](../接口/世界/游戏规则.md#setgamerulesinfoserver)修复了设置cheat_info但是没填enable参数导致“激活作弊”选项无法开启的问题<!--by likaiyu-->
1. 修复[GetUserDataInEvent](../接口/物品.md#getuserdatainevent),修复了可能对部分事件无效的问题<!--by likaiyu-->
1. 修复[GetUserDataInEvent](../接口/物品.md#getuserdatainevent),修复了可能对部分事件无效的问题<!--by likaiyu-->
- 废弃(将在未来不可用)
1. 废弃PlaySystemSound请使用PlayCustomMusic
1. 废弃LocateNeteaseFeature请使用定位速度更快的接口LocateNeteaseFeatureRule
1. 废弃SpawnItemToChestBlock请使用SpawnItemToContainer
1. 废弃Play请使用PlayCustomMusic
1. 废弃GetPlayingAnim现在骨骼模型支持同时播放多个动画该接口仅返回单个动画名称。如需要获取正在播放的动画名称请使用GetPlayingAnimList
1. 废弃PlayBodyAnim1.23版本骨骼模型动画已增加动作融合功能,可通过动作融合实现上半身的动画播放和暂停。
1. 废弃StopBodyAnim1.23版本骨骼模型动画已增加动作融合功能,可通过动作融合实现上半身的动画播放和暂停。
1. 废弃PlayLegAnim1.23版本骨骼模型动画已增加动作融合功能,可通过动作融合实现下半身的动画播放和暂停。
1. 废弃StopLegAnim1.23版本骨骼模型动画已增加动作融合功能,可通过动作融合实现下半身的动画播放和暂停。
1. 废弃OnEntityAreaEvent请使用NewOnEntityAreaEvent

View File

@@ -0,0 +1,245 @@
# 1.24
温馨提示预计在9月23日全渠道更新1.24版本玩家包体玩家将陆续更新到1.24版本,请开发者合理安排更新节奏。
**2021.09.16版本号v1.24 BE1.16.202**
<iframe src="https://cc.163.com/act/m/daily/iframeplayer/?id=61415ca248e27490891e9566" height="600" width="800" allow="fullscreen" />
- 重大功能介绍
1. 自定义流体
- 包含流体颜色、贴图、范围、流速设置
- 可自定义桶装载自定义流体
- 可设置液体传播火的效果以及进入液体获得的效果
详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/3-特殊方块/5-自定义流体.html" rel="noopenner"> 自定义流体 </a><a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/1-自定义物品/7-自定义桶.html" rel="noopenner"> 自定义桶 </a>
2. 自定义附魔
- 支持自定义魔咒、魔咒等级
- 可在附魔书、附魔台、铁砧上获得自定义附魔
- 物品上可包含自定义附魔
详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/11-自定义附魔文档.html" rel="noopenner"> 自定义附魔 </a>
3. 自定义方块功能拓展:
* 支持方块重力表现,可自定义铁砧、沙砾等下落效果。
- 支持设置方块下落表现
- 支持设置下落速度以及伤害
- 可获取方块开始下落、结束下落、下落过程接触到实体的事件
详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/3-特殊方块/6-自定义重力方块.html" rel="noopenner"> 自定义重力方块 </a>
* 可获取实体下落到方块的事件,可自定义粘液块的弹跳效果。详见[OnAfterFallOnBlockServerEvent](../事件/方块.html#onafterfallonblockserverevent)[OnAfterFallOnBlockClientEvent](../事件/方块.html#onafterfallonblockclientevent)
* 可获取实体在方块上移动的事件,可自定义类似冰、灵魂沙等不同的摩擦效果。详见[OnStandOnBlockServerEvent](../事件/方块.html#onstandonblockserverevent)[OnStandOnBlockClientEvent](../事件/方块.html#onstandonblockclientevent)
4. 自定义方块实体渲染,可实现表现力更强的自定义方块。
- 方块实体支持添加动画支持使用由BlockBench制作的原版模型或者是游戏原版模型。
- 方块实体支持添加特效,可通过配置或者接口,为自定义方块实体附加粒子特效及序列帧特效。
详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/4.1-自定义方块实体外观.html" rel="noopenner"> 自定义方块实体外观 </a>
5. 自定义分页、分组
- 支持多个自定义分页,可让物品分类更灵活。
- 支持把物品放在原有分组或自定义分组中,自定义分组支持多个,可让物品分类更规整。
详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/12-自定义物品分组.html" rel="noopenner"> 自定义物品分组 </a>与<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/13-自定义物品分页.html" rel="noopenner"> 自定义物品分页 </a>
6. 后处理效果
- 渐晕效果。画面随中心距离逐渐变暗,实现类似瞄准镜等视觉效果。
详见[渐晕](../接口/后处理/渐晕.md)
*(展示视频中涉及的demo下载地址如下[自定义附魔](https://g79.gdl.netease.com/EnchantDemo.zip)、[其他内容](https://g79.gdl.netease.com/1.24demo.zip))*
- 新增
1. 新增<a href="../../../mcguide/16-美术/7-材质与着色器/1-材质介绍与着色器入门.html" rel="noopenner"> Shader使用简介 </a>教程
1. 新增[StartCoroutine](../接口/通用/工具.md#startcoroutine),开启服务端协程,实现函数分段式执行,可用于缓解复杂逻辑计算导致游戏卡顿问题<!--by handaoying-->
1. 新增[StopCoroutine](../接口/通用/工具.md#stopcoroutine),停止服务端协程<!--by handaoying-->
1. 新增[OpenChatGui](../接口/原生UI.md#openchatgui),打开原版聊天栏<!--by hdy-->
1. 新增[StartCoroutine](../接口/通用/工具.md#startcoroutine),开启客户端协程,实现函数分段式执行,可用于缓解复杂逻辑计算导致游戏卡顿问题<!--by handaoying-->
1. 新增[StopCoroutine](../接口/通用/工具.md#stopcoroutine),停止客户端协程<!--by handaoying-->
1. 新增[GetTypeFamily](../接口/实体/属性.md#gettypefamily),获取生物行为包字段 type_family<!--by hdy-->
1. 新增[AddModEnchantToInvItem](../接口/玩家/背包.md#addmodenchanttoinvitem),新增给物品栏中物品添加自定义附魔信息接口<!--by liaoyi-->
1. 新增[RemoveEnchantToInvItem](../接口/玩家/背包.md#removeenchanttoinvitem),新增给物品栏中物品移除附魔信息接口<!--by liaoyi-->
1. 新增[RemoveModEnchantToInvItem](../接口/玩家/背包.md#removemodenchanttoinvitem),新增给物品栏中物品移除自定义附魔信息接口<!--by liaoyi-->
1. 新增[GetInvItemModEnchantData](../接口/玩家/背包.md#getinvitemmodenchantdata),新增获取物品栏的物品自定义附魔信息<!--by liaoyi-->
1. 新增[GetEquItemModEnchant](../接口/实体/背包.md#getequitemmodenchant),新增支持获取生物装备槽位中盔甲的自定义附魔<!--by liaoyi-->
1. 新增[SetItemMaxDurability](../接口/物品.md#setitemmaxdurability),设置物品的最大耐久值<!--by likaiyu-->
1. 新增[GetItemMaxDurability](../接口/物品.md#getitemmaxdurability),获取指定槽位的物品最大耐久<!--by likaiyu-->
1. 新增[GetPlayerExhaustionRatioByType](../接口/玩家/行为.md#getplayerexhaustionratiobytype),获取玩家某行为饥饿度消耗倍率<!--by hdy-->
1. 新增[SetPlayerExhaustionRatioByType](../接口/玩家/行为.md#setplayerexhaustionratiobytype),设置玩家某行为饥饿度消耗倍率<!--by hdy-->
1. 新增[SetPlayerAttackSpeedAmplifier](../接口/玩家/行为.md#setplayerattackspeedamplifier),设置玩家攻击速度倍数<!--by gzhuabo-->
1. 新增[SetBlockEntityMolangValue](../接口/方块/方块实体.md#setblockentitymolangvalue)设置自定义方块实体的Molang变量用于控制自定义实体的动画转变。<!--by xujiarong-->
1. 新增[GetBlockEntityMolangValue](../接口/方块/方块实体.md#getblockentitymolangvalue)获取自定义方块实体的Molang变量的值。<!--by xujiarong-->
1. 新增[SetEnableBlockEntityAnimations](../接口/方块/方块实体.md#setenableblockentityanimations),是否开启自定义方块实体的动画效果。<!--by xujiarong-->
1. 新增[CreateParticleEffectForBlockEntity](../接口/方块/方块实体.md#createparticleeffectforblockentity),在自定义方块实体上创建粒子特效。<!--by xujiarong-->
1. 新增[GetParticleEffectIdInBlockEntity](../接口/方块/方块实体.md#getparticleeffectidinblockentity)获取在自定义方块实体中已创建的粒子特效的Id。<!--by xujiarong-->
1. 新增[RemoveParticleEffectInBlockEntity](../接口/方块/方块实体.md#removeparticleeffectinblockentity),移除在自定义方块实体上创建的粒子特效。<!--by xujiarong-->
1. 新增[CreateFrameEffectForBlockEntity](../接口/方块/方块实体.md#createframeeffectforblockentity),在自定义方块实体上创建序列帧特效。<!--by xujiarong-->
1. 新增[GetFrameEffectIdInBlockEntity](../接口/方块/方块实体.md#getframeeffectidinblockentity)获取在自定义方块实体中已创建的序列帧特效的Id。<!--by xujiarong-->
1. 新增[RemoveFrameEffectInBlockEntity](../接口/方块/方块实体.md#removeframeeffectinblockentity),移除在自定义方块实体上创建的序列帧特效。<!--by xujiarong-->
1. 新增[SetBlockEntityParticlePosOffset](../接口/方块/渲染.md#setblockentityparticleposoffset),设置自定义方块实体中粒子特效位置的偏移值<!--by xujiarong-->
1. 新增[SetBlockEntityFramePosOffset](../接口/方块/渲染.md#setblockentityframeposoffset),设置自定义方块实体中序列帧特效位置的偏移值<!--by xujiarong-->
1. 新增[SetBlockEntityModelPosOffset](../接口/方块/渲染.md#setblockentitymodelposoffset),设置自定义方块实体的实体模型位置偏移值<!--by xujiarong-->
1. 新增[SetBlockEntityModelScale](../接口/方块/渲染.md#setblockentitymodelscale),设置自定义方块实体的实体模型大小的缩放值。<!--by xujiarong-->
1. 新增[SetBlockEntityModelRotation](../接口/方块/渲染.md#setblockentitymodelrotation),设置自定义方块实体的实体模型在各个轴上的旋转值。<!--by xujiarong-->
1. 新增[GetPos](../接口/特效/序列帧.md#getpos),获取序列帧特效的世界坐标位置。<!--by xujiarong-->
1. 新增[GetRot](../接口/特效/序列帧.md#getrot),获取序列帧特效的旋转角度。<!--by xujiarong-->
1. 新增[GetScale](../接口/特效/序列帧.md#getscale),获取序列帧特效的缩放值。<!--by xujiarong-->
1. 新增[SetParticleSize](../接口/特效/粒子.md#setparticlesize),设置粒子特效中粒子大小的最小值及最大值。<!--by xujiarong-->
1. 新增[GetParticleMaxSize](../接口/特效/粒子.md#getparticlemaxsize),获取粒子特效中粒子大小的最大值。<!--by xujiarong-->
1. 新增[GetParticleMinSize](../接口/特效/粒子.md#getparticleminsize),获取粒子特效中粒子大小的最小值。<!--by xujiarong-->
1. 新增[SetParticleVolumeSize](../接口/特效/粒子.md#setparticlevolumesize),设置粒子发射器的体积大小缩放。<!--by xujiarong-->
1. 新增[GetParticleVolumeSize](../接口/特效/粒子.md#getparticlevolumesize),获取粒子发射器的体积大小缩放值。<!--by xujiarong-->
1. 新增[SetParticleMaxNum](../接口/特效/粒子.md#setparticlemaxnum),设置粒子发射器所包含的最大粒子数量。<!--by xujiarong-->
1. 新增[GetParticleMaxNum](../接口/特效/粒子.md#getparticlemaxnum),获取粒子发射器包含的最大粒子数量。<!--by xujiarong-->
1. 新增[SetParticleEmissionRate](../接口/特效/粒子.md#setparticleemissionrate),设置粒子发射器每帧发射粒子的频率。<!--by xujiarong-->
1. 新增[GetParticleEmissionRate](../接口/特效/粒子.md#getparticleemissionrate),获取粒子发射器每帧发射粒子的频率。<!--by xujiarong-->
1. 新增[GetPos](../接口/特效/粒子.md#getpos),获取粒子发射器的世界坐标位置。<!--by xujiarong-->
1. 新增[GetRot](../接口/特效/粒子.md#getrot),获取粒子发射器的旋转角度。<!--by xujiarong-->
1. 新增[SetRotUseZXY](../接口/特效/粒子.md#setrotusezxy)设置粒子发射器的旋转旋转顺序按照绕z,x,y轴旋转<!--by xujiarong-->
1. 新增[Swing](../接口/玩家/属性.md#swing),本地玩家播放原版攻击动作<!--by gzhuabo-->
1. 新增[SetEnableVignette](../接口/后处理/渐晕.md#setenablevignette),是否开启渐晕效果<!--by xujiarong-->
1. 新增[CheckVignetteEnabled](../接口/后处理/渐晕.md#checkvignetteenabled),检测是否开启渐晕效果<!--by xujiarong-->
1. 新增[SetVignetteRGB](../接口/后处理/渐晕.md#setvignettergb),设置渐晕效果的渐晕颜色<!--by xujiarong-->
1. 新增[SetVignetteCenter](../接口/后处理/渐晕.md#setvignettecenter),设置渐晕效果的渐晕中心位置<!--by xujiarong-->
1. 新增[SetVignetteRadius](../接口/后处理/渐晕.md#setvignetteradius),设置渐晕效果的渐晕半径<!--by xujiarong-->
1. 新增[SetVignetteSmoothness](../接口/后处理/渐晕.md#setvignettesmoothness),设置渐晕效果的渐晕模糊系数<!--by xujiarong-->
1. 新增[HeavyBlockStartFallingServerEvent](../事件/方块.md#heavyblockstartfallingserverevent),增加重力方块变为下落的方块实体后触发的事件<!--by likaiyu-->
1. 新增[FallingBlockReturnHeavyBlockServerEvent](../事件/方块.md#fallingblockreturnheavyblockserverevent),增加下落的方块实体变回普通重力方块时触发的事件<!--by likaiyu-->
1. 新增[FallingBlockBreakServerEvent](../事件/方块.md#fallingblockbreakserverevent),增加下落的方块实体被破坏时触发的事件<!--by likaiyu-->
1. 新增[FallingBlockCauseDamageBeforeServerEvent](../事件/方块.md#fallingblockcausedamagebeforeserverevent),增加下落的方块计算砸实体伤害的事件,可修改部分属性<!--by likaiyu-->
1. 新增[OnBeforeFallOnBlockServerEvent](../事件/方块.md#onbeforefallonblockserverevent),增加实体刚降落到方块上时服务端触发的事件,主要用于伤害计算<!--by likaiyu-->
1. 新增[OnAfterFallOnBlockServerEvent](../事件/方块.md#onafterfallonblockserverevent),增加实体刚降落到方块上时服务端触发的事件,主要用于力的计算<!--by likaiyu-->
1. 新增[OnStandOnBlockServerEvent](../事件/方块.md#onstandonblockserverevent),增加当实体站立到方块上时服务端持续触发的事件<!--by likaiyu-->
1. 新增[PlayerTrySleepServerEvent](../事件/玩家.md#playertrysleepserverevent),玩家尝试使用床睡觉。<!--by hdy-->
1. 新增[PlayerSleepServerEvent](../事件/玩家.md#playersleepserverevent),玩家使用床睡觉成功。<!--by hdy-->
1. 新增[PlayerStopSleepServerEvent](../事件/玩家.md#playerstopsleepserverevent),玩家停止睡觉<!--by hdy-->
1. 新增[OnItemPutInEnchantingModelServerEvent](../事件/物品.md#onitemputinenchantingmodelserverevent),玩家将可附魔物品放到附魔台上时的事件,可修改此时附魔台的选项<!--by liaoyi-->
1. 新增[GrindStoneRemovedEnchantClientEvent](../事件/物品.md#grindstoneremovedenchantclientevent),新增玩家点击砂轮合成得到的物品事件<!--by liaoyi-->
1. 新增[FallingBlockCauseDamageBeforeClientEvent](../事件/方块.md#fallingblockcausedamagebeforeclientevent),增加下落的方块计算砸实体伤害的事件,可修改部分属性<!--by likaiyu-->
1. 新增[OnAfterFallOnBlockClientEvent](../事件/方块.md#onafterfallonblockclientevent),增加实体刚降落到方块上时客户端触发的事件,主要用于力的计算<!--by likaiyu-->
1. 新增[OnStandOnBlockClientEvent](../事件/方块.md#onstandonblockclientevent),增加当实体站立到方块上时客户端持续触发的事件<!--by likaiyu-->
1. 新增[EnchantSlotType](../枚举值/EnchantSlotType.md),附魔槽位枚举值<!--by liaoyi-->
1. 新增[PlayerExhauseRatioType](../枚举值/PlayerExhauseRatioType.md),饥饿度消耗倍率类型<!--by hdy-->
- 调整
1. 调整[SetMobKnockback](../接口/实体/行为.md#setmobknockback)增加备注在damageEvent事件里面使用该接口时需把damageEvent事件回调的knock参数设置为False<!--by guanmingyu-->
1. 调整[SetMotion](../接口/实体/行为.md#setmotion)增加备注在damageEvent事件里面使用该接口时需把damageEvent事件回调的knock参数设置为False<!--by guanmingyu-->
1. 调整[SetMotion](../接口/实体/行为.md#setmotion),优化文档说明<!--by likaiyu-->
1. 调整[DepartCamera](../接口/玩家/摄像机.md#departcamera)坐船情况下分离相机后玩家的镜头水平转动时能够360度转动。<!--by xujiarong-->
1. 调整[SetEntityOpacity](../接口/模型.md#setentityopacity),更正接口功能作用范围为:只对骨骼模型生效<!--by xujiarong-->
1. 调整[EntityTickServerEvent](../事件/实体.md#entitytickserverevent)添加实体identifier参数<!--by hdy-->
1. 调整[ChunkLoadedServerEvent](../事件/世界.md#chunkloadedserverevent),该事件不再需要添加区块白名单<!--by czh-->
1. 调整[AnvilCreateResultItemAfterClientEvent](../事件/物品.md#anvilcreateresultitemafterclientevent),返回值新增合成前两个物品的物品信息字典<!--by liaoyi-->
1. 调整[ChunkLoadedClientEvent](../事件/世界.md#chunkloadedclientevent),该事件不再需要添加区块白名单<!--by czh-->
1. 调整[ChunkAcquireDiscardedClientEvent](../事件/世界.md#chunkacquirediscardedclientevent),该事件不再需要添加区块白名单<!--by czh-->
- 修复
1. 修复[GetBiomeName](../接口/世界/地图.md#getbiomename)修复了在mod有自定义下界的情况下获取原版下界未加载区块变成自定义下界群系的问题。<!--by likaiyu-->
1. 修复[SetEntityScale](../接口/模型.md#setentityscale),修复了某些情况大小会被重置的问题<!--by czh-->
1. 修复[ActorAcquiredItemClientEvent](../事件/物品.md#actoracquireditemclientevent),修复了与村民交易时会触发两次的问题<!--by czh-->
- 废弃(将在未来不可用)
1. 废弃AddChunkPosWhiteList区块加载与卸载事件不再需要白名单
1. 废弃AddChunkPosWhiteList区块加载与卸载事件不再需要白名单
1. 废弃SetRot该接口设置的旋转值按照x,y,z轴旋转与其他接口不兼容故逐步废弃。请使用SetRotUseZXY接口
1. 废弃SetUiItem推荐使用UI面向对象ItemRendererUIControl.SetUiItem接口

View File

@@ -0,0 +1,249 @@
# 1.25
温馨提示预计在11月26日全渠道更新1.25版本玩家包体玩家将陆续更新到1.25版本,请开发者合理安排更新节奏。
2021.11.18版本号v1.25 BE1.16.203
- 新增重大功能介绍
1.自定义生物AI
- 可在脚本层扩展生物AI实现更多的生物表现。
详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/3-自定义生物/01-自定义基础生物.html#_11-自定义生物行为" rel="noopenner"> 自定义生物行为 </a>,举例详见[离线包](#demo离线包下载)中的CustomEntityMod。
2.虚拟世界支持微软原版模型
- 可更便捷实现回合制或小场景玩法。
详见[ModelCreateMinecraftObject](../接口/虚拟世界/模型.md#modelcreateminecraftobject)以及[ModelUpdateAnimationMolangVariable](../接口/虚拟世界/模型.md#modelupdateanimationmolangvariable),举例详见[离线包](#demo离线包下载)中的VirtualWorldDemo。
3.结构体功能拓展
- 结构体支持旋转可旋转90180270度
- 支持使用PlaceStructure或通过结构特征json旋转
详见[PlaceStructure](../接口/世界/地图.md#placestructure) 或 <a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/4-自定义特征.html" rel="noopenner"> 结构特征json旋转方式 </a>
4.自定义维度拓展
- 自定义维度新增netease:ban_vanilla_feature,可让该维度禁止生成原版feature,可用于解决类似空岛生存天空悬浮结构问题
详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/1-自定义维度.html" rel="noopenner"> 自定义维度 </a>
5.支持按维度独立设置天气,详见[天气](../接口/世界/天气.html)
6.新增后处理功能,可实现高斯模糊、颜色矫正、景深、镜头污迹等效果,详见[后处理](../接口/后处理/索引.html)
- 新增
1. 自定义方块实体外观<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/4.1-自定义方块实体外观.html#_1-2-方块实体的多面向" rel="noopenner"> 支持多面向 </a>
1. 自定义方块增加<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.html#netease-on-entity-inside" rel="noopenner"> netease:on_entity_inside </a>、netease:on_step_on、netease:on_step_off组件
1. 自定义物品增加<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/1-自定义物品/1-自定义基础物品.html#netease-enchant-material" rel="noopenner"> netease:enchant_material组件 </a>
1. UI新增<a href="../../../mcguide/18-界面与交互/30-UI说明文档.html#neteasecombobox" rel="noopenner"> 单选下拉框控件 </a>
1. 新增[GetCustomGoalCls](../接口/实体/行为.md#getcustomgoalcls)(服务端) 增加获取自定义行为节点基类的接口<!--by syy-->
1. 新增[SetEnableReconnectNetgame](../接口/通用/调试.md#setenablereconnectnetgame)(客户端) 设置是否允许断线重连<!--by guanmingyu-->
1. 新增[SetResourceFastload](../接口/通用/调试.md#setresourcefastload)(客户端) 设置资源快速加载<!--by jishaobin-->
1. 新增[GetResourceFastload](../接口/通用/调试.md#getresourcefastload)(客户端) 获取资源快速加载设置<!--by jishaobin-->
1. 新增[GetEnableReconnectNetgame](../接口/通用/调试.md#getenablereconnectnetgame)(客户端) 获取是否允许断线重连<!--by guanmingyu-->
1. 新增[OpenInventoryGui](../接口/原生UI.md#openinventorygui)(客户端) 打开原版背包界面<!--by hdy-->
1. 新增[CreateEngineEffectBind](../接口/特效/模型特效.md#createengineeffectbind)(客户端) 指用编辑器保存资源包中models/bind/xxx_bind.json生成编辑好的所有挂点的所有特效<!--by cyk-->
1. 新增[RegisterOnStandOn](../事件/方块.md#registeronstandon)(服务端) 可以动态注册与修改原版方块的netease:on_stand_on组件(服务端接口)<!--by likaiyu-->
1. 新增[UnRegisterOnStandOn](../事件/方块.md#unregisteronstandon)(服务端) 可以动态删除原版方块的netease:on_stand_on组件(服务端接口)<!--by likaiyu-->
1. 新增[RegisterOnStepOn](../事件/方块.md#registeronstepon)(服务端) 可以动态注册与修改原版方块的netease:on_step_on组件(服务端接口)<!--by likaiyu-->
1. 新增[UnRegisterOnStepOn](../事件/方块.md#unregisteronstepon)(服务端) 可以动态删除原版方块的netease:on_step_on组件(服务端接口)<!--by likaiyu-->
1. 新增[RegisterOnStepOff](../事件/方块.md#registeronstepoff)(服务端) 可以动态注册与修改原版方块的netease:on_step_off组件(服务端接口)<!--by likaiyu-->
1. 新增[UnRegisterOnStepOff](../事件/方块.md#unregisteronstepoff)(服务端) 可以动态删除原版方块的netease:on_step_off组件(服务端接口)<!--by likaiyu-->
1. 新增[RegisterOnEntityInside](../事件/方块.md#registeronentityinside)(服务端) 可以动态注册与修改原版方块的netease:on_entity_inside组件(服务端接口)<!--by likaiyu-->
1. 新增[UnRegisterOnEntityInside](../事件/方块.md#unregisteronentityinside)(服务端) 可以动态删除原版方块的netease:on_entity_inside组件(服务端接口)<!--by likaiyu-->
1. 新增[SetDimensionUseLocalWeather](../接口/世界/天气.md#setdimensionuselocalweather)(服务端) 设置某个维度拥有自己的天气规则,开启后该维度可以拥有与其他维度不同的天气和天气更替的规则<!--by hdy-->
1. 新增[GetDimensionUseLocalWeather](../接口/世界/天气.md#getdimensionuselocalweather)(服务端) 获取某个维度是否拥有自己的天气规则<!--by hdy-->
1. 新增[SetDimensionLocalRain](../接口/世界/天气.md#setdimensionlocalrain)(服务端) 设置某个维度下雨(必须先使用SetDimensionUseLocalWeather接口设置此维度拥有自己的独立天气)<!--by hdy-->
1. 新增[SetDimensionLocalThunder](../接口/世界/天气.md#setdimensionlocalthunder)(服务端) 设置某个维度打雷(必须先使用SetDimensionUseLocalWeather接口设置此维度拥有自己的独立天气)<!--by hdy-->
1. 新增[SetDimensionLocalDoWeatherCycle](../接口/世界/天气.md#setdimensionlocaldoweathercycle)(服务端) 设置某个维度是否开启天气循环(必须先使用SetDimensionUseLocalWeather接口设置此维度拥有自己的独立天气)<!--by hdy-->
1. 新增[GetDimensionLocalWeatherInfo](../接口/世界/天气.md#getdimensionlocalweatherinfo)(服务端) 获取独立维度天气信息(必须先使用SetDimensionUseLocalWeather接口设置此维度拥有自己的独立天气)<!--by hdy-->
1. 新增[RegisterOnStandOn](../事件/方块.md#registeronstandon)(客户端) 可以动态注册与修改原版方块的netease:on_stand_on组件客户端接口<!--by likaiyu-->
1. 新增[UnRegisterOnStandOn](../事件/方块.md#unregisteronstandon)(客户端) 可以动态删除原版方块的netease:on_stand_on组件客户端接口<!--by likaiyu-->
1. 新增[RegisterOnStepOn](../事件/方块.md#registeronstepon)(客户端) 可以动态注册与修改原版方块的netease:on_step_on组件客户端接口<!--by likaiyu-->
1. 新增[UnRegisterOnStepOn](../事件/方块.md#unregisteronstepon)(客户端) 可以动态删除原版方块的netease:on_step_on组件客户端接口<!--by likaiyu-->
1. 新增[RegisterOnStepOff](../事件/方块.md#registeronstepoff)(客户端) 可以动态注册与修改原版方块的netease:on_step_off组件客户端接口<!--by likaiyu-->
1. 新增[UnRegisterOnStepOff](../事件/方块.md#unregisteronstepoff)(客户端) 可以动态删除原版方块的netease:on_step_off组件客户端接口<!--by likaiyu-->
1. 新增[RegisterOnEntityInside](../事件/方块.md#registeronentityinside)(客户端) 可以动态注册与修改原版方块的netease:on_entity_inside组件客户端接口<!--by likaiyu-->
1. 新增[UnRegisterOnEntityInside](../事件/方块.md#unregisteronentityinside)(客户端) 可以动态删除原版方块的netease:on_entity_inside组件客户端接口<!--by likaiyu-->
1. 新增[SetEnableGaussianBlur](../接口/后处理/模糊.md#setenablegaussianblur)(客户端) 是否开启高斯模糊效果<!--by xujiarong-->
1. 新增[CheckGaussianBlurEnabled](../接口/后处理/模糊.md#checkgaussianblurenabled)(客户端) 检测是否开启高斯模糊效果<!--by xujiarong-->
1. 新增[SetGaussianBlurRadius](../接口/后处理/模糊.md#setgaussianblurradius)(客户端) 设置高斯模糊效果的模糊半径<!--by xujiarong-->
1. 新增[SetEnableColorAdjustment](../接口/后处理/色彩.md#setenablecoloradjustment)(客户端) 是否开启色彩校正效果<!--by xujiarong-->
1. 新增[CheckColorAdjustmentEnabled](../接口/后处理/色彩.md#checkcoloradjustmentenabled)(客户端) 检测是否开启色彩校正效果<!--by xujiarong-->
1. 新增[SetColorAdjustmentBrightness](../接口/后处理/色彩.md#setcoloradjustmentbrightness)(客户端) 调整屏幕色彩亮度值<!--by xujiarong-->
1. 新增[SetColorAdjustmentSaturation](../接口/后处理/色彩.md#setcoloradjustmentsaturation)(客户端) 调整屏幕色彩饱和度<!--by xujiarong-->
1. 新增[SetColorAdjustmentContrast](../接口/后处理/色彩.md#setcoloradjustmentcontrast)(客户端) 调整屏幕色彩对比度<!--by xujiarong-->
1. 新增[SetColorAdjustmentTint](../接口/后处理/色彩.md#setcoloradjustmenttint)(客户端) 调整屏幕色彩的色调<!--by xujiarong-->
1. 新增[SetEnableLensStain](../接口/后处理/镜头效果.md#setenablelensstain)(客户端) 是否开启镜头污迹效果<!--by xujiarong-->
1. 新增[CheckLensStainEnabled](../接口/后处理/镜头效果.md#checklensstainenabled)(客户端) 检测是否开启镜头污迹效果<!--by xujiarong-->
1. 新增[SetLensStainTexture](../接口/后处理/镜头效果.md#setlensstaintexture)(客户端) 改变镜头污迹所使用的贴图<!--by xujiarong-->
1. 新增[ResetLensStainTexture](../接口/后处理/镜头效果.md#resetlensstaintexture)(客户端) 重置镜头污迹所使用的贴图为系统默认贴图<!--by xujiarong-->
1. 新增[SetLensStainIntensity](../接口/后处理/镜头效果.md#setlensstainintensity)(客户端) 调整镜头污迹强度<!--by xujiarong-->
1. 新增[SetLensStainColor](../接口/后处理/镜头效果.md#setlensstaincolor)(客户端) 调整镜头污迹颜色<!--by xujiarong-->
1. 新增[SetEnableDepthOfField](../接口/后处理/镜头效果.md#setenabledepthoffield)(客户端) 是否开启景深效果<!--by xujiarong-->
1. 新增[CheckDepthOfFieldEnabled](../接口/后处理/镜头效果.md#checkdepthoffieldenabled)(客户端) 检测是否开启景深效果<!--by xujiarong-->
1. 新增[SetDepthOfFieldFocusDistance](../接口/后处理/镜头效果.md#setdepthoffieldfocusdistance)(客户端) 调整景深效果焦点距离<!--by xujiarong-->
1. 新增[SetDepthOfFieldBlurRadius](../接口/后处理/镜头效果.md#setdepthoffieldblurradius)(客户端) 调整景深效果模糊半径<!--by xujiarong-->
1. 新增[SetDepthOfFieldNearBlurScale](../接口/后处理/镜头效果.md#setdepthoffieldnearblurscale)(客户端) 调整景深效果近景模糊大小<!--by xujiarong-->
1. 新增[SetDepthOfFieldFarBlurScale](../接口/后处理/镜头效果.md#setdepthoffieldfarblurscale)(客户端) 调整景深效果远景模糊大小<!--by xujiarong-->
1. 新增[SetDepthOfFieldUseCenterFocus](../接口/后处理/镜头效果.md#setdepthoffieldusecenterfocus)(客户端) 设置景深效果是否开启屏幕中心聚焦模式<!--by xujiarong-->
1. 新增[ModelCreateMinecraftObject](../接口/虚拟世界/模型.md#modelcreateminecraftobject)(客户端) 在虚拟世界中创建微软原版模型<!--by sutao-->
1. 新增[ModelUpdateAnimationMolangVariable](../接口/虚拟世界/模型.md#modelupdateanimationmolangvariable)(客户端) 更新微软原版模型表达式变量,可控制动作的改变<!--by sutao-->
1. 新增[asNeteaseComboBox](../接口/自定义UI/UI控件.md#asneteasecombobox)(客户端) UI面向对象<!--by panlei-->
1. 新增[AddOption](../接口/自定义UI/UI控件.md#addoption)(客户端) 添加下拉框项<!--by panlei01-->
1. 新增[ClearOptions](../接口/自定义UI/UI控件.md#clearoptions)(客户端) 清空下拉框<!--by panlei01-->
1. 新增[ClearSelection](../接口/自定义UI/UI控件.md#clearselection)(客户端) 清除当前选中<!--by panlei01-->
1. 新增[GetOptionIndexByShowName](../接口/自定义UI/UI控件.md#getoptionindexbyshowname)(客户端) 根据展示文本查找对应下拉框项的索引位置<!--by panlei01-->
1. 新增[GetOptionShowNameByIndex](../接口/自定义UI/UI控件.md#getoptionshownamebyindex)(客户端) 根据索引位置查找当前栈式文本<!--by panlei01-->
1. 新增[GetOptionCount](../接口/自定义UI/UI控件.md#getoptioncount)(客户端) 获得选项数量<!--by panlei01-->
1. 新增[GetSelectOptionIndex](../接口/自定义UI/UI控件.md#getselectoptionindex)(客户端) 获得当前选中项的索引<!--by panlei01-->
1. 新增[GetSelectOptionShowName](../接口/自定义UI/UI控件.md#getselectoptionshowname)(客户端) 获得当前选中项的展示文本<!--by panlei01-->
1. 新增[RemoveOptionByShowName](../接口/自定义UI/UI控件.md#removeoptionbyshowname)(客户端) 根据提供的展示文本移除对应下拉框项<!--by panlei01-->
1. 新增[RemoveOptionByIndex](../接口/自定义UI/UI控件.md#removeoptionbyindex)(客户端) 根据提供的索引移除对应下拉框项<!--by panlei01-->
1. 新增[SetSelectOptionByIndex](../接口/自定义UI/UI控件.md#setselectoptionbyindex)(客户端) 根据提供的索引移除对应下拉框项<!--by panlei01-->
1. 新增[SetSelectOptionByShowName](../接口/自定义UI/UI控件.md#setselectoptionbyshowname)(客户端) 根据提供的展示文本选中对应下拉框项<!--by panlei01-->
1. 新增[RegisterOpenComboBoxCallback](../接口/自定义UI/UI控件.md#registeropencomboboxcallback)(客户端) 注册展开下拉框事件回调<!--by panlei01-->
1. 新增[RegisterCloseComboBoxCallback](../接口/自定义UI/UI控件.md#registerclosecomboboxcallback)(客户端) 注册关闭下拉框事件回调<!--by panlei01-->
1. 新增[RegisterSelectItemCallback](../接口/自定义UI/UI控件.md#registerselectitemcallback)(客户端) 注册选中下拉框内容事件回调<!--by panlei01-->
1. 新增[StepOffBlockServerEvent](../事件/方块.md#stepoffblockserverevent)(服务端) 新增实体移动离开一个实心方块时触发的事件<!--by likaiyu-->
1. 新增[PlayerIntendLeaveServerEvent](../事件/世界.md#playerintendleaveserverevent)(服务端) 即将删除玩家事件此时可以通过各种API获取玩家的当前状态。<!--by xltang-->
1. 新增[OnEntityInsideBlockServerEvent](../事件/方块.md#onentityinsideblockserverevent)(服务端) 增加当实体碰撞盒所在区域有方块时服务端持续触发的事件<!--by likaiyu-->
1. 新增[OnLocalRainLevelChangeServerEvent](../事件/世界.md#onlocalrainlevelchangeserverevent)(服务端) 独立维度天气下雨强度发生改变时触发<!--by hdy-->
1. 新增[OnLocalLightningLevelChangeServerEvent](../事件/世界.md#onlocallightninglevelchangeserverevent)(服务端) 独立维度天气打雷强度发生改变时触发<!--by hdy-->
1. 新增[StepOffBlockClientEvent](../事件/方块.md#stepoffblockclientevent)(客户端) 新增实体移动离开一个实心方块时触发的事件<!--by likaiyu-->
1. 新增[OnEntityInsideBlockClientEvent](../事件/方块.md#onentityinsideblockclientevent)(客户端) 增加当实体碰撞盒所在区域有方块时客户端持续触发的事件<!--by likaiyu-->
1. 新增[PlayerTryDropItemClientEvent](../事件/物品.md#playertrydropitemclientevent)(客户端) 新增客户端玩家尝试丢弃物品的事件。<!--by guanmingyu-->
1. 新增[InventoryType](../枚举值/InventoryType.md) 添加自定义分页枚举<!--by hdy-->
- 调整
1. 调整[PlaceStructure](../接口/世界/地图.md#placestructure)(服务端) 添加默认参数rotation默认为0可将放置的结构体沿y轴进行旋转<!--by hdy-->
1. 调整[GetRecipesByResult](../接口/世界/配方.md#getrecipesbyresult)(服务端) 熔炉配方支持返回输出物品的数量<!--by czh-->
1. 调整[GetRecipesByInput](../接口/世界/配方.md#getrecipesbyinput)(服务端) 熔炉配方支持返回输出物品的数量<!--by czh-->
1. 调整[GetRecipesByResult](../接口/世界/配方.md#getrecipesbyresult)(客户端) 熔炉配方支持返回输出物品的数量<!--by czh-->
1. 调整[GetRecipesByInput](../接口/世界/配方.md#getrecipesbyinput)(客户端) 熔炉配方支持返回输出物品的数量<!--by czh-->
1. 调整[SetToggleState](../接口/自定义UI/UI控件.md#settogglestate)(客户端) 新增参数可调整toggle路径<!--by panlei01-->
1. 调整[ServerSpawnMobEvent](../事件/世界.md#serverspawnmobevent)(服务端) 新增realIdentifier参数<!--by guanmingyu-->
1. 调整[StepOnBlockServerEvent](../事件/方块.md#steponblockserverevent)(服务端) 重大触发机制调整、备注说明更新<!--by likaiyu-->
1. 调整[OnStandOnBlockServerEvent](../事件/方块.md#onstandonblockserverevent)(服务端) 增加了cancel、dimensionId参数优化了备注文档说明<!--by likaiyu-->
1. 调整[StepOnBlockClientEvent](../事件/方块.md#steponblockclientevent)(客户端) 重大触发机制调整、备注说明更新<!--by likaiyu-->
1. 调整[OnStandOnBlockClientEvent](../事件/方块.md#onstandonblockclientevent)(客户端) 新增cancel、dimensionId参数<!--by likaiyu-->
- 修复
1. 修复[SetPlayerGameType](../接口/玩家/游戏模式.md#setplayergametype)(服务端) 修复了在AddServerPlayerEvent中使用会导致崩溃的问题<!--by czh-->
1. 修复[PerspChangeClientEvent](../事件/玩家.md#perspchangeclientevent)(客户端) 修复了在设置界面切换视角时不会触发该事件的问题<!--by likaiyu-->
- 废弃(将在未来不可用)
1. 废弃CreateEngineEffect请使用CreateEngineEffectBind
1. 废弃ClearPlayerOffHand已废弃请使用SetEntityItemitemDict传None即可
1. 废弃SetInvItemDurability已废弃请使用SetItemDurability
1. 废弃GetInvItemDurability已废弃请使用GetItemDurability
1. 废弃SetEquItemDurability已废弃请使用SetItemDurability
1. 废弃GetEquItemDurability已废弃请使用GetItemDurability

View File

@@ -0,0 +1,164 @@
# 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生成的示例地形具体的使用请参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/2-群系地貌.html#7.自定义群系生成流程(网易版)" rel="noopenner"> 自定义群系生成流程(网易版) </a>。
![image-20211220211830475](../picture/image-20211220211830475.png)
2. 自定义含水,含雪方块
自定义含水方块支持在组件中配置自定义方块含水的相关功能并支持python监听事件、接口设置等详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/3-特殊方块/7-自定义含水方块.html" rel="noopenner"> 自定义含水方块 </a>。
自定义含雪方块支持在组件中配置自定义方块含雪的相关功能并支持python监听事件、接口设置等详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/3-特殊方块/9-自定义含雪方块.html" rel="noopenner"> 自定义含雪方块 </a>。
3. 自定义方块实体支持原版粒子特效和音效
详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/4.1-自定义方块实体外观.html#添加微软原版粒子特效及音效" rel="noopenner"> 添加微软原版粒子特效及音效 </a>。
4. 自定义书
书本作为一种物品,主要是供玩家浏览信息,基于自定义书本,你可以提供一个书本界面给玩家,可以让玩家用翻书本的方式获取知识。详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/5-自定义书本/01-自定义基础书本.html" rel="noopenner"> 自定义书 </a>。
![image-20220104105922105](../picture/image-20220104105922105.png)
- 新增其他功能
自定义基础物品增加 netease:fuel 和 netease:cooldown 字段,详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/1-自定义物品/1-自定义基础物品.html" rel="noopenner"> 自定义基础物品 </a>。
- 新增
1. 新增[GetTopScreen](../接口/自定义UI/通用.md#gettopscreen)获取UI堆栈栈顶的UI节点<!--by mayexing-->
1. 新增[GetBookManager](../接口/自定义UI/自定义书本.md#getbookmanager),获取书本管理对象<!--by myx-->
1. 新增[NotifyToMultiClients](../接口/通用/事件.md#notifytomulticlients) 服务器发送事件到指定一批客户端<!--by xltang-->
1. 新增[ResetMotion](../接口/实体/行为.md#resetmotion),重置生物的瞬时移动方向向量<!--by xujiarong02-->
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)<!--by czh-->
1. 新增[SetLiquidBlock](../接口/世界/方块管理.md#setliquidblock)设置某一位置的方块的extraBlock接口<!--by guanmingyu-->
1. 新增[SetSnowBlock](../接口/世界/方块管理.md#setsnowblock),设置某一位置的方块含雪<!--by guanmingyu-->
1. 新增[GetLiquidBlock](../接口/世界/方块管理.md#getliquidblock),获取方块所含流体信息接口<!--by guanmingyu-->
1. 新增[GetBlockControlAi](../接口/实体/行为.md#getblockcontrolai)获取生物原生AI是否被屏蔽<!--by czh-->
1. 新增[GetSpawnDimension](../接口/世界/地图.md#getspawndimension),获取世界出生维度<!--by czh-->
1. 新增[SetSpawnDimensionAndPosition](../接口/世界/地图.md#setspawndimensionandposition),设置世界出生点维度与坐标<!--by czh-->
1. 新增[GetPlayerUid](../接口/联机大厅.md#getplayeruid)获取玩家的uid<!--by czh-->
1. 新增[QueryLobbyUserItem](../接口/联机大厅.md#querylobbyuseritem),查询还没发货的订单接口<!--by gmy-->
1. 新增[LobbyGetStorage](../接口/联机大厅.md#lobbygetstorage),获取存储的数据接口<!--by gmy-->
1. 新增[LobbySetStorageAndUserItem](../接口/联机大厅.md#lobbysetstorageanduseritem),设置订单已发货或者存数据接口<!--by gmy-->
1. 新增[GetPlayerRespawnPos](../接口/玩家/行为.md#getplayerrespawnpos),新增获取玩家复活点接口<!--by guanmingyu-->
1. 新增[GetEntityTags](../接口/实体/标签.md#getentitytags),获取实体标签列表<!--by gzhuabo-->
1. 新增[AddEntityTag](../接口/实体/标签.md#addentitytag),增加实体标签<!--by gzhuabo-->
1. 新增[RemoveEntityTag](../接口/实体/标签.md#removeentitytag),移除实体某个指定的标签<!--by gzhuabo-->
1. 新增[EntityHasTag](../接口/实体/标签.md#entityhastag),判断实体是否存在某个指定的标签<!--by gzhuabo-->
1. 新增[Pause](../接口/特效/模型特效.md#pause),暂停模型特效<!--by czh-->
1. 新增[Resume](../接口/特效/模型特效.md#resume),继续播放模型特效<!--by czh-->
1. 新增[Pause](../接口/特效/序列帧.md#pause),暂停序列帧播放<!--by czh-->
1. 新增[SetRotUseZXY](../接口/特效/序列帧.md#setrotusezxy)设置序列帧的旋转旋转顺序按照绕z,x,y轴旋转<!--by xujiarong-->
1. 新增[SetFreeModelAniSpeed](../接口/模型.md#setfreemodelanispeed),设置自由模型动画的播放速度<!--by xusifan-->
1. 新增[SetEntityShadowShow](../接口/模型.md#setentityshadowshow),设置实体打开/关闭影子渲染<!--by guanmingyu-->
1. 新增[Pause](../接口/特效/粒子.md#pause),暂停粒子播放<!--by czh-->
1. 新增[GetStringHash64](../接口/实体/molang.md#getstringhash64)增加返回字符串变量的hash64的接口<!--by guanmingyu-->
1. 新增[Update](../接口/自定义UI/UI界面.md#update),补充文档<!--by mayexing-->
1. 新增[GetScreenName](../接口/自定义UI/UI界面.md#getscreenname),获得本界面的名称<!--by mayexing-->
1. 新增[lobbyGoodBuySucServerEvent](../事件/联机大厅.md#lobbygoodbuysucserverevent),玩家联机大厅登录或者联机大厅游戏内购买商品时服务端抛出的事件<!--by guanmingyu-->
1. 新增[HealthChangeServerEvent](../事件/实体.md#healthchangeserverevent),生物生命值发生变化的事件<!--by czh-->
1. 新增[BlockLiquidStateChangeServerEvent](../事件/方块.md#blockliquidstatechangeserverevent),方块转为含水或者脱离含水(流体)前触发的事件<!--by guanmingyu-->
1. 新增[BlockLiquidStateChangeAfterServerEvent](../事件/方块.md#blockliquidstatechangeafterserverevent),方块转为含水或者脱离含水(流体)后触发的事件<!--by guanmingyu-->
1. 新增[BlockSnowStateChangeServerEvent](../事件/方块.md#blocksnowstatechangeserverevent),方块转为含雪或者脱离含雪前触发的事件<!--by guanmingyu-->
1. 新增[BlockSnowStateChangeAfterServerEvent](../事件/方块.md#blocksnowstatechangeafterserverevent),方块转为含雪或者脱离含雪后触发的事件<!--by guanmingyu-->
1. 新增[OnModBlockNeteaseEffectCreatedClientEvent](../事件/方块.md#onmodblockneteaseeffectcreatedclientevent),自定义方块实体绑定的特效创建成功事件<!--by xujiarong02-->
1. 新增[HealthChangeClientEvent](../事件/实体.md#healthchangeclientevent),生物生命值发生变化的事件<!--by czh-->
1. 新增[EntityModelChangedClientEvent](../事件/实体.md#entitymodelchangedclientevent),新增实体模型切换时触发的事件。<!--by guanmingyu-->
1. 新增[SetBlockType](../枚举值/SetBlockType.md),方块设置的类型<!--by guanmingyu-->
- 调整
1. 调整[CreateUI](../接口/自定义UI/通用.md#createui),添加备注<!--by mayexing-->
1. 调整[StartNavTo](../接口/玩家/导航.md#startnavto),新增控制序列帧是否开启深度检测的参数<!--by czh-->
1. 调整[PushScreen](../接口/自定义UI/通用.md#pushscreen),增加自定义参数<!--by mayexing-->
1. 调整[SetBlockControlAi](../接口/实体/行为.md#setblockcontrolai)原版模型关闭AI时动作也会冻结<!--by czh-->
1. 调整[ChangePlayerFlyState](../接口/玩家/行为.md#changeplayerflystate),新增使用限制说明<!--by guanmingyu-->
1. 调整[SetCanBlockSetOnFireByLightning](../接口/世界/游戏规则.md#setcanblocksetonfirebylightning),外放这个接口<!--by guanmingyu-->
1. 调整[SetCanActorSetOnFireByLightning](../接口/世界/游戏规则.md#setcanactorsetonfirebylightning),外放这个接口<!--by guanmingyu-->
1. 调整[GetAttrValue](../接口/实体/属性.md#getattrvalue),新增客户端获取属性的接口<!--by guanmingyu-->
1. 调整[GetAttrMaxValue](../接口/实体/属性.md#getattrmaxvalue),新增客户端获取属性最大值的接口<!--by guanmingyu-->
1. 调整[GetMolangValue](../接口/实体/molang.md#getmolangvalue)扩展接口增加返回molang变量hash64<!--by guanmingyu-->
1. 调整[ChangeBindAutoScale](../接口/自定义UI/UI界面.md#changebindautoscale),添加备注<!--by mayexing-->
1. 调整[OnOffhandItemChangedServerEvent](../事件/物品.md#onoffhanditemchangedserverevent),新增备注:切换耐久度不同的相同物品,不会触发该事件<!--by guanmingyu-->
1. 调整[OnCarriedNewItemChangedServerEvent](../事件/物品.md#oncarriednewitemchangedserverevent),新增备注:切换耐久度不同的相同物品,不会触发该事件<!--by guanmingyu-->
1. 调整[ServerItemTryUseEvent](../事件/物品.md#serveritemtryuseevent),新增使用场景的描述<!--by guanmingyu-->
1. 调整[OnItemPutInEnchantingModelServerEvent](../事件/物品.md#onitemputinenchantingmodelserverevent)playerId的参数类型改为str<!--by xujiarong02-->
- 修复
1. 修复了可以通过summon npc指令召唤教育版npc的问题
1. 修复[ModelUpdateAnimationMolangVariable](../接口/虚拟世界/模型.md#modelupdateanimationmolangvariable)修复了客户端实体中配置了scripts/initialize时接口不生效的问题<!--by czh-->
- 离线Demo下载
下载[DEMO](https://g79.gdl.netease.com/2.0DemoV4.zip)。

View File

@@ -0,0 +1,281 @@
# 2.1
2022.4.15版本号v2.1 BE1.17.3
包括Mod PC包手机测试版启动器和服务器引擎。
- 新增重大功能介绍
1. 自定义盾牌
对盾牌的自定义进行了支持,并且额外支持了盾牌的动画和模型,具体的使用请参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/1-自定义物品/8-自定义盾牌.html" rel="noopenner"> 自定义盾牌 </a>。
Demo见<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html#demomod" rel="noopenner"> 示例简介 </a>
![image-20220314143215073](../picture/image-20220314143215073.png)
2. 方块合并网格体 & 设置网格体为实体模型
主要实现了3个功能。
1获取指定的方块为一个方块调色板调色板内记录有各方块的位置和类型参考[GetBlockPaletteFromPosList](../接口/世界/方块组合.md#getblockpalettefromposlist)(服务端)以及其他接口。
2使用方块调色板生成对应的网格体模型参考[CombineBlockPaletteToGeometry](../接口/方块/方块几何体模型.md#combineblockpalettetogeometry)(客户端)以及其他接口。
3为实体添加指定的网格体模型参考[AddActorBlockGeometry](../接口/实体/渲染.md#addactorblockgeometry)(客户端)。
如下图,就是将一些方块合并为了网格体模型,并赋予一个可骑乘实体,实现了类似组装战车的效果。
![image-20220314143051215](../picture/image-20220314143051215.png)
Demo见<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html#demomod" rel="noopenner"> 示例简介 </a>
3. 提供更多中国版群系源节点类型
2.1版本的群系源节点能做到以下功能:
1将某个群系的部分替换成另外一个群系
2当群系A与群系B相邻时则在他们中间生成过渡群系
3在核心群系的周围生成伴生群系
4在一个固定长宽的矩形范围内随机选择一个点放置关键群系
5根据molang语句来实现群系源控制
![image-20220314150124467](../picture/image-20220314150124467.png)
4. 自定义战利品表扩展
玩家新增幸运值属性,影响战利品数量和权重,详见:<a href="../../../mconline/10-addon教程/第12章更完善的自定义掉落物/课程02.战利品池.html#补充内容" rel="noopenner"> 战利品池 </a>和[属性值](../枚举值/AttrType.md)。
5. UI控件支持更多设置属性接口
详见[UI控件](../接口/自定义UI/UI控件.md)。
6. 新增屏蔽原版大型结构的10个json组件
可以在维度配置中屏蔽一些大型结构,详见:<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/1-自定义维度.html#维度配置" rel="noopenner"> 维度配置 </a>
7. 新增定义物品描述信息的json字段
新增 netease:customtips 字段,详见:<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/1-自定义物品/1-自定义基础物品.html#netease-customtips2-1beta版内容" rel="noopenner"> netease-customtips </a>
- 新增
1. 新增[StartMemProfile](../接口/通用/调试.md#startmemprofile)(服务端) 开始启动服务端脚本内存分析<!--by xusifan-->
1. 新增[StopMemProfile](../接口/通用/调试.md#stopmemprofile)(服务端) 停止服务端脚本内存分析并生成火焰图<!--by xusifan-->
1. 新增[StartMemProfile](../接口/通用/调试.md#startmemprofile)(客户端) 开始启动客户端脚本内存分析<!--by xusifan-->
1. 新增[StopMemProfile](../接口/通用/调试.md#stopmemprofile)(客户端) 停止客户端脚本内存分析并生成火焰图<!--by xusifan-->
1. 新增[GetBlankBlockPalette](../接口/世界/方块组合.md#getblankblockpalette)(服务端) 获取一个空白的方块调色板<!--by xujiarong02-->
1. 新增[GetBlockPaletteFromPosList](../接口/世界/方块组合.md#getblockpalettefromposlist)(服务端) 根据输入的方块位置列表创建并获取一个方块调色板<!--by xujiarong02-->
1. 新增[GetBlockPaletteBetweenPos](../接口/世界/方块组合.md#getblockpalettebetweenpos)(服务端) 根据输入的两个方块位置创建并获取一个方块调色板<!--by xujiarong02-->
1. 新增[SetBlockByBlockPalette](../接口/世界/方块组合.md#setblockbyblockpalette)(服务端) 根据输入的方块调色板内容,将调色板内记录的所有方块设置为实际的方块。<!--by xujiarong02-->
1. 新增[GetBlockBasicInfo](../接口/方块/属性.md#getblockbasicinfo)(服务端) 获取方块基本信息<!--by xusifan-->
1. 新增[SetBlockBasicInfo](../接口/方块/属性.md#setblockbasicinfo)(服务端) 设置方块基本信息<!--by gmy-->
1. 新增[GetBlockCollision](../接口/世界/方块管理.md#getblockcollision)(服务端) 获取指定位置方块当前collision的aabb接口<!--by xusifan-->
1. 新增[GetBlockClip](../接口/世界/方块管理.md#getblockclip)(服务端) 获取指定位置方块当前clip的aabb接口<!--by xusifan-->
1. 新增[IsSlimeChunk](../接口/世界/地图.md#isslimechunk)(服务端) 获取某个区块是否史莱姆区块。<!--by gmy-->
1. 新增[OpenMobHitBlockDetection](../事件/实体.md#openmobhitblockdetection)(服务端) 开启碰撞方块的检测接口<!--by gmy-->
1. 新增[CloseMobHitBlockDetection](../事件/实体.md#closemobhitblockdetection)(服务端) 关闭碰撞方块的检测接口<!--by gmy-->
1. 新增[SetJumpPower](../接口/实体/行为.md#setjumppower)(服务端) 设置生物跳跃力度<!--by gmy-->
1. 新增[SetEntityInteractFilter](../接口/实体/行为.md#setentityinteractfilter)(服务端) 设置与生物可交互的条件<!--by xiegang-->
1. 新增[GetPlayerUIItem](../接口/方块/容器.md#getplayeruiitem)(服务端) 获取合成容器的物品<!--by jishaobin-->
1. 新增[GetItemDefenceAngle](../接口/物品.md#getitemdefenceangle)(服务端) 获取盾牌物品的抵挡角度范围<!--by gmy-->
1. 新增[SetItemDefenceAngle](../接口/物品.md#setitemdefenceangle)(服务端) 设置盾牌物品的抵挡角度范围<!--by gmy-->
1. 新增[SetInputSlotItem](../接口/方块/容器.md#setinputslotitem)(服务端) 设置熔炉输入栏物品<!--by huangxiaojie03-->
1. 新增[GetInputSlotItem](../接口/方块/容器.md#getinputslotitem)(服务端) 获取熔炉输入栏物品<!--by huangxiaojie03-->
1. 新增[GetOutputSlotItem](../接口/方块/容器.md#getoutputslotitem)(服务端) 获取熔炉输出栏物品<!--by huangxiaojie03-->
1. 新增[GetIsBlocking](../接口/玩家/行为.md#getisblocking)(服务端) 获取玩家是否处于抵挡状态<!--by gmy-->
1. 新增[AddBrewingRecipes](../接口/世界/配方.md#addbrewingrecipes)(服务端) 新增添加酿造台配方的接口<!--by gmy-->
1. 新增[SetEntityShareablesItems](../接口/实体/行为.md#setentityshareablesitems)(服务端) 设置实体可分享/可拾取的物品列表<!--by xiegang-->
1. 新增[AddActorRenderControllerArray](../接口/实体/渲染.md#addactorrendercontrollerarray)(客户端) 添加实体渲染控制器数组中字典arrays元素<!--by xiegang01-->
1. 新增[AddActorBlockGeometry](../接口/实体/渲染.md#addactorblockgeometry)(客户端) 为实体添加方块几何体模型<!--by xujiarong02-->
1. 新增[DeleteActorBlockGeometry](../接口/实体/渲染.md#deleteactorblockgeometry)(客户端) 删除实体中的指定方块几何体模型<!--by xujiarong02-->
1. 新增[ClearActorBlockGeometry](../接口/实体/渲染.md#clearactorblockgeometry)(客户端) 删除实体中的所有的方块几何体模型<!--by xujiarong02-->
1. 新增[SetActorBlockGeometryVisible](../接口/实体/渲染.md#setactorblockgeometryvisible)(客户端) 设置实体中指定的方块几何体模型是否显示<!--by xujiarong02-->
1. 新增[SetActorAllBlockGeometryVisible](../接口/实体/渲染.md#setactorallblockgeometryvisible)(客户端) 设置实体中所有的方块几何体模型是否显示<!--by xujiarong02-->
1. 新增[GetBlankBlockPalette](../接口/世界/方块组合.md#getblankblockpalette)(客户端) 获取一个空白的方块调色板<!--by xujiarong02-->
1. 新增[GetBlockPaletteFromPosList](../接口/世界/方块组合.md#getblockpalettefromposlist)(客户端) 根据输入的方块位置列表创建并获取一个方块调色板<!--by xujiarong02-->
1. 新增[GetBlockPaletteBetweenPos](../接口/世界/方块组合.md#getblockpalettebetweenpos)(客户端) 根据输入的两个位置创建并获取一个方块调色板<!--by xujiarong02-->
1. 新增[CombineBlockPaletteToGeometry](../接口/方块/方块几何体模型.md#combineblockpalettetogeometry)(客户端) 将BlockPalette中的所有方块合并并转换为能用于实体的几何体模型<!--by xujiarong02-->
1. 新增[CombineBlockBetweenPosToGeometry](../接口/方块/方块几何体模型.md#combineblockbetweenpostogeometry)(客户端) 根据输入的两个位置,搜索这两个位置之间的所有方块,并将这些方块合并和转换为能用于实体的几何体模型<!--by xujiarong02-->
1. 新增[CombineBlockFromPosListToGeometry](../接口/方块/方块几何体模型.md#combineblockfromposlisttogeometry)(客户端) 根据输入的两个位置,搜索这两个位置之间的所有方块,并将这些方块合并和转换为能用于实体的几何体模型<!--by xujiarong02-->
1. 新增[GetBlockClip](../接口/世界/方块管理.md#getblockclip)(客户端) 获取指定位置方块当前clip的aabb<!--by xusifan-->
1. 新增[GetBlockCollision](../接口/世界/方块管理.md#getblockcollision)(客户端) 获取指定位置方块当前collision的aabb<!--by xusifan-->
1. 新增[SetHealthBarDeviation](../接口/实体/渲染.md#sethealthbardeviation)(客户端) 新增设置血条高度的接口<!--by gmy-->
1. 新增[GetTexture](../接口/模型.md#gettexture)(客户端) 获取模型贴图名称路径<!--by huangxiaojie03-->
1. 新增[setUsingShield](../接口/玩家/行为.md#setusingshield)(客户端) 激活盾牌状态<!--by gmy-->
1. 新增[SetFullSize](../接口/自定义UI/UI控件.md#setfullsize)(客户端) 设置控件的大小,支持百分比以及绝对值<!--by mayexing-->
1. 新增[GetFullSize](../接口/自定义UI/UI控件.md#getfullsize)(客户端) 获取控件的大小,支持比例值以及绝对值<!--by mayexing-->
1. 新增[SetFullPosition](../接口/自定义UI/UI控件.md#setfullposition)(客户端) 设置控件的锚点坐标(全局坐标),支持比例值以及绝对值<!--by mayexing-->
1. 新增[GetFullPosition](../接口/自定义UI/UI控件.md#getfullposition)(客户端) 获取控件的锚点坐标,支持比例值以及绝对值<!--by mayexing-->
1. 新增[SetAnchorFrom](../接口/自定义UI/UI控件.md#setanchorfrom)(客户端) 设置控件相对于父节点的锚点<!--by mayexing-->
1. 新增[GetAnchorFrom](../接口/自定义UI/UI控件.md#getanchorfrom)(客户端) 判断控件相对于父节点的哪个锚点来计算位置与大小<!--by mayexing-->
1. 新增[SetAnchorTo](../接口/自定义UI/UI控件.md#setanchorto)(客户端) 设置控件自身锚点位置<!--by mayexing-->
1. 新增[GetAnchorTo](../接口/自定义UI/UI控件.md#getanchorto)(客户端) 获取控件自身锚点位置信息<!--by mayexing-->
1. 新增[SetClipOffset](../接口/自定义UI/UI控件.md#setclipoffset)(客户端) 设置控件的裁剪偏移信息<!--by mayexing-->
1. 新增[GetClipOffset](../接口/自定义UI/UI控件.md#getclipoffset)(客户端) 获取控件的裁剪偏移信息<!--by mayexing-->
1. 新增[SetClipsChildren](../接口/自定义UI/UI控件.md#setclipschildren)(客户端) 设置控件是否开启裁剪内容<!--by mayexing-->
1. 新增[GetClipsChildren](../接口/自定义UI/UI控件.md#getclipschildren)(客户端) 根据控件路径返回某控件是否开启裁剪内容<!--by mayexing-->
1. 新增[SetMaxSize](../接口/自定义UI/UI控件.md#setmaxsize)(客户端) 设置控件所允许的最大的大小值<!--by mayexing-->
1. 新增[GetMaxSize](../接口/自定义UI/UI控件.md#getmaxsize)(客户端) 获取控件所允许的最大的大小值<!--by mayexing-->
1. 新增[SetMinSize](../接口/自定义UI/UI控件.md#setminsize)(客户端) 设置控件所允许的最小的大小值<!--by mayexing-->
1. 新增[GetMinSize](../接口/自定义UI/UI控件.md#getminsize)(客户端) 获取控件所允许的最小的大小值<!--by mayexing-->
1. 新增[asStackPanel](../接口/自定义UI/UI控件.md#asstackpanel)(客户端) 将当前BaseUIControl转换为StackPanelUIControl实例<!--by mayexing-->
1. 新增[asInputPanel](../接口/自定义UI/UI控件.md#asinputpanel)(客户端) 将当前BaseUIControl转换为InputPanelUIControl实例<!--by mayexing-->
1. 新增[SetClipDirection](../接口/自定义UI/UI控件.md#setclipdirection)(客户端) 设置图片控件的裁剪方向<!--by mayexing-->
1. 新增[GetClipDirection](../接口/自定义UI/UI控件.md#getclipdirection)(客户端) 获取图片控件的裁剪方向<!--by mayexing-->
1. 新增[SetImageAdaptionType](../接口/自定义UI/UI控件.md#setimageadaptiontype)(客户端) 设置图片控件的图片适配方式以及信息<!--by mayexing-->
1. 新增[SetIsModal](../接口/自定义UI/UI控件.md#setismodal)(客户端) 设置当前面板是否为模态框<!--by mayexing-->
1. 新增[GetIsModal](../接口/自定义UI/UI控件.md#getismodal)(客户端) 判断当前面板是否为模态框<!--by mayexing-->
1. 新增[SetTextAlignment](../接口/自定义UI/UI控件.md#settextalignment)(客户端) 设置文本控件的文本对齐方式<!--by mayexing-->
1. 新增[GetTextAlignment](../接口/自定义UI/UI控件.md#gettextalignment)(客户端) 获取文本控件的文本对齐方式<!--by mayexing-->
1. 新增[SetTextLinePadding](../接口/自定义UI/UI控件.md#settextlinepadding)(客户端) 设置文本控件的行间距<!--by mayexing-->
1. 新增[GetTextLinePadding](../接口/自定义UI/UI控件.md#gettextlinepadding)(客户端) 获取文本控件的行间距<!--by mayexing-->
1. 新增[EnableTextShadow](../接口/自定义UI/UI控件.md#enabletextshadow)(客户端) 使文本控件显示阴影<!--by mayexing-->
1. 新增[DisableTextShadow](../接口/自定义UI/UI控件.md#disabletextshadow)(客户端) 关闭文本控件显示阴影<!--by mayexing-->
1. 新增[IsTextShadowEnabled](../接口/自定义UI/UI控件.md#istextshadowenabled)(客户端) 判断文本控件是否显示阴影<!--by mayexing-->
1. 新增[SetOrientation](../接口/自定义UI/UI控件.md#setorientation)(客户端) 设置stackPanel的排列方向<!--by mayexing-->
1. 新增[GetOrientation](../接口/自定义UI/UI控件.md#getorientation)(客户端) 获取stackPanel的排列方向<!--by mayexing-->
1. 新增[SerializeBlockPalette](../接口/方块/方块调色板.md#serializeblockpalette)(客户端/服务端) 序列化方块调色板中的数据,用于方块调色板在客户端及服务端的事件数据之间传输<!--by xujiarong02-->
1. 新增[DeserializeBlockPalette](../接口/方块/方块调色板.md#deserializeblockpalette)(客户端/服务端) 反序列化方块调色板数据字典中的数据,用于方块调色板在客户端及服务端的事件数据之间传输<!--by xujiarong02-->
1. 新增[GetBlockCountInBlockPalette](../接口/方块/方块调色板.md#getblockcountinblockpalette)(客户端/服务端) 获取方块调色板BlockPalette中某个类型的方块的数量<!--by xujiarong02-->
1. 新增[DeleteBlockInBlockPalette](../接口/方块/方块调色板.md#deleteblockinblockpalette)(客户端/服务端) 删除方块调色板BlockPalette中某个类型的方块<!--by xujiarong02-->
1. 新增[ReplaceBlockInBlockPalette](../接口/方块/方块调色板.md#replaceblockinblockpalette)(客户端/服务端) 替换方块调色板BlockPalette中某个类型的方块<!--by xujiarong02-->
1. 新增[ReplaceAirByStructureVoid](../接口/方块/方块调色板.md#replaceairbystructurevoid)(客户端/服务端) 设置是否将方块调色板BlockPalette中所有空气替换为结构空位<!--by xujiarong02-->
1. 新增[GetVolumeOfBlockPalette](../接口/方块/方块调色板.md#getvolumeofblockpalette)(客户端/服务端) 获取方块调色板BlockPalette所占据的长方体的长宽高<!--by xujiarong02-->
1. 新增[GetLocalPosListOfBlocks](../接口/方块/方块调色板.md#getlocalposlistofblocks)(客户端/服务端) 获取方块调色板中某种方块的相对位置列表<!--by xujiarong02-->
1. 新增[OnGroundServerEvent](../事件/实体.md#ongroundserverevent)(服务端) 服务端实体着地事件<!--by xusifan-->
1. 新增[FurnaceBurnFinishedServerEvent](../事件/物品.md#furnaceburnfinishedserverevent)(服务端) 服务端熔炉烧制触发事件<!--by huangxiaojie03-->
1. 新增[UIContainerItemChangedServerEvent](../事件/物品.md#uicontaineritemchangedserverevent)(服务端) 新增合成容器物品变化事件<!--by jishaobin-->
1. 新增[ContainerItemChangedServerEvent](../事件/物品.md#containeritemchangedserverevent)(服务端) 新增容器物品变化事件<!--by jishaobin-->
1. 新增[OnMobHitBlockServerEvent](../事件/实体.md#onmobhitblockserverevent)(服务端) 生物和方块碰撞事件<!--by gmy-->
1. 新增[HealthChangeBeforeServerEvent](../事件/实体.md#healthchangebeforeserverevent)(服务端) 生物生命值发生变化之前的事件<!--by gmy-->
1. 新增[EntityDroppedItemServerEvent](../事件/实体.md#entitydroppeditemserverevent)(服务端) 生物扔出物品时触发的事件<!--by xiegang-->
1. 新增[EntityPickupItemServerEvent](../事件/实体.md#entitypickupitemserverevent)(服务端) 生物拾取物品时触发的事件(玩家不触发)<!--by xiegang-->
1. 新增[OnPlayerBlockedByShieldBeforeServerEvent](../事件/物品.md#onplayerblockedbyshieldbeforeserverevent)(服务端) 玩家使用盾牌抵挡伤害之前触发的事件<!--by guanmingyu-->
1. 新增[OnPlayerBlockedByShieldAfterServerEvent](../事件/物品.md#onplayerblockedbyshieldafterserverevent)(服务端) 玩家使用盾牌抵挡伤害之后触发的事件<!--by guanmingyu-->
1. 新增[OnPlayerActiveShieldServerEvent](../事件/物品.md#onplayeractiveshieldserverevent)(服务端) 玩家激活盾牌触发的事件<!--by guanmingyu-->
1. 新增[BlockDestroyByLiquidServerEvent](../事件/方块.md#blockdestroybyliquidserverevent)(服务端) 方块被水流破坏的事件<!--by guanmingyu-->
1. 新增[FarmBlockToDirtBlockServerEvent](../事件/方块.md#farmblocktodirtblockserverevent)(服务端) 耕地退化为泥土时触发<!--by guanmingyu-->
1. 新增[DirtBlockToGrassBlockServerEvent](../事件/方块.md#dirtblocktograssblockserverevent)(服务端) 泥土方块变成草方块时触发<!--by guanmingyu-->
1. 新增[GrassBlockToDirtBlockServerEvent](../事件/方块.md#grassblocktodirtblockserverevent)(服务端) 草方块变成泥土方块时触发<!--by guanmingyu-->
1. 新增[PlayerDoInteractServerEvent](../事件/实体.md#playerdointeractserverevent)(服务端) 玩家与生物交互时触发的事件<!--by xiegang-->
1. 新增[BlockBreathability](../枚举值/BlockBreathability.md) 方块的可呼吸性<!--by xusifan-->
1. 新增[ItemCategory](../枚举值/ItemCategory.md) 物品所属创造栏类型<!--by xusifan-->
1. 新增[RenderControllerArrayType](../枚举值/RenderControllerArrayType.md) 渲染控制器字典中材质、贴图、模型的枚举值<!--by xiegang01-->
1. 新增[RenderLayer](../枚举值/RenderLayer.md) 方块渲染时的材质类型<!--by xusifan-->
- 调整
1. 调整[GetLiquidBlock](../接口/世界/方块管理.md#getliquidblock)(服务端) 增加一下备注<!--by guanmingyu-->
1. 调整[SetAddArea](../接口/世界/地图.md#setaddarea)(服务端) 新增fill指令说明<!--by jishaobin-->
1. 调整[SetBlockControlAi](../接口/实体/行为.md#setblockcontrolai)(服务端) 新增是否冻结动作的参数<!--by czh-->
1. 调整[GetEntitiesAround](../接口/世界/地图.md#getentitiesaround)(服务端) 增加过滤器中subject的说明<!--by jishaobin-->
1. 调整[CraftItemOutputChangeServerEvent](../事件/物品.md#craftitemoutputchangeserverevent)(服务端) 新增当前界面类型参数<!--by jishaobin-->
示例Demo下载地址[2.1 Demo](https://g79.gdl.netease.com/2.1DemoV5.zip)。

View File

@@ -0,0 +1,212 @@
# 2.10
2023.12.20版本号V2.10 BE1.18.30
包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html" rel="noopenner">前往此处下载</a>
## 一、更新时间表
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**日志到调试工具了,方便您更快定位错误,如图:
![图片](../picture/shadererrorlog.png)
### 2. 后处理参数拓展
本次我们为后处理自定义shader拓展了更多可用的参数现在你可以在后处理的shader中引用他们了包括
当前所在维度,天气类型、世界时间、下雨与打雷强度、星星角度、天空颜色、环境光亮度、相机位置,如下图,可在同一个后处理效果中,根据不同的环境光亮度实现不同的颜色滤镜效果,详见<a href="../../../mcguide/16-美术/7-材质与着色器/4-材质实战.html#自定义后处理" rel="noopenner">这篇文档</a>。
![图片](../picture/postprocessparam.png)
### 3. 支持拷贝玩家渲染参数到实体实例
现在你可以通过[CopyPlayerRenderMaterialToOneActor](../接口/实体/渲染.md#copyplayerrendermaterialtooneactor)系列接口将玩家的贴图、材质和几何体拷贝到指定实体的实例身上了,如图所示。
![图片](../picture/copytooneactor.png)
### 4. 支持动态注册与移除自定义配方接口
新增了[RemoveRecipe](../接口/世界/配方.md#removerecipe)和[AddRecipe](../接口/世界/配方.md#addrecipe)两个接口,用于动态移除和注册自定义配方。
![图片](../picture/recipe.png)
### 5. 方块实体NBT系列接口
对命令方块、漏斗、告示牌、物品展示框、酿造台等方块实体新增了设置和获取NBT属性的接口详情参考[GetCommandBlock](../接口/方块/方块实体.md#getcommandblock)系列接口。
![图片](../picture/NBT.png)
### 6. 支持创建带有附加值的抛射物
[CreateProjectileEntity](../接口/世界/实体管理.md#createprojectileentity)接口现在新增了auxvalue字段可以创建不同状态效果的箭头和喷溅药水了。
### 7. 游戏规则设置接口补充部分设置选项
根据原生游戏补充了重生方块爆炸和重生半径两个选项。
![图片](../picture/gamerule.png)
### 8. 方块实体支持客户端tick和卸载事件
新增client_tick字段配置可触发客户端tick事件详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/4-自定义方块实体.html" rel="noopenner">这篇文档</a>。
### 9. attrvalue支持更多属性
现在[GetAttrValue](../接口/实体/属性.md#getattrvalue)接口支持更多类型的属性了,如击退抗性、护甲值、跳跃力度。
### 10. ModAttr支持手动存档
与SaveExtraData接口类似我们为ModAttr组件也增加了[SaveAttr](../接口/实体/自定义属性.md#saveattr)接口,便于开发者手动存档所有属性。
### 11. 飞行接口细化
1. 我们调整了[ChangePlayerFlyState](../接口/玩家/行为.md#changeplayerflystate)接口,现在支持设置飞行权限时不立刻进入飞行状态
2. 新增了[IsPlayerCanFly](../接口/玩家/行为.md#isplayercanfly)接口判断是否具有飞行权限。
### 12. 其他更新与调整
1. 为了满足开发者对模型更高的精细度需求我们调整网易方块模型的精度从原有的0.25调整为0.0625现在精度大于0.0625的模型细节都将被保留。
2. 轨迹运动器支持调整插值类型,详见[AddEntityTrackMotion](../接口/实体/行为.md#addentitytrackmotion)接口。
3. 开发者在修改玩家或生物的模型贴图后,如希望恢复到进入游戏时的默认状态,现在可以使用[ResetActorRender](../接口/实体/渲染.md#resetactorrender)和[ResetSkin](../接口/玩家/渲染.md#resetskin)接口重置玩家和实体的渲染参数,回到初始状态。
4. 修复了原生游戏的[minecraft:structure_template_feature](https://learn.microsoft.com/en-us/minecraft/creator/reference/content/featuresreference/examples/features/minecraftstructure_template_feature?view=minecraft-bedrock-stable)特征无法正常生效的问题。
5. 为了提升大量设置方块场景下的效率,我们对[SetBlockNew](../接口/世界/方块管理.md#setblocknew)接口新增了是否更新相邻方块的参数若设置为false可提升该接口的运行效率。
6. 完善了PlaceStructure接口的参数参照原版指令新增动画模式、动画时间、是否包含实体、是否移除方块、镜像模式、完整性、种子等可选参数详见[PlaceStructure](../接口/世界/地图.md#placestructure)接口。
## 三、API更新
- 新增
1. 新增[IsHideNameTag](../接口/世界/渲染.md#ishidenametag)(客户端) 获取是否隐藏场景内所有名字<!--by xsf-->
1. 新增[GetWalkState](../接口/原生UI.md#getwalkstate)(客户端) 获取玩家行走/潜行/跑步状态<!--by xsf-->
1. 新增[SetCommandBlock](../接口/方块/方块实体.md#setcommandblock)(服务端) 对命令方块进行内容设置<!--by cxz-->
1. 新增[GetCommandBlock](../接口/方块/方块实体.md#getcommandblock)(服务端) 获取命令方块的设置内容<!--by cxz-->
1. 新增[ExecuteCommandBlock](../接口/方块/方块实体.md#executecommandblock)(服务端) 执行一次命令方块<!--by cxz-->
1. 新增[SetHopperSpeed](../接口/方块/方块实体.md#sethopperspeed)(服务端) 设置漏斗运输一个物品所需的时间单位红石刻1秒10刻默认值为4刻该设置存档<!--by cxz-->
1. 新增[GetHopperSpeed](../接口/方块/方块实体.md#gethopperspeed)(服务端) 获取漏斗运输一个物品所需的时间(单位:刻)<!--by cxz-->
1. 新增[SetSignTextStyle](../接口/方块/告示牌.md#setsigntextstyle)(服务端) 设置告示牌的文本样式<!--by cxz-->
1. 新增[GetSignTextStyle](../接口/方块/告示牌.md#getsigntextstyle)(服务端) 获取告示牌的文本样式信息<!--by cxz-->
1. 新增[SetFrameRotation](../接口/方块/方块实体.md#setframerotation)(服务端) 设置物品展示框里物品的顺时针旋转角度<!--by cxz-->
1. 新增[GetFrameRotation](../接口/方块/方块实体.md#getframerotation)(服务端) 获取物品展示框里物品的顺时针旋转角度<!--by cxz-->
1. 新增[SetFrameItemDropChange](../接口/方块/方块实体.md#setframeitemdropchange)(服务端) 设置点击物品展示框时生成掉落的几率默认为1<!--by cxz-->
1. 新增[GetFrameItemDropChange](../接口/方块/方块实体.md#getframeitemdropchange)(服务端) 获取物品展示框里物品的掉落几率<!--by cxz-->
1. 新增[SetFrameItem](../接口/方块/方块实体.md#setframeitem)(服务端) 设置物品展示框的物品<!--by cxz-->
1. 新增[GetFrameItem](../接口/方块/方块实体.md#getframeitem)(服务端) 获取物品展示框的物品<!--by cxz-->
1. 新增[IsPlayerCanFly](../接口/玩家/行为.md#isplayercanfly)(服务端) 获取玩家能否飞行<!--by xsf-->
1. 新增[SetBrewingStandSlotItem](../接口/方块/容器.md#setbrewingstandslotitem)(服务端) 设置酿造台指定槽位物品<!--by cxz-->
1. 新增[GetBrewingStandSlotItem](../接口/方块/容器.md#getbrewingstandslotitem)(服务端) 获取酿造台指定槽位物品<!--by cxz-->
1. 新增[GetAllEnchantsInfo](../接口/物品.md#getallenchantsinfo)(服务端) 服务端获取目前已注册的所有附魔信息<!--by xsf-->
1. 新增[SaveAttr](../接口/实体/自定义属性.md#saveattr)(服务端) 保存SetAttr设置的属性值<!--by cxz-->
1. 新增[SetOperatorCommandAbility](../接口/玩家/权限.md#setoperatorcommandability)(服务端) 设置玩家是否具有操作员命令权限<!--by cxz-->
1. 新增[SetTeleportAbility](../接口/玩家/权限.md#setteleportability)(服务端) 设置玩家能否使用TP指令<!--by cxz-->
1. 新增[SetPlayerMute](../接口/玩家/权限.md#setplayermute)(服务端) 设置玩家是否禁言,该接口的设置不存档<!--by cxz-->
1. 新增[SetPermissionLevel](../接口/玩家/权限.md#setpermissionlevel)(服务端) 设置玩家权限等级<!--by cxz-->
1. 新增[RemoveRecipe](../接口/世界/配方.md#removerecipe)(服务端) 动态禁用配方<!--by xsf-->
1. 新增[AddRecipe](../接口/世界/配方.md#addrecipe)(服务端) 动态注册配方<!--by xsf-->
1. 新增[ResetActorRender](../接口/实体/渲染.md#resetactorrender)(客户端) 增加重置实体渲染接口<!--by xsf-->
1. 新增[CopyPlayerRenderMaterialToOneActor](../接口/实体/渲染.md#copyplayerrendermaterialtooneactor)(客户端) 将渲染材质从某个玩家拷贝到某个生物上<!--by cxz-->
1. 新增[CopyPlayerGeometryToOneActor](../接口/实体/渲染.md#copyplayergeometrytooneactor)(客户端) 将渲染几何体从某个玩家拷贝到某个生物上<!--by cxz-->
1. 新增[RebuildRenderForOneActor](../接口/实体/渲染.md#rebuildrenderforoneactor)(客户端) 使用完entity类渲染接口后重建单个生物渲染控制器<!--by czx-->
1. 新增[ResetRenderForOneActor](../接口/实体/渲染.md#resetrenderforoneactor)(客户端) 将调用OneActor类渲染接口的生物重置回种群<!--by cxz-->
1. 新增[CopyPlayerTextureToOneActor](../接口/实体/渲染.md#copyplayertexturetooneactor)(客户端) 将贴图从某个玩家拷贝到某个生物上<!--by cxz-->
1. 新增[GetAllEnchantsInfo](../接口/物品.md#getallenchantsinfo)(客户端) 客户端获取目前已注册的所有附魔信息<!--by xsf-->
1. 新增[IsShowName](../接口/实体/渲染.md#isshowname)(客户端) 新增获取实体nametag是否按游戏默认逻辑显示<!--by xsf-->
1. 新增[ItemDurabilityChangedServerEvent](../事件/物品.md#itemdurabilitychangedserverevent)(服务端) 物品耐久度变化时触发该事件<!--by xsf-->
1. 新增[PlayerHungerChangeServerEvent](../事件/玩家.md#playerhungerchangeserverevent)(服务端) 玩家饥饿度变化事件<!--by xsf-->
1. 新增[ModBlockEntityRemoveClientEvent](../事件/方块.md#modblockentityremoveclientevent)(客户端) 客户端自定义方块实体卸载时触发<!--by xsf-->
1. 新增[ModBlockEntityTickClientEvent](../事件/方块.md#modblockentitytickclientevent)(客户端) 客户端自定义方块实体tick事件每秒20次<!--by xsf-->
1. 新增[AttrType](../枚举值/AttrType.md) 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH,AttrType.ARMOR的支持<!--by xsf-->
1. 新增[WalkState](../枚举值/WalkState.md) 玩家行走模式<!--by xsf-->
- 调整
1. 调整[AddEntityTrackMotion](../接口/实体/行为.md#addentitytrackmotion)(服务端) 增加插值类型<!--by xusifan-->
1. 调整[AddPlayerTrackMotion](../接口/玩家/行为.md#addplayertrackmotion)(服务端) 增加插值类型<!--by xusifan-->
1. 调整[SetAttrValue](../接口/实体/属性.md#setattrvalue)(服务端) 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH的支持<!--by xsf-->
1. 调整[GetAttrValue](../接口/实体/属性.md#getattrvalue)(服务端) 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH,AttrType.ARMOR的支持<!--by xsf-->
1. 调整[SetAttrMaxValue](../接口/实体/属性.md#setattrmaxvalue)(服务端) 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH的支持<!--by xsf-->
1. 调整[GetAttrMaxValue](../接口/实体/属性.md#getattrmaxvalue)(服务端) 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH的支持<!--by xsf-->
1. 调整[SetBlockNew](../接口/世界/方块管理.md#setblocknew)(服务端) 增加updateNeighbors参数设置是否触发相邻方块的更新<!--by czh-->
1. 调整[GetAllEffects](../接口/实体/状态效果.md#getalleffects)(服务端) 增加浮点型持续时间<!--by xsf-->
1. 调整[ChangePlayerFlyState](../接口/玩家/行为.md#changeplayerflystate)(服务端) 增加是否进入飞行状态参数<!--by xsf-->
1. 调整[SetGameRulesInfoServer](../接口/世界/游戏规则.md#setgamerulesinfoserver)(服务端) 增加了“重生方块爆炸”、“重生半径”的字段<!--by xsf-->
1. 调整[GetGameRulesInfoServer](../接口/世界/游戏规则.md#getgamerulesinfoserver)(服务端) 增加了“重生方块爆炸”、“重生半径”的字段<!--by xsf-->
1. 调整[PlaceStructure](../接口/世界/地图.md#placestructure)(服务端) 新增动画模式、动画时间、是否包含实体、是否移除方块、镜像模式、完整性、种子<!--by cxz-->
1. 调整[SetAttr](../接口/实体/自定义属性.md#setattr)(服务端) 新增autoSave用于控制当needRestore为True时是否立刻存档<!--by cxz-->
1. 调整[SetPlayerPrefixAndSuffixName](../接口/玩家/属性.md#setplayerprefixandsuffixname)(服务端) 新增名字颜色参数<!--by xsf-->
1. 调整[CreateProjectileEntity](../接口/世界/实体管理.md#createprojectileentity)(服务端) 增加auxvalue字段支持定义原生弓箭、喷溅药水auxvalue值<!--by xsf-->
1. 调整[GetAttrValue](../接口/实体/属性.md#getattrvalue)(客户端) 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH,AttrType.ARMOR的支持<!--by xsf-->
1. 调整[GetAttrMaxValue](../接口/实体/属性.md#getattrmaxvalue)(客户端) 新增对AttrType.FOLLOW_RANGE,AttrType.KNOCKBACK_RESISTANCE,AttrType.JUMP_STRENGTH的支持<!--by xsf-->
1. 调整[AddCameraTrackMotion](../接口/玩家/摄像机.md#addcameratrackmotion)(客户端) 增加插值类型<!--by xusifan-->
1. 调整[GetAllEffects](../接口/实体/状态效果.md#getalleffects)(客户端) 增加浮点型持续时间<!--by xsf-->
1. 调整[ResetSkin](../接口/玩家/渲染.md#resetskin)(客户端) 增加isSteve参数用于指定是否还原到Steve模型的皮肤,默认为True。当isSteve为False时则还原成资源中心中购买并穿戴的皮肤<!--by xsf-->
1. 调整[ServerItemTryUseEvent](../事件/物品.md#serveritemtryuseevent)(服务端) cancel设置为true后不再触发ItemUseAfterServerEvent<!--by xsf-->
1. 调整[ActorUseItemServerEvent](../事件/物品.md#actoruseitemserverevent)(服务端) 喝牛奶支持触发该事件<!--by xsf-->
1. 调整[PlayerEatFoodServerEvent](../事件/玩家.md#playereatfoodserverevent)(服务端) 支持蛋糕、牛奶触发该事件<!--by xsf-->
1. 调整[PushScreenEvent](../事件/UI.md#pushscreenevent)(客户端) 新增screenDef参数返回包含命名空间的UI名字<!--by czh-->
1. 调整[PopScreenEvent](../事件/UI.md#popscreenevent)(客户端) 新增screenDef参数返回包含命名空间的UI名字<!--by czh-->
1. 调整[PopScreenAfterClientEvent](../事件/UI.md#popscreenafterclientevent)(客户端) 新增screenDef参数返回包含命名空间的UI名字<!--by czh-->
1. 调整[OnItemSlotButtonClickedEvent](../事件/UI.md#onitemslotbuttonclickedevent)(客户端) 增加盔甲栏、副手栏触发<!--by xsf-->

View File

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

View File

@@ -0,0 +1,105 @@
# 2.12
2024.05.23版本号V2.12 BE1.20.10
包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html" rel="noopenner">前往此处下载</a>
## 一、更新时间表
1. 在2024年5月23日上线2.12第一个Beta版。
2. 在2024年6月6日上线2.12第二个Beta版。
3. 在2024年6月20日上线2.12稳定版。
4. 在2024年6月28日全渠道将更新2.12版本玩家包体玩家将陆续更新到2.12版本,请开发者合理安排更新节奏。
## 二、重要功能更新
1. 由于部分物品的名称与附加值存在变更物品信息字典对ItemName及AuxValue字段以兼容详见<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/2-Python脚本开发/100-2.12版本物品id变更.html" rel="noopenner"> 2.12版本物品id变更 </a>。
2. /clone、/execute、/fill、/setblock、/testforblock指令写法变更移除了数据参数例如/setblock ~ ~ ~ minecraft:wool 1现在需要改写为/setblock ~ ~ ~ minecraft:wool ["color":"orange"]。**2.12版本对旧版指令写法兼容,推荐使用新版写法。**
3. 2.12版本带来众多枚举值更新
## 三、API更新
- 新增
1. 新增[EnableFontBatchRender](../接口/自定义UI/通用.md#enablefontbatchrender)(客户端) 是否开启字体合批<!--by gx-->
- 调整
1. 调整[SetSignTextStyle](../接口/方块/告示牌.md#setsigntextstyle)(服务端) 支持告示牌文本样式的双面设置<!--by gx-->
1. 调整[GetSignTextStyle](../接口/方块/告示牌.md#getsigntextstyle)(服务端) 支持告示牌文本样式的双面设置<!--by gx-->
1. 调整[GetSignBlockText](../接口/方块/告示牌.md#getsignblocktext)(服务端) 支持告示牌文本的双面设置<!--by gx-->
1. 调整[SetSignBlockText](../接口/方块/告示牌.md#setsignblocktext)(服务端) 支持告示牌文本的双面设置<!--by gx-->
1. 调整[OnContainerFillLoottableServerEvent](../事件/世界.md#oncontainerfillloottableserverevent)(服务端) 适配使用刷子刷可疑的沙子<!--by xgb-->
1. 调整[GetBlockStates](../接口/方块/方块状态与附加值.md#getblockstates)(服务端) 基岩版1.19更新后部分包含多个种类的方块例如羊毛类珊瑚类栅栏类等类型的方块被拆分成单独的方块拥有新的identifier及方块附加值因此原来的方块附加值及部分方块状态不再适用也请注意尽量使用新的方块identifier。<!--by xjr-->
1. 调整[SetBlockStates](../接口/方块/方块状态与附加值.md#setblockstates)(服务端) 基岩版1.19更新后部分包含多个种类的方块例如羊毛类珊瑚类栅栏类等类型的方块被拆分成单独的方块拥有新的identifier及方块附加值因此原来的方块附加值及部分方块状态不再适用也请注意尽量使用新的方块identifier。<!--by xjr-->
1. 调整[GetBlockAuxValueFromStates](../接口/方块/方块状态与附加值.md#getblockauxvaluefromstates)(服务端) 基岩版1.19更新后部分包含多个种类的方块例如羊毛类珊瑚类栅栏类等类型的方块被拆分成单独的方块拥有新的identifier及方块附加值因此原来的方块附加值及部分方块状态不再适用也请注意尽量使用新的方块identifier。<!--by xjr-->
1. 调整[GetBlockStatesFromAuxValue](../接口/方块/方块状态与附加值.md#getblockstatesfromauxvalue)(服务端) 基岩版1.19更新后部分包含多个种类的方块例如羊毛类珊瑚类栅栏类等类型的方块被拆分成单独的方块拥有新的identifier及方块附加值因此原来的方块附加值及部分方块状态不再适用也请注意尽量使用新的方块identifier。<!--by xjr-->
1. 调整[AddRecipe](../接口/世界/配方.md#addrecipe)(服务端) 基岩版1.20更新后,酿造台的药水槽每次只能放进一个物品,无法一次放入两个及以上数量的物品。<!--by xjr-->
1. 调整[GetRecipeResult](../接口/世界/配方.md#getreciperesult)(服务端) 返回的配方列表中的输入物品里item'字段对应的值有可能为列表类型(list),也可能为字符串类型(str)<!--by xjr-->
1. 调整[GetRecipesByResult](../接口/世界/配方.md#getrecipesbyresult)(服务端) 返回的配方列表中的输入物品里item'字段对应的值有可能为列表类型(list),也可能为字符串类型(str)<!--by xjr-->
1. 调整[GetRecipesByInput](../接口/世界/配方.md#getrecipesbyinput)(服务端) 返回的配方列表中的输入物品里item'字段对应的值有可能为列表类型(list),也可能为字符串类型(str)<!--by xjr-->
1. 调整[GetRecipesByResult](../接口/世界/配方.md#getrecipesbyresult)(客户端) 返回的配方列表中的输入物品里item'字段对应的值有可能为列表类型(list),也可能为字符串类型(str)<!--by xjr-->
1. 调整[GetRecipesByInput](../接口/世界/配方.md#getrecipesbyinput)(客户端) 返回的配方列表中的输入物品里item'字段对应的值有可能为列表类型(list),也可能为字符串类型(str)<!--by xjr-->
1. 调整[ActorDamageCause](../枚举值/ActorDamageCause.md)枚举新增SonicBoom(音波尖啸)、Campfire(营火) 、SoulCampfire(灵魂营火)。
1. 调整[ItemUseMethodEnum](../枚举值/ItemUseMethodEnum.md)枚举新增BrushingCompleted(刷子清刷完毕)。
1. 调整[StructureFeatureType](../枚举值/StructureFeatureType.md)枚举新增AncientCity(远古城市)、TrailRuins(古迹废墟)、NeteaseLargeFeature(网易版大型结构特征)。
1. 调整[EntityType](../枚举值/EntityType.md)枚举新增Warden(坚守者)、Frog(青蛙)、Tadpole(蝌蚪)、Allay(悦灵)、ChestBoatRideable(可乘骑运输船)、TraderLlama(行商羊驼)、Camel(骆驼)、Sniffer(嗅探兽)。
1. 调整[EnchantType](../枚举值/EnchantType.md)枚举新增SwiftSneak(迅捷潜行)调整NumEnchantments(附魔种数)和InvalidEnchantment(无效附魔)的顺序。
1. 调整[BiomeType](../枚举值/BiomeType.md)枚举新增deep_dark(深暗之域)、mangrove_swamp(红树林沼泽)、cherry_grove(樱花树林)。
1. 调整[EffectType](../枚举值/EffectType.md)枚举新增DARKNESS(黑暗状态效果)。
1. 调整[UseAnimation](../枚举值/UseAnimation.md)枚举新增Brush(刷)。
1. 调整[EnchantSlotType](../枚举值/EnchantSlotType.md)枚举新增BRUSH(刷子)。
1. 调整[OpenContainerId](../枚举值/OpenContainerId.md)枚举新增SmithingTableTemplateContainer(锻造台模板位)、GrindstoneResultPreviewContainer(砂轮预览位)、RecipeBookContainer(配方位)。
1. 调整[ContainerType](../枚举值/ContainerType.md)枚举新增CHEST_BOAT(运输船)。
1. 调整[PlayerUISlot](../枚举值/PlayerUISlot.md)枚举新增SmithingTableTemplate(锻造台模板位)。
1. 调整[AttributeBuffType](../枚举值/AttributeBuffType.md)枚举新增SelfDestruct(自毁)。
1. 调整[GameType](../枚举值/GameType.md)枚举新增Spectator(旁观模式)。
- 修复
1. 修复[GetChinese](../接口/通用/工具.md#getchinese)(服务端) 返回值添加字符编码描述<!--by qiuyukun-->
1. 修复[GetRiders](../接口/实体/行为.md#getriders)(服务端) 修复返回值描述为list(dict)<!--by qiuyukun-->
1. 修复[GetChinese](../接口/通用/工具.md#getchinese)(客户端) 返回值添加字符编码描述<!--by qiuyukun-->
1. 修复[ClientChestOpenEvent](../事件/UI.md#clientchestopenevent)(客户端) 末影龙箱子修改为末影箱,补充实体容器相关描述<!--by qiuyukun-->
1. 修复[ClientChestCloseEvent](../事件/UI.md#clientchestcloseevent)(客户端) 末影龙箱子修改为末影箱,补充实体容器相关描述<!--by qiuyukun-->

View File

@@ -0,0 +1,162 @@
# 2.2
2022.6.21版本号v2.2 BE1.18.0
包括Mod PC包手机测试版启动器和服务器引擎。
- 温馨提示
在6月7日上线2.2第一个beta版。
在6月21日上线2.2第二个beta版。
在6月30日上线2.2的稳定版。
在7月8日全渠道将更新2.2版本玩家包体玩家将陆续更新到2.2版本,请开发者合理安排更新节奏。
下载[2.2 Demo](https://g79.gdl.netease.com/2.2BetaDemoV4.zip)。
- 新增重大功能介绍
1. 新增对微软粒子的创建,播放控制和挂接支持,详见[微软粒子](../接口/特效/微软粒子.md)
![微软粒子1](../picture/wrlz.gif)
2. 自定义方块自由模型的每张贴图支持最大64×64关于自定义方块模型的制作请参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/5-自定义方块模型.html">这篇文档</a>。
3. 方块几何体模型支持门、床、活塞、粘性活塞、告示牌、箱子类方块
![方块合并网格体](../picture/fkhewgt.png)
4. 自定义方块及自定义方块模型的群系颜色,详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/2-功能.html#自定义方块及自定义方块模型的群系颜色(2.2beta版本内容)" rel="noopenner"> 这篇文档 </a>
![方块群系](../picture/fkqx.png)
5. 部分UI控件支持属性动画详见<a href="../../../mcguide/18-界面与交互/19-控件属性动画.html" rel="noopenner"> 这篇文档 </a>。
6. 新增自定义成就系统,支持开发者定义自己的成就事件并展示,详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/16-自定义成就系统.html" rel="noopenner">自定义成就</a>
![achievementWindow](../picture/achievementWindow.png)
- 特殊说明
自定义维度中如果使用了群系地貌netease_biomes目录中定义则默认使用2d群系规则。
**注在2.2以及之后的版本我们对自定义生物的移动流量进行了优化距离玩家较远的生物会出现瞬移的情况如果感觉效果较差可在components手动添加netease:ban_bandwidth_optimization:{}组件来主动关闭此优化**
- 新增
1. 新增[GetRotFromDir](../接口/通用/数学.md#getrotfromdir)(服务端) 通过玩家当前朝向获取旋转角度<!--by xujiarong-->
1. 新增[GetRotFromDir](../接口/通用/数学.md#getrotfromdir)(客户端) 通过玩家当前朝向获取旋转角度<!--by xujiarong-->
1. 新增[GetNodeDetailInfo](../接口/自定义UI/自定义成就系统.md#getnodedetailinfo)(服务端) 获取自定义成就系统的成就节点信息的接口<!--by cxz-->
1. 新增[SetNodeFinish](../接口/自定义UI/自定义成就系统.md#setnodefinish)(服务端) 设置自定成就系统某个成就节点完成的接口<!--by cxz-->
1. 新增[AddNodeProgress](../接口/自定义UI/自定义成就系统.md#addnodeprogress)(服务端) 添加自定义成就系统成就节点进度的接口<!--by cxz-->
1. 新增[GetChildrenNode](../接口/自定义UI/自定义成就系统.md#getchildrennode)(服务端) 获得自定义成就系统中某成就节点的下一级所有孩子节点的接口<!--by cxz-->
1. 新增[LobbyGetAchievementStorage](../接口/成就.md#lobbygetachievementstorage)(服务端) 获取云成就存储进度的数据接口<!--by cxz-->
1. 新增[LobbySetAchievementStorage](../接口/成就.md#lobbysetachievementstorage)(服务端) 添加云成就成就进度的数据接口<!--by cxz-->
1. 新增[SetActorBlockGeometryOffset](../接口/方块/方块几何体模型.md#setactorblockgeometryoffset)(客户端) 设置实体的方块几何体模型的位置偏移。<!--by xujiarong02-->
1. 新增[SetActorBlockGeometryRotation](../接口/方块/方块几何体模型.md#setactorblockgeometryrotation)(客户端) 设置实体的方块几何体模型的旋转角度。<!--by xujiarong02-->
1. 新增[EnableActorBlockGeometryTransparent](../接口/方块/方块几何体模型.md#enableactorblockgeometrytransparent)(客户端) 设置是否允许实体的方块几何体模型产生透明度。<!--by xujiarong02-->
1. 新增[SetActorBlockGeometryTransparency](../接口/方块/方块几何体模型.md#setactorblockgeometrytransparency)(客户端) 设置实体的方块几何体模型的透明度。<!--by xujiarong02-->
1. 新增[Create](../接口/特效/微软粒子.md#create)(客户端) 创建粒子发射器<!--by dengruitao-->
1. 新增[CreateBindEntity](../接口/特效/微软粒子.md#createbindentity)(客户端) 创建粒子发射器并绑定实体<!--by dengruitao-->
1. 新增[EmitManually](../接口/特效/微软粒子.md#emitmanually)(客户端) 手动发射粒子<!--by dengruitao-->
1. 新增[BindEntity](../接口/特效/微软粒子.md#bindentity)(客户端) 绑定粒子发射器到指定实体<!--by dengruitao-->
1. 新增[Unbind](../接口/特效/微软粒子.md#unbind)(客户端) 解除粒子发射器绑定<!--by dengruitao-->
1. 新增[SetRelative](../接口/特效/微软粒子.md#setrelative)(客户端) 设置粒子是否在局部空间进行计算<!--by dengruitao-->
1. 新增[GetBindingID](../接口/特效/微软粒子.md#getbindingid)(客户端) 获取粒子发射器绑定的目标ID<!--by dengruitao-->
1. 新增[Remove](../接口/特效/微软粒子.md#remove)(客户端) 销毁指定粒子发射器<!--by dengruitao-->
1. 新增[RemoveByName](../接口/特效/微软粒子.md#removebyname)(客户端) 销毁所有具有指定identifier的粒子发射器<!--by dengruitao-->
1. 新增[Exist](../接口/特效/微软粒子.md#exist)(客户端) 判断指定粒子发射器是否存在<!--by dengruitao-->
1. 新增[Play](../接口/特效/微软粒子.md#play)(客户端) 播放粒子发射器<!--by dengruitao-->
1. 新增[Stop](../接口/特效/微软粒子.md#stop)(客户端) 停止粒子发射器播放<!--by dengruitao-->
1. 新增[Hide](../接口/特效/微软粒子.md#hide)(客户端) 隐藏粒子发射器<!--by dengruitao-->
1. 新增[Show](../接口/特效/微软粒子.md#show)(客户端) 显示粒子发射器<!--by dengruitao-->
1. 新增[Pause](../接口/特效/微软粒子.md#pause)(客户端) 暂停粒子发射器更新<!--by dengruitao-->
1. 新增[Resume](../接口/特效/微软粒子.md#resume)(客户端) 恢复粒子发射器更新<!--by dengruitao-->
1. 新增[Replay](../接口/特效/微软粒子.md#replay)(客户端) 重播粒子发射器<!--by dengruitao-->
1. 新增[PlayAt](../接口/特效/微软粒子.md#playat)(客户端) 设置粒子发射器播放时间点<!--by dengruitao-->
1. 新增[IsPausing](../接口/特效/微软粒子.md#ispausing)(客户端) 判断粒子发射器是否被暂停<!--by dengruitao-->
1. 新增[IsHiding](../接口/特效/微软粒子.md#ishiding)(客户端) 判断粒子发射器是否被隐藏<!--by dengruitao-->
1. 新增[SetPos](../接口/特效/微软粒子.md#setpos)(客户端) 设置粒子发射器位置<!--by dengruitao-->
1. 新增[GetPos](../接口/特效/微软粒子.md#getpos)(客户端) 获取粒子发射器位置<!--by dengruitao-->
1. 新增[SetRot](../接口/特效/微软粒子.md#setrot)(客户端) 设置粒子发射器旋转<!--by dengruitao-->
1. 新增[GetRot](../接口/特效/微软粒子.md#getrot)(客户端) 获取粒子发射器旋转<!--by dengruitao-->
1. 新增[SetTimeScale](../接口/特效/微软粒子.md#settimescale)(客户端) 设置粒子发射器播放速度<!--by dengruitao-->
1. 新增[GetTimeScale](../接口/特效/微软粒子.md#gettimescale)(客户端) 获取粒子发射器播放速度<!--by dengruitao-->
1. 新增[GetDuration](../接口/特效/微软粒子.md#getduration)(客户端) 获取粒子发射器播放周期<!--by dengruitao-->
1. 新增[GetActiveDuration](../接口/特效/微软粒子.md#getactiveduration)(客户端) 获取粒子发射器激活周期<!--by dengruitao-->
1. 新增[GetSleepDuration](../接口/特效/微软粒子.md#getsleepduration)(客户端) 获取粒子发射器休眠周期<!--by dengruitao-->
1. 新增[GetLoopAge](../接口/特效/微软粒子.md#getloopage)(客户端) 获取粒子发射器周期内已播放时间<!--by dengruitao-->
1. 新增[GetVariable](../接口/特效/微软粒子.md#getvariable)(客户端) 获取粒子发射器的Molang变量值<!--by dengruitao-->
1. 新增[SetVariable](../接口/特效/微软粒子.md#setvariable)(客户端) 设置粒子发射器的Molang变量值<!--by dengruitao-->
1. 新增[GetFacingMode](../接口/特效/微软粒子.md#getfacingmode)(客户端) 返回粒子发射器的粒子朝向模式<!--by dengruitao-->
1. 新增[resetAnimation](../接口/自定义UI/UI控件.md#resetanimation)(客户端) 重置该控件的动画<!--by panlei-->
1. 新增[SetButtonScreenExitCallback](../接口/自定义UI/UI控件.md#setbuttonscreenexitcallback)(客户端) 设置按钮所在画布退出时若鼠标仍未抬起时触发回调函数<!--by panlei-->
1. 新增[SetOffsetDelta](../接口/自定义UI/UI控件.md#setoffsetdelta)(客户端) 设置点击面板的拖拽偏移量<!--by panlei-->
1. 新增[GetOffsetDelta](../接口/自定义UI/UI控件.md#getoffsetdelta)(客户端) 获得点击面板的拖拽偏移量<!--by panlei-->
1. 新增[OnMobHitMobServerEvent](../事件/实体.md#onmobhitmobserverevent)(服务端) 生物碰撞事件<!--by wdd-->
1. 新增[OnMobHitMobClientEvent](../事件/实体.md#onmobhitmobclientevent)(客户端) 生物碰撞事件<!--by wdd-->
- 调整
1. 调整[SetPlayerRideEntity](../接口/玩家/行为.md#setplayerrideentity)(服务端) 支持骑乘船与矿车<!--by czh-->
1. 调整[SetRiderRideEntity](../接口/实体/行为.md#setriderrideentity)(服务端) 支持骑乘船与矿车<!--by czh-->
- 废弃(将在未来不可用)
1. 废弃OnPlayerHitMobServerEvent添加了新事件OnMobHitMobServerEvent代替该事件
1. 废弃OnPlayerHitMobClientEvent添加了新事件OnMobHitMobClientEvent代替该事件

View File

@@ -0,0 +1,98 @@
# 2.3
2022.8.23版本号v2.3 BE1.18.0
包括Mod PC包手机测试版启动器和服务器引擎。
- 温馨提示
在8月23日上线2.3第一个beta版。
在9月6日上线2.3第二个beta版。
在9月15日上线2.3的稳定版。
在9月23日全渠道将更新2.3版本玩家包体玩家将陆续更新到2.3版本,请开发者合理安排更新节奏。
下载[2.3 Demo](https://g79.gdl.netease.com/2.3DemoV2.zip)。
## 新增重大功能介绍
### 1. 自定义地形高度
新增了2种高度控制节点开发者可将其配置在群系配置文件中灵活控制指定群系下不同位置地形的高度。
例如下图就是使用新版的填充节点实现的效果。
详情参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/2-群系地貌.html#5.自定义群系高度(网易版)">这篇文档</a>。
![自定义地形高度1](../picture/zdydxgd1.png)
### 2. 支持骨骼模型挂接微软粒子
详情请见[微软粒子接口](../接口/特效/微软粒子.md#bindmodel)
![微软粒子1](../picture/skeleton_model_with_particle.gif)
### 3. colormap支持对方块指定面生效
详情参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/2-功能.html#自定义方块及自定义方块模型的群系颜色">这篇文档</a>。
![corlormap](../picture/colormap.png)
### 4. 实体支持接口设置网格体和贴图
详情见[实体接口](../接口/实体/渲染.md#AddActorGeometry)
![实体设置网格体](../picture/entitysetgeo.png)
## API改动
### 新增
1. 新增[PlayHudHeartBlinkAnim](../接口/原生UI.md#playhudheartblinkanim)(客户端) 播放原版受伤时血量变化的动画<!--by wangjian18-->
2. 新增[SetPlayerUIItem](../接口/方块/容器.md#setplayeruiitem)(服务端) 设置合成容器的物品<!--by wangdingdong-->
3. 新增[AddActorGeometry](../接口/实体/渲染.md#addactorgeometry)(客户端) 增加生物渲染几何体<!--by wangdingdong-->
4. 新增[RemoveActorGeometry](../接口/实体/渲染.md#removeactorgeometry)(客户端) 删除生物渲染几何体<!--by wangdingdong-->
5. 新增[AddActorTexture](../接口/实体/渲染.md#addactortexture)(客户端) 增加生物渲染贴图<!--by wangdingdong-->
6. 新增[RemoveActorTexture](../接口/实体/渲染.md#removeactortexture)(客户端) 删除生物渲染贴图<!--by wangdingdong-->
7. 新增[SetPlayerItemInHandVisible](../接口/玩家/渲染.md#setplayeriteminhandvisible)(客户端) 设置是否隐藏玩家的手持物品模型显示<!--by xujiarong02-->
8. 新增[GetBlockTextures](../接口/方块/渲染.md#getblocktextures)(客户端) 获取方块的初始贴图信息<!--by wangdingdong-->
9. 新增[SetEmoteSwitch](../接口/原生UI.md#setemoteswitch)(客户端) 设置表情开关<!--by huangxiaojie03-->
10. 新增[BindModel](../接口/特效/微软粒子.md#bindmodel)(客户端) 绑定粒子发射器到骨骼模型上<!--by wangdingdong-->
11. 新增[GetBindingModleID](../接口/特效/微软粒子.md#getbindingmodleid)(客户端) 获取粒子发射器绑定的骨骼模型id<!--by wangdingdong-->
12. 新增[AchievementCompleteEvent](../事件/世界.md#achievementcompleteevent)(服务端) 玩家完成自定义成就的事件<!--by cxz-->
13. 新增[AddPlayerCreatedClientEvent](../事件/世界.md#addplayercreatedclientevent)(客户端) 增加客户端其他玩家进入区块AOI后资源加载完成的事件<!--by wdd-->
### 调整
1. 调整[GetPlayerList](../接口/世界/实体管理.md#getplayerlist)(服务端) 返回列表按照id进行排序<!--by wdd-->
2. 调整[SetAttrValue](../接口/实体/属性.md#setattrvalue)(服务端) 设置值超过float表示范围时返回False<!--by wangdingdong-->
3. 调整[SetAttrMaxValue](../接口/实体/属性.md#setattrmaxvalue)(服务端) 设置值超过float表示范围时返回False<!--by wangdingdong-->
4. 调整[RegisterBlockPatterns](../接口/世界/方块组合.md#registerblockpatterns)(服务端) 已有相同pattern以及defines组合的合成时返回False<!--by wdd-->
5. 调整[SetBlockNew](../接口/世界/方块管理.md#setblocknew)(服务端) 增加参数isLegacy默认为False即使用最新版本的aux对应的state<!--by wdd-->
6. 调整[OnPlayerActiveShieldServerEvent](../事件/物品.md#onplayeractiveshieldserverevent)(服务端) 在潜行状态切换盾牌也会触发该事件<!--by czh-->
7. 调整[StartRidingClientEvent](../事件/实体.md#startridingclientevent)(客户端) 删除cancel参数客户端触发事件时玩家已经上马<!--by xusifan-->
### 废弃(将在未来不可用)
1. 废弃UnDefineEvent监听自定义事件前不再需要DefineEvent所以也不再需要使用UnDefineEvent

View File

@@ -0,0 +1,158 @@
# 2.4
2022.11.08版本号v2.4 BE1.18.0
包括Mod PC包手机测试版启动器和服务器引擎。
### 温馨提示
1. 在10月27日上线2.4第一个beta版。
2. 在11月8日上线2.4的稳定版。
3. 在11月25日全渠道将更新2.4版本玩家包体玩家将陆续更新到2.4版本,请开发者合理安排更新节奏。
4. 下载[2.4 Demo](https://g79.gdl.netease.com/2.4DemoV4.zip)。
## 重大功能介绍
### 1. 实体&玩家运动器接口
对实体和玩家分别新增了三套不同类型的运动器接口,可用于控制实体玩家的运动轨迹:
1. 轨迹运动器:用于驱动实体、玩家从一点到另一点的直线运动。
![轨迹运动器](../picture/trackmotion.gif)
2. 速度运动器:用于驱动实体、玩家根据初速度和加速度进行匀速/变速运动。
![速度运动器](../picture/velocitymotion.gif)
3. 环绕运动器:用于驱动实体、玩家环绕指定坐标或指定实体运动。
![环绕运动器](../picture/rotatemotion.gif)
详情请参考[实体运动器接口](../接口/实体/行为.md#addentitytrackmotion)和[玩家运动器接口](../接口/玩家/行为.md#addplayertrackmotion)
### 2. 自定义地形高度:增加替换节点
新增了1种高度控制节点替换节点开发者可将其配置在群系配置文件中灵活控制和替换地形中的方块。
例如下图就是使用新版的替换节点实现的效果。
详情参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/2-群系地貌.html#5.自定义群系高度(网易版)">这篇文档</a>。
![自定义地形高度1](../picture/custom_height_66.png)
### 3. 原生UI控制接口补充
1. 新增了一系列接口补充了对原生UI的动态开启/关闭支持,详见接口[原生UI](../接口/原生UI.md)
2. 新增了获取和弹出所有UI堆栈顶的接口覆盖支持了自定义UI和原生UI两种类型详见接口[GetTopUI](../接口/自定义UI/通用.md#gettopui)
### 4. UI支持渲染方块网格体
新增了[渲染方块网格体模型接口](../接口/自定义UI/UI控件.md#renderblockgeometrymodel)支持将方块网格体数据渲染至UI可配合纸娃娃控件达成拖拽旋转效果。
![渲染网格体](../picture/uimesh.gif)
## API改动
### 新增
1. 新增[HidePauseGUI](../接口/原生UI.md#hidepausegui)(客户端) 隐藏暂停按钮原生UI<!--by hxj-->
2. 新增[HideChatGUI](../接口/原生UI.md#hidechatgui)(客户端) 隐藏聊天按钮原生UI<!--by hxj-->
3. 新增[HideReportGUI](../接口/原生UI.md#hidereportgui)(客户端) 隐藏举报按钮原生UI<!--by hxj-->
4. 新增[HideFoldGUI](../接口/原生UI.md#hidefoldgui)(客户端) 隐藏下拉按钮原生UI<!--by hxj-->
5. 新增[HideEmoteGUI](../接口/原生UI.md#hideemotegui)(客户端) 打开表情界面<!--by hxj-->
6. 新增[HideVoiceGUI](../接口/原生UI.md#hidevoicegui)(客户端) 隐藏语音按钮原生UI<!--by hxj-->
7. 新增[GetTopUI](../接口/自定义UI/通用.md#gettopui)(客户端) 获取UI堆栈栈顶的UI名称可获得原生UI也可获得PushScreen生成的UI<!--by cxz-->
8. 新增[PopTopUI](../接口/自定义UI/通用.md#poptopui)(客户端) 弹出UI堆栈栈顶的UI<!--by cxz-->
9. 新增[OpenPauseGui](../接口/原生UI.md#openpausegui)(客户端) 打开原版暂停界面<!--by hxj-->
10. 新增[OpenFoldGui](../接口/原生UI.md#openfoldgui)(客户端) 打开原版下拉界面<!--by hxj-->
11. 新增[OpenVoiceGui](../接口/原生UI.md#openvoicegui)(客户端) 打开原版语音界面<!--by hxj-->
12. 新增[OpenReportGui](../接口/原生UI.md#openreportgui)(客户端) 打开原版举报界面<!--by hxj-->
13. 新增[OpenEmoteGui](../接口/原生UI.md#openemotegui)(客户端) 打开表情界面<!--by hxj-->
14. 新增[AddEntityTrackMotion](../接口/实体/行为.md#addentitytrackmotion)(服务端) 给实体(不含玩家)添加轨迹运动器<!--by wangdingdong-->
15. 新增[AddEntityVelocityMotion](../接口/实体/行为.md#addentityvelocitymotion)(服务端) 给实体(不含玩家)添加速度运动器<!--by wangdingdong-->
16. 新增[AddEntityAroundPointMotion](../接口/实体/行为.md#addentityaroundpointmotion)(服务端) 给实体(不含玩家)添加对点环绕运动器<!--by wangdingdong-->
17. 新增[AddEntityAroundEntityMotion](../接口/实体/行为.md#addentityaroundentitymotion)(服务端) 给实体(不含玩家)添加对实体环绕运动器<!--by wangdingdong-->
18. 新增[GetEntityMotions](../接口/实体/行为.md#getentitymotions)(服务端) 获取实体(不含玩家)身上所有运动器<!--by wangdingdong-->
19. 新增[RemoveEntityMotion](../接口/实体/行为.md#removeentitymotion)(服务端) 移除实体(不含玩家)身上的运动器<!--by wangdingdong-->
20. 新增[StartEntityMotion](../接口/实体/行为.md#startentitymotion)(服务端) 启动实体(不含玩家)身上的某个运动器<!--by wangdingdong-->
21. 新增[StopEntityMotion](../接口/实体/行为.md#stopentitymotion)(服务端) 停止实体(不含玩家)身上的某个运动器<!--by wangdingdong-->
22. 新增[AddPlayerTrackMotion](../接口/玩家/行为.md#addplayertrackmotion)(服务端) 给玩家添加轨迹运动器<!--by wangdingdong-->
23. 新增[AddPlayerVelocityMotion](../接口/玩家/行为.md#addplayervelocitymotion)(服务端) 给玩家添加速度运动器<!--by wangdingdong-->
24. 新增[AddPlayerAroundPointMotion](../接口/玩家/行为.md#addplayeraroundpointmotion)(服务端) 给玩家添加对点环绕运动器<!--by wangdingdong-->
25. 新增[AddPlayerAroundEntityMotion](../接口/玩家/行为.md#addplayeraroundentitymotion)(服务端) 给玩家添加对实体环绕运动器<!--by wangdingdong-->
26. 新增[GetFps](../接口/通用/工具.md#getfps)(客户端),获取当前客户端的fps<!--by huangxiaojie03-->
27. 新增[GetPlayerMotions](../接口/玩家/行为.md#getplayermotions)(服务端) 获取玩家身上所有运动器<!--by wangdingdong-->
28. 新增[RemovePlayerMotion](../接口/玩家/行为.md#removeplayermotion)(服务端) 移除玩家身上的运动器<!--by wangdingdong-->
29. 新增[StartPlayerMotion](../接口/玩家/行为.md#startplayermotion)(服务端) 启动玩家身上的某个运动器<!--by wangdingdong-->
30. 新增[StopPlayerMotion](../接口/玩家/行为.md#stopplayermotion)(服务端) 停止玩家身上的某个运动器<!--by wangdingdong-->
31. 新增[HideShopGate](../接口/商城.md#hideshopgate)(客户端) 隐藏网易商城入口<!--by cxz-->
32. 新增[ShowShopGate](../接口/商城.md#showshopgate)(客户端) 显示网易商城入口<!--by cxz-->
33. 新增[OpenShopWindow](../接口/商城.md#openshopwindow)(客户端) 打开网易商城窗口<!--by cxz-->
34. 新增[OpenItemDetailWindow](../接口/商城.md#openitemdetailwindow)(客户端) 打开特定商品的详情界面<!--by cxz-->
35. 新增[CloseShopWindow](../接口/商城.md#closeshopwindow)(客户端) 关闭网易商城窗口<!--by cxz-->
36. 新增[RenderBlockGeometryModel](../接口/自定义UI/UI控件.md#renderblockgeometrymodel)(客户端) 渲染网格体模型<!--by jishaobin-->
37. 新增[EntityMotionStartServerEvent](../事件/实体.md#entitymotionstartserverevent)(服务端) 实体运动器开始事件<!--by wangdingdong-->
38. 新增[EntityMotionStopServerEvent](../事件/实体.md#entitymotionstopserverevent)(服务端) 实体运动器停止事件<!--by wangdingdong-->
39. 新增[UrgeShipEvent](../事件/UI.md#urgeshipevent)(服务端) 玩家点击商城催促发货按钮时触发该事件<!--by cxz-->
40. 新增[InputMode](../枚举值/InputMode.md) 控制器输入模式<!--by cxz-->
41. 新增[UICategory](../枚举值/UICategory.md) 原生UI类型名<!--by cxz-->
### 调整
1. 调整[ContainerItemChangedServerEvent](../事件/物品.md#containeritemchangedserverevent) 新增维度id参数<!--by huangxiaojie03-->
2. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(服务端) 新增燃料时间,食物饱食度,食物营养值,武器攻击力,防具防御力字段<!--by huangxiaojie03-->
3. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(客户端) 新增燃料时间,食物饱食度,食物营养值,武器攻击力,防具防御力字段<!--by huangxiaojie03-->
4. 调整[GetToggleOption](../接口/游戏设置.md#gettoggleoption)(客户端) 支持获取[InputMode](../枚举值/InputMode.md)枚举值<!--by cxz-->
5. 调整[ServerSpawnMobEvent](../事件/世界.md#serverspawnmobevent)(服务端) 新增entityId返回参数<!--by cxz-->
6. 调整[AddPlayerCreatedClientEvent](../事件/世界.md#addplayercreatedclientevent)(客户端) 调整事件触发时机并对localPlayer也起效<!--by wangdingdong-->

View File

@@ -0,0 +1,154 @@
# 2.5
2022.12.06版本号v2.5 BE1.18.30
包括Mod PC包手机测试版启动器和服务器引擎。
## 一、温馨提示
1. 在12月6日上线2.5第一个beta版。
2. 在12月20日上线2.5第二个beta版。
3. 在12月29日上线2.5的稳定版。
4. 在2023年1月6日全渠道将更新2.5版本玩家包体玩家将陆续更新到2.5版本,请开发者合理安排更新节奏。
5. 从2.5版本开始SDKDemo示例转移至MC studio内容库→作品模板→勾选**SDK示例**标签,不再提供压缩包下载,如下图所示。
![内容库demo](../picture/contentlib.png)
## 二、重要功能介绍
### 1.相机运动器
对玩家的相机支持了三种运动器接口,可用于单独控制玩家相机进行更平滑的轨迹运动,详情请参考[相机运动器接口](../接口/玩家/摄像机.md#addcameratrackmotion)。
1. 轨迹运动器:用于驱动相机从一点到另一点的直线运动。
![轨迹运动器](../picture/cameratrackmotion.gif)
2. 速度运动器:用于驱动相机根据初速度和加速度进行匀速/变速运动。
![速度运动器](../picture/cameravelocitymotion.gif)
3. 环绕运动器:用于驱动相机环绕指定坐标或指定实体运动。
![环绕运动器](../picture/camerarotatemotion.gif)
> 环绕运动器将在后续版本支持支持固定环绕半径,请耐心等待。
### 2.物品容器UI
1. 为原生的物品容器UI增加了前后多个图层可以调用代码动态修改各图层显示的图片详情查看新增[接口文档](../接口/物品.md#setitemlayer)
2. 开发者可在内容库→作品模板分页查看自定义物品和自定义熔炉两个SDK示例同步更新了相应的物品容器UI相关的示例用法。
![物品容器UI](../picture/itemcontainerUI.gif)
### 3.特征支持接口放置
特征支持使用接口动态放置,同时支持**网易版特征**和**原版特征**,详见[PlaceFeature](../接口/世界/地图.md#placefeature)接口与placefeature指令一致如下图所示
![特征放置接口](../picture/placefeature.gif)
### 4.按钮控件支持悬浮回调
支持使用接口为按钮开启**悬浮事件**并添加**悬浮回调函数**,详见[AddHoverEventParams](../接口/自定义UI/UI控件.md#addhovereventparams)接口。
## 三、重要调整和修复说明
### 1.游戏区块动态加载范围调整
1. 在2.5版本之前游戏服务端的动态加载区块范围为客户端视野范围和模拟距离的最大值从2.5版本开始将默认为模拟距离。
2. 未加载的区块对服务端而言是虚空,无法在该区域进行召唤生物、放置物品等操作。
3. 请开发者根据自身模组情况尽快调整和适配相关内容,可参考使用[CheckChunkState](../接口/世界/地图.md#checkchunkstate)接口验证是否加载,使用[DoTaskOnChunkAsync](../接口/世界/地图.md#dotaskonchunkasync)接口进行异步处理。
### 2.物品描述覆盖问题
修改<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典">物品信息字典</a>的Customtips属性后会覆盖物品的Json组件<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/1-自定义物品/1-自定义基础物品.html#netease-customtips">netease:customtips</a>的内容。
### 3.平滑字体字号变动说明
修复了**平滑字体**指向错误字库的问题会导致当前平滑字体的字号比之前的版本略大请开发者根据自身模组的字体和UI适配情况进行检查和适配。
![平滑字体](../picture/fontchanges.png)
## 四、API改动
### 新增
1. 新增[Enable](../接口/实体/官方聊天扩展.md#enable)(服务端) 启用官方聊天扩展功能<!--by xg-->
2. 新增[Disable](../接口/实体/官方聊天扩展.md#disable)(服务端) 关闭官方聊天扩展功能<!--by xg-->
3. 新增[DoTaskOnChunkAsync](../接口/世界/地图.md#dotaskonchunkasync)(服务端) 异步加载指定范围区块,加载完成后调用输入的回调函数。<!--by xg-->
4. 新增[PlaceFeature](../接口/世界/地图.md#placefeature)(服务端) 放置特征<!--by hxj-->
5. 新增[SetItemLayer](../接口/物品.md#setitemlayer)(服务端) 设置物品的叠加贴图<!--by czh-->
6. 新增[RemoveItemLayer](../接口/物品.md#removeitemlayer)(服务端) 移除物品的叠加贴图<!--by czh-->
7. 新增[GetItemLayer](../接口/物品.md#getitemlayer)(服务端) 获取物品的叠加贴图<!--by czh-->
8. 新增[GetMousePosition](../接口/控制.md#getmouseposition)(客户端) 获得鼠标位置接口<!--by cxz-->
9. 新增[AddCameraTrackMotion](../接口/玩家/摄像机.md#addcameratrackmotion)(客户端) 给相机添加轨迹运动器<!--by wangdingdong-->
10. 新增[AddCameraVelocityMotion](../接口/玩家/摄像机.md#addcameravelocitymotion)(客户端) 给相机添加速度运动器<!--by wangdingdong-->
11. 新增[AddCameraAroundPointMotion](../接口/玩家/摄像机.md#addcameraaroundpointmotion)(客户端) 给相机添加对点环绕运动器<!--by wangdingdong-->
12. 新增[AddCameraAroundEntityMotion](../接口/玩家/摄像机.md#addcameraaroundentitymotion)(客户端) 给相机添加对实体环绕运动器<!--by wangdingdong-->
13. 新增[GetCameraMotions](../接口/玩家/摄像机.md#getcameramotions)(客户端) 获取相机上所有运动器<!--by wangdingdong-->
14. 新增[RemoveCameraMotion](../接口/玩家/摄像机.md#removecameramotion)(客户端) 移除相机上的某个运动器<!--by wangdingdong-->
15. 新增[StartCameraMotion](../接口/玩家/摄像机.md#startcameramotion)(客户端) 启动相机上的某个运动器<!--by wangdingdong-->
16. 新增[StopCameraMotion](../接口/玩家/摄像机.md#stopcameramotion)(客户端) 停止相机上的某个运动器<!--by wangdingdong-->
17. 新增[GetPlayerGameType](../接口/玩家/游戏模式.md#getplayergametype)(客户端) 客户端获取玩家游戏模式<!--by huangxiaojie03-->
18. 新增[GetPlayerExp](../接口/玩家/属性.md#getplayerexp)(客户端) 获取玩家当前等级下的经验值<!--by huangxiaojie03-->
19. 新增[GetPlayerCurLevelExp](../接口/玩家/属性.md#getplayercurlevelexp)(客户端) 获取玩家当前等级需要的经验值<!--by huangxiaojie03-->
20. 新增[GetPlayerTotalExp](../接口/玩家/属性.md#getplayertotalexp)(客户端) 获取玩家的总经验值<!--by huangxiaojie03-->
21. 新增[GetCurrentAirSupply](../接口/实体/属性.md#getcurrentairsupply)(客户端) 玩家当前氧气储备值<!--by huangxiaojie03-->
22. 新增[GetMaxAirSupply](../接口/实体/属性.md#getmaxairsupply)(客户端) 玩家最大氧气储备值<!--by huangxiaojie03-->
23. 新增[GetRiderId](../接口/实体/属性.md#getriderid)(客户端) 获取玩家坐骑entityid<!--by huangxiaojie03-->
24. 新增[GetArmorValue](../接口/玩家/属性.md#getarmorvalue)(客户端) 获取玩家护甲值<!--by huangxiaojie03-->
25. 新增[ResetSkin](../接口/玩家/渲染.md#resetskin)(客户端) 还原默认皮肤<!--by huangxiaojie03-->
26. 新增[AddHoverEventParams](../接口/自定义UI/UI控件.md#addhovereventparams)(客户端) 按钮悬浮回调<!--by cxz-->
27. 新增[SetButtonHoverInCallback](../接口/自定义UI/UI控件.md#setbuttonhoverincallback)(客户端) 按钮悬浮事件<!--by cxz-->
28. 新增[SetButtonHoverOutCallback](../接口/自定义UI/UI控件.md#setbuttonhoveroutcallback)(客户端) 按钮悬浮事件<!--by cxz-->
29. 新增[MouseWheelClientEvent](../事件/控制.md#mousewheelclientevent)(客户端) 鼠标滚轮滚动事件<!--by cxz-->
30. 新增[OnMouseMiddleDownClientEvent](../事件/控制.md#onmousemiddledownclientevent)(客户端) 鼠标中键点击事件<!--by cxz-->
31. 新增[ScreenSizeChangedClientEvent](../事件/UI.md#screensizechangedclientevent)(客户端) 屏幕大小改变事件<!--by dengruitao-->
32. 新增[CameraMotionStartClientEvent](../事件/玩家.md#cameramotionstartclientevent)(客户端) 相机运动器开始事件<!--by wangdingdong-->
33. 新增[CameraMotionStopClientEvent](../事件/玩家.md#cameramotionstopclientevent)(客户端) 相机运动器停止事件<!--by wangdingdong-->
### 调整
1. 调整[PushScreen](../接口/自定义UI/通用.md#pushscreen)(客户端) 修改了鼠标的生成方式<!--by cxz-->
2. 调整[SetMergeSpawnItemRadius](../接口/世界/地图.md#setmergespawnitemradius)(服务端) 支持浮点数<!--by huangxiaojie03-->
3. 调整[GetEditText](../接口/自定义UI/UI控件.md#getedittext)(客户端) 添加了敏感词过滤<!--by czh-->
4. 调整[DamageEvent](../事件/实体.md#damageevent)(服务端) 新增浮点伤害值<!--by huangxiaojie03-->
5. 调整[ActuallyHurtServerEvent](../事件/实体.md#actuallyhurtserverevent)(服务端) 新增浮点伤害值<!--by huangxiaojie03-->
6. 调整[ActorHurtServerEvent](../事件/实体.md#actorhurtserverevent)(服务端) 新增浮点伤害值<!--by huangxiaojie03-->

View File

@@ -0,0 +1,245 @@
# 2.6
2023.03.14版本号V2.6 BE1.18.30
包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo
[点击此处下载](https://g79.gdl.netease.com/2.6DemoV2.zip)
## 一、更新时间表
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. 原版粒子特效支持发射模型
- 在原版微软粒子的基础上支持发射骨骼模型,并且支持纹理和动画,详情请参考<a href="../../../mcguide/16-美术/9-特效/21-原版特效属性详细说明.html#发射骨骼模型" rel="noopenner">这篇文档</a>。
![图片](../picture/modelparticle.gif)
- 示例Demo新增了粒子发射骨骼模型的示例详情参考NeteaseModelParticleDemo同时也可在内容库进行下载和查看。
![图片](../picture/modelparticledemo.png)
### 实体
#### 1.坐骑骑乘API拓展
- 在现有坐骑的接口上,新增了坐骑座位的增删改、骑乘者更换座位、锁定座位等接口,帮助开发者更便捷地实现丰富的骑乘效果。详情请参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/3-自定义生物/05-使用API自定义坐骑.html" rel="noopenner">这篇文档</a>
![图片](../picture/riderapi.gif)
#### 2.运动器功能优化
- 环绕实体运动器系列接口支持指定环绕半径,详情参考接口[添加环绕实体运动器](../接口/实体/行为.md#AddEntityAroundPointMotion)
- 轨迹运动器系列接口支持起始角度和目标角度,详情参考接口[添加轨迹运动器](../接口/实体/行为.md#addentitytrackmotion)
> 上述优化对实体、玩家、相机的运动器接口均生效。
### UI
#### 1. 纸娃娃控件拓展
- 网易版纸娃娃NeteasePaperDoll控件现在支持绕X、Z轴的拖拽旋转详见下图
![图片](../picture/PaperDoll.gif)
- 示例Demo新增了网易纸娃娃示例可在内容库中查看如下图所示
- ![图片](../picture/neteasepaperdoll.png)
#### 2. 模拟HUD操作接口
- 为了帮助开发者更好地定制全新的UI本次新增了更多模拟原生UI操作的接口详情见[原生UI](../接口/原生UI.md)接口。
#### 3. 原生界面支持动态修改,面向对象编程
- 对暂停界面,背包界面等原生界面,现在不仅支持在他们之上添加自定义的控件,并且支持以<a href="../../../mcguide/18-界面与交互/40-UIAPI文档.html#screennode" rel="noopenner">ScreenNode</a>对象管理他们,对他们进行直接修改,详见<a href="../../../mcguide/18-界面与交互/61-原生界面修改文档.html" rel="noopenner"> 原生界面修改 </a>。
- 支持使用接口动态创建删除控件,而不是仅仅通过克隆控件的方式,详见[CreateChildControl](../接口/自定义UI/UI界面.md#createchildcontrol)以及[RemoveChildControl](../接口/自定义UI/UI界面.md#removechildcontrol)接口。
- 支持全局获取当前顶层界面的<a href="../../../mcguide/18-界面与交互/40-UIAPI文档.html#screennode" rel="noopenner">ScreenNode</a>管理对象,详见[GetTopUINode](../接口/自定义UI/通用.md#gettopuinode)接口。
#### 4. 富文本控件支持换行标签
- 富文本控件现在支持换行标签`<br>`,详情参考<a href="../../../mcguide/18-界面与交互/30-UI说明文档.html#富文本控件介绍" rel="noopenner">富文本控件介绍</a>。
#### 5. 新增获取部分控件属性接口
- 新增接口[GetToggleState](../接口/自定义UI/UI控件.md#gettogglestate)获取开关控件toggle的开关状态。
- 新增接口[GetGridItem](../接口/自定义UI/UI控件.md#getgriditem)获取网格控件grid的子节点。
- 新增接口[GetScrollViewPercentValue](../接口/自定义UI/UI控件.md#getscrollviewpercentvalue)获取滚动列表scroll_view的滚动条百分比。
#### 6.优化了UI控件示例
- 将原有的UI控件示例模板按照控件的功能拆分为多个脚本优化了代码的布局和注释。
- 详情可在内容库中查看UI控件示例如下图所示
![图片](../picture/uidemo.png)
### 物品
#### 1. 所有自定义物品支持渲染偏移组件
- `netease:render_offset`组件以前仅支持可蓄力物品,现在它可以对任意类型的自定义物品生效了。
#### 2. 自定义物品分页同名合并
- 此前多个mod使用同名物品分页会出现冲突现在使用同名物品分页的mod物品会被合并显示在同一个分页下了。
### 方块
#### 1. 方块调色板接口优化
- 方块调色板系列接口支持剔除空气方块,详情参考接口[GetBlockPaletteBetweenPos](../接口/世界/方块组合.md#getblockpalettebetweenpos)
### 玩家
#### 1. 相机交互范围优化
- 修改相机锚点和偏移时,会同步修改玩家的交互范围,避免了调整相机后选取方块的偏移问题,详见[SetCameraOffset](../接口/玩家/摄像机.md#setcameraoffset)和[SetCameraAnchor](../接口/玩家/摄像机.md#setcameraanchor)
#### 2. 玩家皮肤渲染优化
- 修复了渲染指定玩家皮肤时,会影响到其他同款皮肤玩家的问题。
### 其他
#### 1. 支持玩家反馈包含模组日志(全渠道上线后生效)
- 现在mod脚本运行出现报错时将会打印到玩家设备中玩家反馈模组问题时可勾选上传此日志开发者便可在开发者平台下载和查看该日志。
- 日志打印功能默认关闭,开发者需要通过[SetMcpModLogCanPostDump](../接口/通用/调试.md#setmcpmodlogcanpostdump)接口开启该脚本的日志打印功能接口对每个mod脚本MCP独立生效。
- 开启此功能后,除了代码报错会被打印,开发者也可以使用接口[PostMcpModDump](../接口/通用/调试.md#postmcpmoddump)自定义打印MCP日志此日志也会打印到玩家设备并通过反馈上传到开发者的组件后台。
> 注意事项:
> 1. 此功能依赖玩家客户端和开发者平台的更新,仅在全渠道上线后方可生效。
> 2. 请勿打印过多自定义日志信息,避免玩家的存档大小快速膨胀,影响玩家对模组的体验。
> 3. 日志在玩家本地只保留7天超期日志自动清理。
#### 2. 新增接口和事件索引表
- 在接口文档中增加了所有接口和事件的文档,供开发者在同一页面进行浏览和搜索,详见[Api索引表](../接口/Api索引表.md)和[事件索引表](../事件/事件索引表.md)
## API更新
- 新增
1. 新增[GetServerTickTime](../接口/通用/工具.md#getserverticktime)(服务端) 获取服务端引擎上一帧的帧消耗时间<!--by czh-->
1. 新增[SetMcpModLogCanPostDump](../接口/通用/调试.md#setmcpmodlogcanpostdump)(服务端) 设置是否可打印MCP日志<!--by wtq-->
1. 新增[GetMcpModLogCanPostDump](../接口/通用/调试.md#getmcpmodlogcanpostdump)(服务端) 获取是否可打印MCP日志<!--by wtq-->
1. 新增[PostMcpModDump](../接口/通用/调试.md#postmcpmoddump)(服务端) 打印MCP日志<!--by wtq-->
1. 新增[GetTopUINode](../接口/自定义UI/通用.md#gettopuinode)(客户端) 获取Push进来的最顶层界面包括原生界面<!--by mayexing-->
1. 新增[GetUIScreenProxyCls](../接口/自定义UI/通用.md#getuiscreenproxycls)(客户端) 获得原生界面Screen代理基类<!--by mayexing-->
1. 新增[ChangeWalkState](../接口/原生UI.md#changewalkstate)(客户端) 切换行走/潜行/跑步状态<!--by hxj-->
1. 新增[ChangeSneakState](../接口/原生UI.md#changesneakstate)(客户端) 切换潜行状态<!--by hxj-->
1. 新增[SimulateJump](../接口/原生UI.md#simulatejump)(客户端) 模拟跳跃<!--by hxj-->
1. 新增[ClickInteractGUI](../接口/原生UI.md#clickinteractgui)(客户端) 模拟点击交互按钮<!--by hxj-->
1. 新增[SetMcpModLogCanPostDump](../接口/通用/调试.md#setmcpmodlogcanpostdump)(客户端) 设置是否可打印MCP日志<!--by wtq-->
1. 新增[GetMcpModLogCanPostDump](../接口/通用/调试.md#getmcpmodlogcanpostdump)(客户端) 获取是否可打印MCP日志<!--by wtq-->
1. 新增[PostMcpModDump](../接口/通用/调试.md#postmcpmoddump)(客户端) 打印MCP日志<!--by wtq-->
1. 新增[SetActorCollidable](../接口/实体/行为.md#setactorcollidable)(服务端) 设置实体是否可碰撞<!--by huangxiaojie03-->
1. 新增[GetLoadBlocks](../接口/方块/属性.md#getloadblocks)(服务端) 获取已经加载的方块id<!--by huangxiaojie03-->
1. 新增[OpenClientChunkGeneration](../接口/世界/地图.md#openclientchunkgeneration)(服务端) 开启/关闭客户端区块生成功能。<!--by xg-->
1. 新增[HasEffect](../接口/实体/状态效果.md#haseffect)(服务端) 获取实体是否存在当前状态效果<!--by huangxiaojie03-->
1. 新增[GetLoadActors](../接口/实体/属性.md#getloadactors)(服务端) 获取已加载的实体id<!--by huangxiaojie03-->
1. 新增[GetLoadItems](../接口/物品.md#getloaditems)(服务端) 获取已经加载的物品id<!--by huangxiaojie03-->
1. 新增[SetEntityLockRider](../接口/实体/行为.md#setentitylockrider)(服务端) 设置坐骑上的实体是否锁定序号<!--by hyt-->
1. 新增[ChangeRiderSeat](../接口/实体/行为.md#changeriderseat)(服务端) 设置骑乘者在当前坐骑上的序号<!--by hyt-->
1. 新增[GetRiders](../接口/实体/行为.md#getriders)(服务端) 获取坐骑上的骑乘者信息<!--by hyt-->
1. 新增[AddEntitySeat](../接口/实体/行为.md#addentityseat)(服务端) 增加坐骑座位<!--by hyt-->
1. 新增[SetEntitySeat](../接口/实体/行为.md#setentityseat)(服务端) 设置坐骑座位的位置、旋转以及允许实体旋转范围<!--by hyt-->
1. 新增[DeleteEntitySeat](../接口/实体/行为.md#deleteentityseat)(服务端) 删除坐骑座位<!--by hyt-->
1. 新增[LockVerticalMove](../接口/控制.md#lockverticalmove)(客户端) 模拟上升或下降<!--by hxj-->
1. 新增[UnLockVerticalMove](../接口/控制.md#unlockverticalmove)(客户端) 解除上升或下降状态<!--by hxj-->
1. 新增[AddPlayerScriptAnimate](../接口/玩家/渲染.md#addplayerscriptanimate)(客户端) 在玩家的客户端实体定义minecraft:client_entityjson中的scripts/animate节点添加动画/动画控制器<!--by cxz-->
1. 新增[GetModelStyle](../接口/模型.md#getmodelstyle)(客户端) 获取模型类型<!--by huangxiaojie03-->
1. 新增[GetAllEffects](../接口/实体/状态效果.md#getalleffects)(客户端) 获取实体当前所有状态效果<!--by huangxiaojie03-->
1. 新增[HasEffect](../接口/实体/状态效果.md#haseffect)(客户端) 获取实体是否存在当前状态效果<!--by huangxiaojie03-->
1. 新增[CreateChildControl](../接口/自定义UI/UI界面.md#createchildcontrol)(客户端) 在当前界面创建子控件<!--by mayexing-->
1. 新增[RemoveChildControl](../接口/自定义UI/UI界面.md#removechildcontrol)(客户端) 移除当前画布中的子控件<!--by mayexing-->
1. 新增[GetGridItem](../接口/自定义UI/UI控件.md#getgriditem)(客户端) 根据网格位置获取元素控件<!--by mayexing-->
1. 新增[GetScrollViewPercentValue](../接口/自定义UI/UI控件.md#getscrollviewpercentvalue)(客户端) 支持获取当前scroll_view内容的百分比位置<!--by mayexing-->
1. 新增[GetToggleState](../接口/自定义UI/UI控件.md#gettogglestate)(客户端) 获取Toggle开关控件的值<!--by mayexing-->
1. 新增[PopScreenAfterClientEvent](../事件/UI.md#popscreenafterclientevent)(客户端) 新增PopScreenAfterClientEvent当弹出动作全部完成时触发<!--by cxz-->
1. 新增[CloseNeteaseShopEvent](../事件/UI.md#closeneteaseshopevent)(客户端) 玩家关闭商城界面的时候抛出的事件<!--by cxz-->
- 调整
1. 调整[OpenPauseGui](../接口/原生UI.md#openpausegui)(客户端) 增加使用说明<!--by hxj-->
1. 调整[OpenChatGui](../接口/原生UI.md#openchatgui)(客户端) 增加使用说明<!--by hxj-->
1. 调整[OpenVoiceGui](../接口/原生UI.md#openvoicegui)(客户端) 补充使用说明<!--by hxj-->
1. 调整[AddEntityTrackMotion](../接口/实体/行为.md#addentitytrackmotion)(服务端) 给实体(不含玩家)轨迹运动器添加朝向控制<!--by wangdingdong-->
1. 调整[AddEntityAroundEntityMotion](../接口/实体/行为.md#addentityaroundentitymotion)(服务端) 对实体环绕运动器可以指定半径<!--by wangdingdong-->
1. 调整[AddPlayerTrackMotion](../接口/玩家/行为.md#addplayertrackmotion)(服务端) 给玩家轨迹运动器添加朝向控制<!--by wangdingdong-->
1. 调整[AddPlayerAroundEntityMotion](../接口/玩家/行为.md#addplayeraroundentitymotion)(服务端) 对实体环绕运动器可以指定半径<!--by wangdingdong-->
1. 调整[GetBlockPaletteBetweenPos](../接口/世界/方块组合.md#getblockpalettebetweenpos)(服务端) 增加eliminateAir参数可决定生成的方块调色板中是否剔除多余的空气方块。<!--by xujiarong02-->
1. 调整[SetPlayerRideEntity](../接口/玩家/行为.md#setplayerrideentity)(服务端) 支持设置玩家成为第n个骑乘者<!--by hyt-->
1. 调整[SetRiderRideEntity](../接口/实体/行为.md#setriderrideentity)(服务端) 支持设置玩家成为第n个骑乘者<!--by hyt-->
1. 调整[GetInputVector](../接口/控制.md#getinputvector)(客户端) 修复了无法正常获取到LockInputVector的输入量的BUG<!--by cxz-->
1. 调整[LockInputVector](../接口/控制.md#lockinputvector)(客户端) 修复了潜行状态下移动速度不变的BUG修复了GetInputVector无法正常获取到LockInputVector的输入量的BUG<!--by cxz-->
1. 调整[GetBlockPaletteBetweenPos](../接口/世界/方块组合.md#getblockpalettebetweenpos)(客户端) 增加eliminateAir参数可决定生成的方块调色板中是否剔除多余的空气方块。<!--by xujiarong02-->
1. 调整[SetCameraOffset](../接口/玩家/摄像机.md#setcameraoffset)(客户端) 修复了设置偏移后无法正常交互的BUG<!--by cxz-->
1. 调整[SetCameraAnchor](../接口/玩家/摄像机.md#setcameraanchor)(客户端) 修复了设置偏移后无法正常交互的BUG<!--by cxz-->
1. 调整[AddCameraTrackMotion](../接口/玩家/摄像机.md#addcameratrackmotion)(客户端) 给相机轨迹运动器添加朝向控制<!--by wangdingdong-->
1. 调整[AddCameraAroundEntityMotion](../接口/玩家/摄像机.md#addcameraaroundentitymotion)(客户端) 对实体环绕运动器可以指定半径<!--by wangdingdong-->
1. 调整[GetVariable](../接口/特效/微软粒子.md#getvariable)(客户端) 新增发射器移动速度变量variable.emitter_speed<!--by dengruitao-->
1. 调整[SetVariable](../接口/特效/微软粒子.md#setvariable)(客户端) 新增发射器移动速度变量variable.emitter_speed<!--by dengruitao-->
1. 调整[GetMolangValue](../接口/实体/molang.md#getmolangvalue)(客户端) 修复了pc下molang变量为字符串时返回值被转换成32位整形的问题<!--by czh-->
1. 调整[GetStringHash64](../接口/实体/molang.md#getstringhash64)(客户端) 修复了pc下返回值被转换成32位整形的问题<!--by czh-->
1. 调整[RenderEntity](../接口/自定义UI/UI控件.md#renderentity)(客户端) param新增rotation_axis参数<!--by cxz-->
1. 调整[RenderSkeletonModel](../接口/自定义UI/UI控件.md#renderskeletonmodel)(客户端) param新增rotation_axis参数<!--by cxz-->
1. 调整[RenderBlockGeometryModel](../接口/自定义UI/UI控件.md#renderblockgeometrymodel)(客户端) param新增rotation_axis参数<!--by cxz-->
- 废弃(将在未来不可用)
1. 废弃SetActorCollidable单独设置客户端不生效建议设置服务端

View File

@@ -0,0 +1,196 @@
# 2.7
2023.05.26版本号V2.7 BE1.18.30
包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo
[点击此处下载](https://g79.gdl.netease.com/2.7DemoV2.zip)
## 一、更新时间表
1. 在5月26日上线2.7第一个Beta版。
2. 在6月09日上线2.7第二个Beta版。
3. 在6月21日上线2.7稳定版。
4. 在6月28日全渠道将更新2.7版本玩家包体玩家将陆续更新到2.7版本,请开发者合理安排更新节奏。
## 二、重要功能更新
### 支持UI设置到世界坐标
在CreateUI接口的参数中新增了绑定到世界坐标的参数支持设置UI到指定坐标详情参考[CreateUI接口](../接口/自定义UI/通用.md#createui)。
![图片](../picture/posUI.gif)
### 支持渲染指定掉落物
新增AddDropItemToWorld接口将指定掉落物添加到指定坐标详情参考[AddDropItemToWorld接口](../接口/方块/渲染.md#adddropitemtoworld)。
![图片](../picture/drop.gif)
### 自定义大型特征
新增拼图方块、自定义大型特征和结构池的数据驱动json用于实现跨多个区块的大型随机特征如原版村庄效果详情参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/6-自定义大型特征.html" rel="noopenner">这篇文档</a>。
![图片](../picture/largefeature.gif)
### 中国版粒子支持拖尾渲染器
中国版粒子新增拖尾渲染模块,实现条带拖尾特效,详情请参考<a href="../../../mcguide/16-美术/9-特效/70-中国版特效属性详细说明.html#粒子拖尾效果属性说明" rel="noopenner">中国版粒子特效说明文档</a>
![图片](../picture/traileffect.gif)
### UI新增轮盘控件
UI新增了一种轮盘控件可用于自定义轮盘菜单详情请参考<a href="../../../mcguide/18-界面与交互/30-UI说明文档.html#selectionwheel" rel="noopenner">轮盘控件说明文档</a>。
![图片](../picture/selectwheel.gif)
### 自定义箱子
方块配置新增自定义箱子组件,可使方块具有箱子的储物功能,支持自定义容量,<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.html#netease-block-chest" rel="noopenner">方块Json组件文档</a>。
![图片](../picture/chest.gif)
### 自定义树叶
新增了netease:no_crop_face_block组件使其在相邻面渲染一个面实现原版树叶方块的效果,详情请参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.html#netease-no-crop-face-block" rel="noopenner">方块Json组件文档</a>。
![图片](../picture/leaves.gif)
### 自定义工作台
新增了自定义工作台组件,可让方块具有工作台的特性,支持自定义该工作台的专属配方,详情参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/3-特殊方块/10-自定义工作台.html" rel="noopenner">自定义工作台</a>。
![图片](../picture/craftingtable.gif)
### 自定义随机偏移方块
新增随机偏移组件netease:block_random_offset使方块放置时可自定义随机偏移范围详情参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.html#netease-block-random-offset" rel="noopenner">方块Json组件文档</a>。
![图片](../picture/offsetblock.gif)
### 其他
1. 相机支持设置翻滚角,详见[SetCameraRot](../接口/玩家/摄像机.md#setcamerarot)。
2. 与自定义物品类似自定义方块也支持customtips组件了详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.html#netease-custom-tips" rel="noopenner">方块Json组件文档</a>。
3. 自定义属性接口现在支持存档了,详见[SetAttr](../接口/实体/自定义属性.md#setattr)接口。
4. 新增了官方聊天扩展的5个功能接口用于开发者定制聊天功能详见[RegisterChatPrefix](../接口/实体/官方聊天扩展.md#registerchatprefix)。
> 温馨提示:上述聊天扩展接口仅在全渠道上线后方能生效!
### 重要修复
1. 当使用<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#物品信息字典" rel="noopenner">物品信息字典</a>时如果enchantData里的附魔等级超过该附魔的最高等级将会导致对该物品的生成如SpawnItemToPlayerInv和设置如SetEntityItem等接口失败。
> 在此版本之前,会生成一个无附魔的物品。
## 三、API更新
- 新增
1. 新增[GetLocalPosFromWorld](../接口/通用/数学.md#getlocalposfromworld)(服务端) 获取基于实体的世界坐标对应的局部坐标<!--by yangzhiwei-->
1. 新增[GetWorldPosFromLocal](../接口/通用/数学.md#getworldposfromlocal)(服务端) 获取基于实体的局部坐标对应的世界坐标<!--by yangzhiwei-->
1. 新增[GetLocalPosFromWorld](../接口/通用/数学.md#getlocalposfromworld)(客户端) 获取基于实体的世界坐标对应的局部坐标<!--by yangzhiwei-->
1. 新增[GetWorldPosFromLocal](../接口/通用/数学.md#getworldposfromlocal)(客户端) 获取基于实体的局部坐标对应的世界坐标<!--by yangzhiwei-->
1. 新增[GetPlayerList](../接口/世界/实体管理.md#getplayerlist)(客户端) 客户端获取level中所有玩家的id列表<!--by yangzhiwei-->
1. 新增[GetEngineActor](../接口/世界/实体管理.md#getengineactor)(客户端) 客户端获取所有实体(不包含玩家)。<!--by yangzhiwei-->
1. 新增[SetPlayerMotion](../接口/玩家/行为.md#setplayermotion)(服务端) 设置玩家瞬时移动方向向量<!--by hdy-->
1. 新增[SetJigsawBlock](../接口/世界/方块管理.md#setjigsawblock)(服务端) 在某一位置放置拼图方块<!--by handaoying-->
1. 新增[RegisterChatPrefix](../接口/实体/官方聊天扩展.md#registerchatprefix)(服务端) 官方聊天拓展功能 为游戏内指定玩家注册聊天前缀<!--by wj-->
1. 新增[SetShowSocialNearbyInfo](../接口/实体/官方聊天扩展.md#setshowsocialnearbyinfo)(服务端) 官方聊天扩展功能 是否显示社交界面同一游戏的附近信息<!--by wj-->
1. 新增[AddCommonPhrases](../接口/实体/官方聊天扩展.md#addcommonphrases)(服务端) 官方聊天扩展功能 新增常用聊天短语<!--by wj-->
1. 新增[RemoveCommonPhrases](../接口/实体/官方聊天扩展.md#removecommonphrases)(服务端) 官方聊天扩展功能 移除常用聊天短语<!--by wj-->
1. 新增[SetShowOfficialPhrases](../接口/实体/官方聊天扩展.md#setshowofficialphrases)(服务端) 官方聊天扩展功能 是否显示官方的常用聊天短语<!--by wj-->
1. 新增[HasComponent](../接口/实体/属性.md#hascomponent)(服务端) 判断实体是否有对应的原版组件<!--by cxz-->
1. 新增[GetAllComponentsName](../接口/实体/属性.md#getallcomponentsname)(服务端) 获取实体所拥有的原版组件list<!--by cxz-->
1. 新增[GetStructureSize](../接口/世界/地图.md#getstructuresize)(服务端) 获取结构体的长宽高<!--by cxz-->
1. 新增[PlaceNeteaseLargeFeature](../接口/世界/地图.md#placeneteaselargefeature)(服务端) 放置网易版大型结构特征<!--by hdy-->
1. 新增[GetAttackTarget](../接口/实体/行为.md#getattacktarget)(客户端) 客户端获取仇恨目标<!--by yangzhiwei-->
1. 新增[CopyActorRenderMaterialFromPlayer](../接口/实体/渲染.md#copyactorrendermaterialfromplayer)(客户端) 将渲染材质从某个玩家拷贝到某个生物identifier上<!--by wangdingdong-->
1. 新增[CopyActorGeometryFromPlayer](../接口/实体/渲染.md#copyactorgeometryfromplayer)(客户端) 将渲染几何体从某个玩家拷贝到某个生物identifier上<!--by wangdingdong-->
1. 新增[CopyActorTextureFromPlayer](../接口/实体/渲染.md#copyactortexturefromplayer)(客户端) 将贴图从某个玩家拷贝到某个生物identifier上<!--by wangdingdong-->
1. 新增[GetActorRenderParams](../接口/实体/渲染.md#getactorrenderparams)(客户端) 获取实体渲染参数<!--by wangdingdong-->
1. 新增[GetBiomeName](../接口/世界/地图.md#getbiomename)(客户端) 获取客户端当前维度已加载区域某一位置所属的生物群系信息<!--by yangzhiwei-->
1. 新增[GetBlockEntityData](../接口/方块/方块实体.md#getblockentitydata)(客户端) 客户端获取方块(包括自定义方块)的数据<!--by yangzhiwei-->
1. 新增[GetSize](../接口/实体/属性.md#getsize)(客户端) 客户端获取实体的包围盒<!--by yangzhiwei-->
1. 新增[GetEntitiesAround](../接口/世界/地图.md#getentitiesaround)(客户端) 客户端获取区域内的entity列表<!--by yangzhiwei-->
1. 新增[GetEntitiesInSquareArea](../接口/世界/地图.md#getentitiesinsquarearea)(客户端) 客户端获取区域内的entity列表<!--by yangzhiwei-->
1. 新增[GetEntitiesAroundByType](../接口/世界/地图.md#getentitiesaroundbytype)(客户端) 客户端获取区域内的某类型的entity列表<!--by yangzhiwei-->
1. 新增[AddDropItemToWorld](../接口/方块/渲染.md#adddropitemtoworld)(客户端) 添加一个客户端掉落物渲染<!--by cxz-->
1. 新增[GetClientDropItemEntityIdList](../接口/方块/渲染.md#getclientdropitementityidlist)(客户端) 获得所有通过AddDropItemToWorld创建的entityId的list<!--by cxz-->
1. 新增[DeleteClientDropItemEntity](../接口/方块/渲染.md#deleteclientdropitementity)(客户端) 删除AddDropItemToWorld创建的客户端掉落物<!--by cxz-->
1. 新增[GetPlayerItem](../接口/玩家/背包.md#getplayeritem)(客户端) 客户端获取玩家物品,支持获取盔甲栏,副手以及主手物品<!--by yangzhiwei-->
1. 新增[GetPlayerAllItems](../接口/玩家/背包.md#getplayerallitems)(客户端) 客户端获取指定槽位的批量物品信息<!--by yangzhiwei-->
1. 新增[GetName](../接口/实体/属性.md#getname)(客户端) 客户端获取生物的自定义名称<!--by yangzhiwei-->
1. 新增[GetPlayerHunger](../接口/玩家/属性.md#getplayerhunger)(客户端) 客户端获取玩家饥饿度<!--by yangzhiwei-->
1. 新增[GetEntityRider](../接口/玩家/行为.md#getentityrider)(客户端) 客户端获取骑乘者正在骑乘的实体的id。<!--by yangzhiwei-->
1. 新增[GetOwnerId](../接口/实体/行为.md#getownerid)(客户端) 客户端获取驯服生物的主人id<!--by yangzhiwei-->
1. 新增[GetTime](../接口/世界/时间.md#gettime)(客户端) 客户端获取当前世界时间<!--by yangzhiwei-->
1. 新增[GetBindWorldPosition](../接口/自定义UI/UI界面.md#getbindworldposition)(客户端) 取该UI绑定的worldPosition<!--by cxz-->
1. 新增[asSelectionWheel](../接口/自定义UI/UI控件.md#asselectionwheel)(客户端) 将当前BaseUIControl转换为SelectionWheelUIControl实例<!--by mayexing-->
1. 新增[SetIsSwallow](../接口/自定义UI/UI控件.md#setisswallow)(客户端) 设置当前面板输入是否会吞噬事件<!--by mayexing-->
1. 新增[GetIsSwallow](../接口/自定义UI/UI控件.md#getisswallow)(客户端) 判断当前面板输入是否会吞噬事件<!--by mayexing-->
1. 新增[GetSliceCount](../接口/自定义UI/UI控件.md#getslicecount)(客户端) 获取轮盘可以选择的总切片数量<!--by mayexing-->
1. 新增[GetCurrentSliceIndex](../接口/自定义UI/UI控件.md#getcurrentsliceindex)(客户端) 获取轮盘当前选择的切片的index<!--by mayexing-->
1. 新增[SetCurrentSliceIndex](../接口/自定义UI/UI控件.md#setcurrentsliceindex)(客户端) 设置轮盘选择的切片<!--by mayexing-->
1. 新增[SetTouchUpCallback](../接口/自定义UI/UI控件.md#settouchupcallback)(客户端) 设置轮盘选择切片并且鼠标按下抬起后触发回调函数<!--by mayexing-->
1. 新增[SetHoverCallback](../接口/自定义UI/UI控件.md#sethovercallback)(客户端) 设置轮盘选择切片触发回调函数<!--by mayexing-->
1. 新增[EntityComponentType](../枚举值/EntityComponentType.md) 原版实体组件类型<!--by cxz-->
- 调整
1. 调整[CreateUI](../接口/自定义UI/通用.md#createui)(客户端) 添加了bindWorldPosition参数用于绑定世界坐标<!--by cxz-->
1. 调整[LobbyGetAchievementStorage](../接口/成就.md#lobbygetachievementstorage)(服务端) 支持在网络服使用<!--by cxz-->
1. 调整[LobbySetAchievementStorage](../接口/成就.md#lobbysetachievementstorage)(服务端) 支持在网络服使用<!--by cxz-->
1. 调整[SpawnItemToPlayerInv](../接口/玩家/背包.md#spawnitemtoplayerinv)(服务端) 当附魔信息错误时无法生成物品返回False。调整前为会生成一个没有附魔的物品<!--by cxz-->
1. 调整[SetPlayerAllItems](../接口/玩家/背包.md#setplayerallitems)(服务端) 当附魔信息错误时无法生成物品返回False。调整前为会生成一个没有附魔的物品<!--by cxz-->
1. 调整[SetAttr](../接口/实体/自定义属性.md#setattr)(服务端) 新增needRestore参数用于自动存档并在实体加载时恢复<!--by cxz-->
1. 调整[SetCameraRot](../接口/玩家/摄像机.md#setcamerarot)(客户端) 支持设置Roll翻滚角的角度<!--by yangzhiwei-->

View File

@@ -0,0 +1,269 @@
# 2.8
2023.08.15版本号V2.8 BE1.18.30
包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html" rel="noopenner">前往此处下载</a>
## 一、更新时间表
1. 在8月15日上线2.8第一个Beta版。
2. 在8月29日上线2.8第二个Beta版。
3. 在9月07日上线2.8稳定版。
4. 在9月15日全渠道将更新2.8版本玩家包体玩家将陆续更新到2.8版本,请开发者合理安排更新节奏。
## 二、重要功能更新
### 模型与材质
1. 骨骼模型支持多材质,新增支持隐藏指定的骨骼的接口,详情参考<a href="../../../mcguide/16-美术/6-模型和动作/04-骨骼模型的使用.html#7. 模型使用多个材质及贴图">模型使用多材质和贴图</a>
> 图中演示了模型头部单独设置材质,隐藏了一只翅膀。
![图片](../picture/v28_multimaterial.gif)
2. 骨骼模型支持多pass材质详情参考<a href="../../../mcguide/16-美术/6-模型和动作/04-骨骼模型的使用.html#骨骼模型自定义多pass">骨骼模型配置多pass</a>。
> 图片演示了多pass的基础描边效果。
![图片](../picture/v28_multipass.gif)
3. 新增自定义老电视后处理效果、自定义扫描效果,新增设置自定义后处理接口[SetEnableByName](../接口/后处理/自定义.md#setenablebyname),详情参考文档<a href="../../../mcguide/16-美术/7-材质与着色器/4-材质实战.html#自定义后处理">自定义后处理</a>。
> 老电视机滤镜效果
![图片](../picture/v28_oldtv.gif)
> 扫描效果
![图片](../picture/v28_scan.gif)
4. 更新了材质使用相关的教学文档,详情参考<a href="../../../mcguide/16-美术/7-材质与着色器/1-材质介绍与着色器入门.html">材质介绍与着色器入门教程</a>。
5. 优化了官方已有材质、shader的结构和格式。
### 粒子特效
1. 粒子特效支持自定义材质,详见<a href="../../../mcguide/16-美术/9-特效/70-中国版特效属性详细说明.html#自定义材质materialname">中国版特效属性详细说明</a>。
![图片](../picture/v28_effect_material.gif)
2. 中国版粒子的发射路径支持旋转,详见<a href="../../../mcguide/16-美术/9-特效/70-中国版特效属性详细说明.html#发射路径emitterpath">中国版特效属性详细说明</a>。
![图片](../picture/v28_sfx_rotate.gif)
### UI
1. 图片控件支持旋转,详情参考<a href="../../../mcguide/18-界面与交互/30-UI说明文档.html#image">属性动画</a>。
![图片](../picture/v28_image_rotate.gif)
2. UI动画管理系列接口,可动态注册、添加、移除、播放UI动画详情参考
<a href="../../../mcguide/18-界面与交互/19-控件属性动画.html#控制动画">属性动画</a>。
### 玩家摄像机
1. 新增交互球心、交互距离接口,可自由控制玩家的交互中心和可交互长度,详情参考[SetPickCenterOffset](../接口/玩家/行为.md#setpickcenteroffset)等接口。
> 下图演示了交互中心向后偏移的效果。
![图片](../picture/v28_camerainteract.gif)
2. 支持关闭相机弹簧功能,可动态关闭[SetCameraDistanceFixed](../接口/玩家/摄像机.md#setcameradistancefixed)接口。
![图片](../picture/v28_camerafixed.gif)
### 方块
1. 支持colormap对指定维度生效详情参考<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/2-功能.html#自定义方块及自定义方块模型的群系颜色">自定义方块群系颜色</a>。
> 下图演示了同一方块不同群系的颜色不同。
![图片](../picture/v28_colormap.png)
### 游戏控制与管理
1. 修复了手柄模式下无法正常点击自定义UI按钮的问题。
2. 新增手柄按键、扳机、摇杆事件,详见[OnGamepadKeyPressClientEvent](../事件/控制.md#ongamepadkeypressclientevent)等接口。
3. 新增获取键盘、手柄的按键映射关系的接口,详见[GetControllerLayout](../接口/游戏设置.md#getcontrollerlayout)接口。
4. 新增锁定玩家修改游戏模式与规则权限的接口,详见[LockGameRulesInfo](../接口/世界/游戏规则.md#lockgamerulesinfo)和[IsLockGameRulesInfo](../接口/世界/游戏规则.md#islockgamerulesinfo)接口。
5. 新增射线检测实体与方块接口,详见[getEntitiesOrBlockFromRay](../接口/世界/实体管理.md#getentitiesorblockfromray)接口。
## 三、API更新
- 新增
1. 新增[getEntitiesOrBlockFromRay](../接口/世界/实体管理.md#getentitiesorblockfromray)(服务端) 从指定位置发射一条射线,获取与射线相交的实体和方块<!--by hdy-->
1. 新增[RegisterUIAnimations](../接口/自定义UI/通用.md#registeruianimations)(客户端) 注册UI动画<!--by mayexing-->
1. 新增[UnregisterUIAnimation](../接口/自定义UI/通用.md#unregisteruianimation)(客户端) 取消UI动画的注册<!--by mayexing-->
1. 新增[ImportModule](../接口/通用/工具.md#importmodule)(服务端) 使用字符串的绝对路径导入模块<!--by czh-->
1. 新增[ImportModule](../接口/通用/工具.md#importmodule)(客户端) 使用字符串的绝对路径导入模块<!--by czh-->
1. 新增[Enable](../接口/实体/魔法指令.md#enable)(服务端) 启用官方魔法指令功能<!--by wj-->
1. 新增[Disable](../接口/实体/魔法指令.md#disable)(服务端) 关闭官方魔法指令功能<!--by wj-->
1. 新增[OpenWorkBench](../接口/玩家/行为.md#openworkbench)(服务端) 新增打开工作台ui接口不依赖于工作台方块<!--by xusifan-->
1. 新增[SetChestLootTable](../接口/方块/属性.md#setchestloottable)(服务端) 设置箱子战利品表<!--by xusifan-->
1. 新增[AddActorComponentGroup](../接口/实体/行为.md#addactorcomponentgroup)(服务端) 给指定实体添加实体json中配置的ComponentGroup<!--by cxz-->
1. 新增[RemoveActorComponentGroup](../接口/实体/行为.md#removeactorcomponentgroup)(服务端) 移除指定实体在实体json中配置的ComponentGroup<!--by cxz-->
1. 新增[LockGameType](../接口/世界/游戏规则.md#lockgametype)(服务端) 锁定当前世界游戏类型接口<!--by lzy-->
1. 新增[IsLockGameType](../接口/世界/游戏规则.md#islockgametype)(服务端) 获取当前世界的游戏类型是否锁定接口<!--by lzy-->
1. 新增[LockGameRulesInfo](../接口/世界/游戏规则.md#lockgamerulesinfo)(服务端) 锁定当前世界游戏规则接口<!--by lzy-->
1. 新增[IsLockGameRulesInfo](../接口/世界/游戏规则.md#islockgamerulesinfo)(服务端) 获取当前世界的游戏规则是否锁定接口<!--by lzy-->
1. 新增[GetLootItems](../接口/世界/实体管理.md#getlootitems)(服务端) 指定战利品表获取一次战利品<!--by yangzhiwei-->
1. 新增[SetInteracteCenterOffset](../接口/玩家/行为.md#setinteractecenteroffset)(服务端) 设置玩家服务端交互中心的偏移<!--by cxz-->
1. 新增[GetInteracteCenterOffset](../接口/玩家/行为.md#getinteractecenteroffset)(服务端) 获取玩家服务端交互中心的偏移<!--by cxz-->
1. 新增[GetPlayerInteracteRange](../接口/玩家/行为.md#getplayerinteracterange)(服务端) 获取玩家服务端的交互距离<!--by cxz-->
1. 新增[SetPlayerInteracteRange](../接口/玩家/行为.md#setplayerinteracterange)(服务端) 设置玩家服务端的交互距离<!--by cxz-->
1. 新增[SetBanPlayerFishing](../接口/玩家/行为.md#setbanplayerfishing)(服务端) 设置是否屏蔽玩家钓鱼功能<!--by wj-->
1. 新增[SetEntityRenderDistance](../接口/实体/渲染.md#setentityrenderdistance)(客户端) 新增设置玩家周围的实体的可渲染距离接口<!--by xujiarong02-->
1. 新增[GetEntityRenderDistance](../接口/实体/渲染.md#getentityrenderdistance)(客户端) 新增获取玩家周围的实体可渲染距离接口<!--by xujiarong02-->
1. 新增[SetCameraDistanceFixed](../接口/玩家/摄像机.md#setcameradistancefixed)(客户端) 设置相机弹簧臂固定,即设置当相机遇到阻挡时是否压缩与人物之间的距离<!--by cxz-->
1. 新增[SetCameraRotation](../接口/玩家/摄像机.md#setcamerarotation)(客户端) 设定摄像机的朝向并且数值与GetCameraRot一致<!--by czh-->
1. 新增[SetPopupState](../接口/世界/消息.md#setpopupstate)(客户端) 设置Popup消息栏状态<!--by cxz-->
1. 新增[BindItemToBone](../接口/模型.md#binditemtobone)(客户端) 将使用了骨骼模型的玩家的手持物绑定到指定的骨骼上<!--by cxz-->
1. 新增[SetModelPartVisible](../接口/模型.md#setmodelpartvisible)(客户端) 新增屏蔽骨骼模型中指定骨骼渲染的接口<!--by xujiarong-->
1. 新增[SetPickCenterOffset](../接口/玩家/行为.md#setpickcenteroffset)(客户端) 设置第三人称下,玩家客户端交互中心的偏移<!--by cxz-->
1. 新增[GetPickCenterOffset](../接口/玩家/行为.md#getpickcenteroffset)(客户端) 获取玩家设置的第三人称下客户端交互中心的偏移<!--by cxz-->
1. 新增[SetPickRange](../接口/玩家/行为.md#setpickrange)(客户端) 设置玩家客户端的交互距离<!--by cxz-->
1. 新增[GetPickRange](../接口/玩家/行为.md#getpickrange)(客户端) 获取玩家客户端的交互距离<!--by cxz-->
1. 新增[GetControllerLayout](../接口/游戏设置.md#getcontrollerlayout)(客户端) 获取玩家控制器绑定映射<!--by cxz-->
1. 新增[SetEnableByName](../接口/后处理/自定义.md#setenablebyname)(客户端) 开关自定义后处理效果<!--by dengruitao-->
1. 新增[SetParameter](../接口/后处理/自定义.md#setparameter)(客户端) 设置自定义后处理参数<!--by dengruitao-->
1. 新增[GetGlobalPosition](../接口/自定义UI/UI控件.md#getglobalposition)(客户端) 获取控件全局坐标<!--by mayexing-->
1. 新增[PauseAnimation](../接口/自定义UI/UI控件.md#pauseanimation)(客户端) 暂停动画,暂停后的动画会停在当前的状态<!--by mayexing-->
1. 新增[PlayAnimation](../接口/自定义UI/UI控件.md#playanimation)(客户端) 继续播放动画,从动画当前状态开始播放<!--by mayexing-->
1. 新增[StopAnimation](../接口/自定义UI/UI控件.md#stopanimation)(客户端) 停止动画动画将恢复到第一段动画片段的from状态<!--by mayexing-->
1. 新增[SetAnimation](../接口/自定义UI/UI控件.md#setanimation)(客户端) 给单一属性设置动画,每次设置都会覆盖上一次的设置<!--by mayexing-->
1. 新增[RemoveAnimation](../接口/自定义UI/UI控件.md#removeanimation)(客户端) 删除单一属性的动画,删除后的值与当前状态有关,建议删除后重新设置该属性值<!--by mayexing-->
1. 新增[SetAnimEndCallback](../接口/自定义UI/UI控件.md#setanimendcallback)(客户端) 设置动画播放结束后的回调,每次设置都会覆盖上一次的设置<!--by mayexing-->
1. 新增[RemoveAnimEndCallback](../接口/自定义UI/UI控件.md#removeanimendcallback)(客户端) 移除动画播放结束后的回调<!--by mayexing-->
1. 新增[IsAnimEndCallbackRegistered](../接口/自定义UI/UI控件.md#isanimendcallbackregistered)(客户端) 控件是否对名称为animName的动画进行了注册回调<!--by mayexing-->
1. 新增[Rotate](../接口/自定义UI/UI控件.md#rotate)(客户端) 图片相对自身的旋转锚点进行旋转<!--by mayexing-->
1. 新增[RotateAround](../接口/自定义UI/UI控件.md#rotatearound)(客户端) 图片相对全局坐标系中某个固定的点进行旋转<!--by mayexing-->
1. 新增[SetRotatePivot](../接口/自定义UI/UI控件.md#setrotatepivot)(客户端) 图片相对全局坐标系中某个固定的点进行旋转<!--by mayexing-->
1. 新增[GetRotatePivot](../接口/自定义UI/UI控件.md#getrotatepivot)(客户端) 获取图片相对自身的旋转锚点<!--by mayexing-->
1. 新增[GetRotateAngle](../接口/自定义UI/UI控件.md#getrotateangle)(客户端) 获取图片相对自身的旋转锚点旋转的角度<!--by mayexing-->
1. 新增[GetGlobalRotateAngle](../接口/自定义UI/UI控件.md#getglobalrotateangle)(客户端) 获取图片通过RotateAround函数设置进去的角度值<!--by mayexing-->
1. 新增[GetGlobalRotatePoint](../接口/自定义UI/UI控件.md#getglobalrotatepoint)(客户端) 获取图片通过RotateAround函数设置进去的point值<!--by mayexing-->
1. 新增[GetRotateRect](../接口/自定义UI/UI控件.md#getrotaterect)(客户端) 获取图片当前的四个边角点<!--by mayexing-->
1. 新增[OnGamepadKeyPressClientEvent](../事件/控制.md#ongamepadkeypressclientevent)(客户端) 游戏手柄按键事件<!--by cxz-->
1. 新增[OnGamepadStickClientEvent](../事件/控制.md#ongamepadstickclientevent)(客户端) 游戏手柄摇杆事件<!--by cxz-->
1. 新增[OnGamepadTriggerClientEvent](../事件/控制.md#ongamepadtriggerclientevent)(客户端) 游戏手柄扳机事件<!--by cxz-->
1. 新增[OnGamepadControllerLayoutChangeClientEvent](../事件/控制.md#ongamepadcontrollerlayoutchangeclientevent)(客户端) 游戏手柄按键映射改变事件<!--by cxz-->
1. 新增[OnKeyboardControllerLayoutChangeClientEvent](../事件/控制.md#onkeyboardcontrollerlayoutchangeclientevent)(客户端) 键盘按键映射改变事件<!--by cxz-->
1. 新增[ModBlockEntityLoadedClientEvent](../事件/方块.md#modblockentityloadedclientevent)(客户端) 客户端自定义方块实体加载完成后第一次出现在玩家视野中时触发的事件<!--by yangzhiwei-->
1. 新增[RayFilterType](../枚举值/RayFilterType.md) 射线检测类型<!--by hdy-->
- 调整
1. 调整[CreateUI](../接口/自定义UI/通用.md#createui)(客户端) 配置了bindWorldPosition参数时开放autoScale参数2.7版本固定为1设置自动缩放需要将UI写为百分比形式设置为固定尺寸将无法缩放超过一定距离时不可见。<!--by cxz-->
1. 调整[HideChatGUI](../接口/原生UI.md#hidechatgui)(客户端) 新增关于新版聊天的说明<!--by wj-->
1. 调整[HideEmoteGUI](../接口/原生UI.md#hideemotegui)(客户端) 增加新版聊天相关说明<!--by wj-->
1. 调整[HideVoiceGUI](../接口/原生UI.md#hidevoicegui)(客户端) 增加新版聊天相关说明<!--by wj-->
1. 调整[HideNeteaseStoreGui](../接口/原生UI.md#hideneteasestoregui)(客户端) 增加UI堆栈说明<!--by xusifan-->
1. 调整[OpenPauseGui](../接口/原生UI.md#openpausegui)(客户端) 增加isForce字段<!--by xsf-->
1. 调整[OpenChatGui](../接口/原生UI.md#openchatgui)(客户端) 增加isForce字段<!--by xsf-->
1. 调整[OpenInventoryGui](../接口/原生UI.md#openinventorygui)(客户端) 增加isForce字段<!--by xsf-->
1. 调整[SetBlockTileEntityCustomData](../接口/方块/方块实体.md#setblocktileentitycustomdata)(服务端) 新增dimensionId参数默认为-1<!--by lzy-->
1. 调整[GetBlockTileEntityCustomData](../接口/方块/方块实体.md#getblocktileentitycustomdata)(服务端) 新增dimensionId参数默认为-1<!--by lzy-->
1. 调整[GetBlockTileEntityWholeCustomData](../接口/方块/方块实体.md#getblocktileentitywholecustomdata)(服务端) 新增dimensionId参数默认为-1<!--by lzy-->
1. 调整[CleanBlockTileEntityCustomData](../接口/方块/方块实体.md#cleanblocktileentitycustomdata)(服务端) 新增dimensionId参数默认为-1<!--by lzy-->
1. 调整[GetChestPairedPosition](../接口/方块/容器.md#getchestpairedposition)(服务端) 新增dimensionId参数默认为-1<!--by lzy-->
1. 调整[GetBedColor](../接口/方块/床.md#getbedcolor)(服务端) 新增dimensionId参数默认为-1<!--by lzy-->
1. 调整[SetBedColor](../接口/方块/床.md#setbedcolor)(服务端) 新增dimensionId参数默认为-1<!--by lzy-->
1. 调整[GetSignBlockText](../接口/方块/告示牌.md#getsignblocktext)(服务端) 新增dimensionId参数默认为-1<!--by lzy-->
1. 调整[SetSignBlockText](../接口/方块/告示牌.md#setsignblocktext)(服务端) 新增dimensionId参数默认为-1<!--by lzy-->
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(服务端) 物品类型添加food、block、armor新增customItemType、armorToughness、armorknockbackResistance字段<!--by lzy-->
1. 调整[PlayCustomMusic](../接口/音效.md#playcustommusic)(客户端) 添加使用stream的音频无法同时播放两个音效实例的描述<!--by czh-->
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(客户端) 物品类型添加food、block、armor新增customItemType、armorToughness、armorknockbackResistance字段<!--by lzy-->
1. 调整[ServerBlockUseEvent](../事件/方块.md#serverblockuseevent)(服务端) 新增itemDict, face参数<!--by lzy-->
1. 调整[OnNewArmorExchangeServerEvent](../事件/物品.md#onnewarmorexchangeserverevent)(服务端) 新增避免在该事件内调用修改盔甲接口的说明<!--by wj-->
1. 调整[ItemReleaseUsingServerEvent](../事件/物品.md#itemreleaseusingserverevent)(服务端) 新增changeItem参数如果要在该事件的回调中修改当前使用槽位的物品需设置这个参数为True否则将修改物品失败<!--by cxz-->
1. 调整[ChunkLoadedServerEvent](../事件/世界.md#chunkloadedserverevent)(服务端) 添加blockEntities字段<!--by yangzhiwei-->
- 修复
1. 修复[GetMotion](../接口/实体/行为.md#getmotion)(客户端) 修复了不能获取非玩家实体的问题<!--by czh-->
- 废弃(将在未来不可用)
1. 废弃SetCameraRot请使用SetCameraRotation接口

View File

@@ -0,0 +1,285 @@
# 2.9
2023.10.24版本号V2.9 BE1.18.30
包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html" rel="noopenner">前往此处下载</a>
## 一、更新时间表
1. 在10月24日上线2.9第一个Beta版。
2. 在11月07日上线2.9第二个Beta版。
3. 在11月16日上线2.9稳定版。
4. 在11月24日全渠道将更新2.9版本玩家包体玩家将陆续更新到2.9版本,请开发者合理安排更新节奏。
## 二、重要功能更新
### 材质与着色器
1. 支持原版BB模型自定义shader的Uniform参数实现动态材质表现详见
[SetEntityExtraUniforms](../接口/实体/渲染.md#setentityextrauniforms)和[SetBlockEntityExtraUniforms](../接口/方块/渲染.md#setblockentityextrauniforms)系列接口。
![图片](../picture/V29_entityshaeruniform.gif)
2. 新增支持动态替换骨骼模型的材质接口,详见[SetModelMaterial](../接口/模型.md#setmodelmaterial)和[SetModelMultiPassMaterial](../接口/模型.md#setmodelmultipassmaterial)系列接口。
3. 新增获取骨骼模型shader的Uniform参数的接口详见[GetExtraUniformValue](../接口/模型.md#getextrauniformvalue)。
4. 新增自定义后处理效果系列接口包括获取开启状态参数和管理多pass材质相关功能详见[InsertPassToPostprocess](../接口/后处理/自定义.md#insertpasstopostprocess)和[CheckEnabledByName](../接口/后处理/自定义.md#checkenabledbyname)等接口。
5. 根据反馈再次更新了材质使用相关的教学文档,补充了更详细的配置和接口说明,详情参考<a href="../../../mcguide/16-美术/7-材质与着色器/1-材质介绍与着色器入门.html">材质介绍与着色器入门教程</a>。
6. 示例Demo新增针对性更强的自定义玩家材质、自定义实体模型材质、自定义骨骼模型材质、自定义网易粒子特效材质自定义后处理的简单Demo详见<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html" rel="noopenner">示例DEMO</a>,或直接前往内容库下载和使用。
### NBT系列接口
新增了部分获取和设置实体、玩家的NBT属性的接口详见[实体属性](../接口/实体/属性.md)、[实体行为](../接口/实体/行为.md)、[玩家属性](../接口/玩家/属性.md#getenchantmentseed)和[玩家权限](../接口/玩家/权限.md)等模块的新增接口。
### 大型结构特征
1. 支持下界和末地生成大型结构特征,详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/6-自定义大型特征.html" rel="noopenner">这篇文档</a>。
2. 修复了概率丢失部分结构的问题。
3. 修复了结构包含命令方块时,概率出现断言的问题。
4. 新增大型结构生成事件,且支持取消生成,详见[PlaceNeteaseLargeFeatureServerEvent](../事件/世界.md#placeneteaselargefeatureserverevent)。
### 成就系统
1. 成就系统的按钮被拖动时抛出事件,详见[AchievementButtonMovedClientEvent](../事件/UI.md#achievementbuttonmovedclientevent)。
2. 新增获取和设置成就系统按钮的接口,详见[SetAchievementGatePosition](../接口/自定义UI/自定义成就系统.md#setachievementgateposition)和[GetAchievementGatePosition](../接口/自定义UI/自定义成就系统.md#getachievementgateposition)。
3. 替换了关闭按钮的UI资源。
4. 修复成就系统概率重置的问题。
### UI
1. 小地图控件支持增加文本标记,详见[AddEntityTextMarker](../接口/自定义UI/UI界面.md#addentitytextmarker)接口。
2. 网易纸娃娃支持渲染某一类生物,无需关联某个实例,详见[RenderEntity](../接口/自定义UI/UI控件.md#renderentity)。
3. 网易纸娃娃支持定义灯光方向,详见[RenderSkeletonModel](../接口/自定义UI/UI控件.md#renderskeletonmodel)接口。
![图片](../picture/V29PaperDollLight.png)
4. 修复了网易纸娃娃arm_model切换到第一人称时出现偏移的问题。
5. [GridComponentSizeChangedClientEvent](../事件/UI.md#gridcomponentsizechangedclientevent)新增抛出grid路径参数。
6. [GetPath](../接口/自定义UI/UI控件.md#getpath)(客户端) 返回当前控件的相对路径。
7. [SetBindWorldPosition](../接口/自定义UI/UI界面.md#setbindworldposition)设置绑定到世界坐标的UI控件的位置。
### 物品分页
1. 物品分页新增sort_by_identifier字段支持该分页按照物品标识符分组详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/13-自定义物品分页.html" rel="noopenner">这篇文档</a>。
### 游戏设置
1. [SetToggleOption](../接口/游戏设置.md#settoggleoption)新增多个可控制的游戏设置,包括十字键,平滑光照等等。
### 摄像机
1. [SetCameraAnchor](../接口/玩家/摄像机.md#setcameraanchor)(客户端)支持XZ轴。
2. 新增[GetCameraRotation](../接口/玩家/摄像机.md#getcamerarotation)替代原有GetCameraRot支持获取三个方向角度。
### 骨骼模型
1. ModelComp组件下部分接口支持传入ModelId参数用于指定模型如[SetTexture](../接口/模型.md#settexture)(客户端)。
### 其他
1. 修复了射线检测接口无法用于方块检测的问题,详见[getEntitiesOrBlockFromRay](../接口/世界/实体管理.md#getentitiesorblockfromray)。
2. 方块配置的netease:block_chest组件新增了can_be_blocked字段用于控制箱子的开启是否受到实心方块的阻挡详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.html" rel="noopenner">这篇文档</a>。
## 三、API更新
- 新增
1. 新增[GetEntityDefinitions](../接口/实体/实体类型.md#getentitydefinitions)(服务端) 获取实体的命名空间ID及其当前和之前的定义组件群<!--by cxz-->
1. 新增[GetEntityFallDistance](../接口/实体/属性.md#getentityfalldistance)(服务端) 获取实体的坠落高度,越大的值会给予实体更大的坠落伤害<!--by cxz-->
1. 新增[GetEntityLinksTag](../接口/实体/属性.md#getentitylinkstag)(服务端) 获取实体相连接的实体如获取entityId为马会返回骑乘者的信息<!--by cxz-->
1. 新增[IsLootDropped](../接口/实体/行为.md#islootdropped)(服务端) 获取生物是否生成掉落物<!--by cxz-->
1. 新增[SetLootDropped](../接口/实体/行为.md#setlootdropped)(服务端) 设置生物是否生成掉落物<!--by cxz-->
1. 新增[GetMobColor](../接口/实体/属性.md#getmobcolor)(服务端) 获取生物的颜色截止至网易2.9版本,只对羊和热带鱼有效<!--by cxz-->
1. 新增[SetMobColor](../接口/实体/属性.md#setmobcolor)(服务端) 设置生物的颜色截止至网易2.9版本,只对羊和热带鱼有效<!--by cxz-->
1. 新增[GetMobStrength](../接口/实体/属性.md#getmobstrength)(服务端) 获取生物的强度截止至网易2.9版本,只对羊驼有效,强度越大羊驼驮运的箱子时格子数量越多<!--by cxz-->
1. 新增[SetMobStrength](../接口/实体/属性.md#setmobstrength)(服务端) 设置生物的强度截止至网易2.9版本,只对羊驼有效,强度越大羊驼驮运的箱子时格子数量越多<!--by cxz-->
1. 新增[GetMobStrengthMax](../接口/实体/属性.md#getmobstrengthmax)(服务端) 获取生物强度的最大值截止至网易2.9版本,只对羊驼有效,强度越大羊驼驮运的箱子时格子数量越多,[SetMobStrength](#setstrength)无法超过SetMobStrengthMax的值<!--by cxz-->
1. 新增[SetMobStrengthMax](../接口/实体/属性.md#setmobstrengthmax)(服务端) 设置生物强度的最大值截止至网易2.9版本,只对羊驼有效,强度越大羊驼驮运的箱子时格子数量越多,[SetMobStrength](#setmobstrength)无法超过SetMobStrengthMax的值<!--by cxz-->
1. 新增[IsSheared](../接口/实体/属性.md#issheared)(服务端) 判断实体是否被剃毛截止至网易2.9版本,只对羊有效<!--by cxz-->
1. 新增[SetSheared](../接口/实体/属性.md#setsheared)(服务端) 设置实体是否被剃毛截止至网易2.9版本,只对羊有效<!--by cxz-->
1. 新增[IsIllagerCaptain](../接口/实体/属性.md#isillagercaptain)(服务端) 判断实体是否为袭击队长截止至网易2.9版本,只对掠夺者和卫道士有效<!--by cxz-->
1. 新增[PromoteToIllagerCaptain](../接口/实体/属性.md#promotetoillagercaptain)(服务端) 晋升实体为袭击队长截止至网易2.9版本,只对掠夺者和卫道士有效<!--by cxz-->
1. 新增[IsSitting](../接口/实体/属性.md#issitting)(服务端) 判断实体是否处于坐下状态<!--by cxz-->
1. 新增[SetSitting](../接口/实体/属性.md#setsitting)(服务端) 设置生物是否坐下<!--by cxz-->
1. 新增[IsBaby](../接口/实体/属性.md#isbaby)(服务端) 判断实体是否为幼年<!--by cxz-->
1. 新增[SetAsAdult](../接口/实体/属性.md#setasadult)(服务端) 设置实体为成年体<!--by cxz-->
1. 新增[IsTamed](../接口/实体/属性.md#istamed)(服务端) 判断实体是否被驯服<!--by cxz-->
1. 新增[IsAngry](../接口/实体/属性.md#isangry)(服务端) 判断实体是否处于激怒状态<!--by cxz-->
1. 新增[SetAngry](../接口/实体/属性.md#setangry)(服务端) 设置实体是否处于激怒状态<!--by cxz-->
1. 新增[IsOutOfControl](../接口/实体/属性.md#isoutofcontrol)(服务端) 判断实体是否处于失控状态截止至网易2.9版本,只对船有效<!--by cxz-->
1. 新增[SetOutOfControl](../接口/实体/属性.md#setoutofcontrol)(服务端) 设置实体是否处于失控状态截止至网易2.9版本,只对船有效<!--by cxz-->
1. 新增[GetVariant](../接口/实体/属性.md#getvariant)(服务端) 获取实体的变种属性值<!--by cxz-->
1. 新增[SetVariant](../接口/实体/属性.md#setvariant)(服务端) 设置实体的变种属性值<!--by cxz-->
1. 新增[GetMarkVariant](../接口/实体/属性.md#getmarkvariant)(服务端) 获取实体的标记变种属性值<!--by cxz-->
1. 新增[SetMarkVariant](../接口/实体/属性.md#setmarkvariant)(服务端) 设置实体的标记变种属性值<!--by cxz-->
1. 新增[HasSaddle](../接口/实体/属性.md#hassaddle)(服务端) 判断实体是否装备了鞍<!--by cxz-->
1. 新增[HasChest](../接口/实体/属性.md#haschest)(服务端) 判断生物是否背负了箱子截止至网易2.9版本,只对羊驼、驴、骡生效<!--by cxz-->
1. 新增[SetChest](../接口/实体/属性.md#setchest)(服务端) 设置生物是否背负了箱子截止至网易2.9版本,只对羊驼、驴、骡生效<!--by cxz-->
1. 新增[IsEating](../接口/实体/行为.md#iseating)(服务端) 判断非玩家实体是否在进食<!--by cxz-->
1. 新增[IsStunned](../接口/实体/行为.md#isstunned)(服务端) 判断是否处于眩晕状态截止至网易2.9版本,仅对劫掠兽有效<!--by cxz-->
1. 新增[IsRoaring](../接口/实体/行为.md#isroaring)(服务端) 判断是否处于咆哮状态截止至网易2.9版本,仅对劫掠兽有效<!--by cxz-->
1. 新增[IsPersistent](../接口/实体/行为.md#ispersistent)(服务端) 判断是否为持久性生物<!--by cxz-->
1. 新增[GetLeashHolder](../接口/实体/行为.md#getleashholder)(服务端) 获取实体被使用拴绳牵引时牵引者的ID<!--by cxz-->
1. 新增[SetLeashHolder](../接口/实体/行为.md#setleashholder)(服务端) 为实体添加牵引者,与原版拴绳的作用相同<!--by cxz-->
1. 新增[GetTradeLevel](../接口/实体/属性.md#gettradelevel)(服务端) 获取村民的交易等级<!--by cxz-->
1. 新增[SetTradeLevel](../接口/实体/属性.md#settradelevel)(服务端) 设置村民的交易等级<!--by cxz-->
1. 新增[GetDeathTime](../接口/实体/属性.md#getdeathtime)(服务端) 获取生物死亡后持续的时间1秒20刻用于控制死亡动画。0表示生物未死亡。<!--by cxz-->
1. 新增[IsNaturallySpawned](../接口/实体/属性.md#isnaturallyspawned)(服务端) 获取生物是否为自然生成的<!--by cxz-->
1. 新增[IsPregnant](../接口/实体/属性.md#ispregnant)(服务端) 获取生物是否怀孕截止至网易2.9版本,只对海龟有效<!--by cxz-->
1. 新增[GetEnchantmentSeed](../接口/玩家/属性.md#getenchantmentseed)(服务端) 获取玩家的附魔种子,该种子会决定附魔台上准备附魔的装备的附魔项<!--by cxz-->
1. 新增[SetEnchantmentSeed](../接口/玩家/属性.md#setenchantmentseed)(服务端) 设置玩家的附魔种子,该种子会决定附魔台上准备附魔的装备的附魔项<!--by cxz-->
1. 新增[SetBuildAbility](../接口/玩家/权限.md#setbuildability)(服务端) 设置玩家能否放置方块,该接口的设置会存档,且只影响生存模式<!--by cxz-->
1. 新增[SetMineAbility](../接口/玩家/权限.md#setmineability)(服务端) 设置玩家能否摧毁方块,该接口的设置会存档,且只影响生存模式<!--by cxz-->
1. 新增[SetOperateDoorsAndSwitchesAbility](../接口/玩家/权限.md#setoperatedoorsandswitchesability)(服务端) 设置玩家能否与门和开关交互,该接口的设置会存档,影响生存、创造、冒险模式<!--by cxz-->
1. 新增[SetOpenContainersAbility](../接口/玩家/权限.md#setopencontainersability)(服务端) 设置玩家能否打开容器,该接口的设置会存档,影响生存、创造、冒险模式<!--by cxz-->
1. 新增[SetAttackPlayersAbility](../接口/玩家/权限.md#setattackplayersability)(服务端) 设置玩家能否攻击其他玩家,该接口的设置会存档,影响生存、创造、冒险模式<!--by cxz-->
1. 新增[SetAttackMobsAbility](../接口/玩家/权限.md#setattackmobsability)(服务端) 设置玩家能否攻击生物,该接口的设置会存档,影响生存、创造、冒险模式<!--by cxz-->
1. 新增[SetAchievementGatePosition](../接口/自定义UI/自定义成就系统.md#setachievementgateposition)(客户端) 设置自定义成就系统的入口按钮位置<!--by cxz-->
1. 新增[GetAchievementGatePosition](../接口/自定义UI/自定义成就系统.md#getachievementgateposition)(客户端) 获取自定义成就系统的入口按钮位置<!--by cxz-->
1. 新增[SetEntityExtraUniforms](../接口/实体/渲染.md#setentityextrauniforms)(客户端) 新增设置用于实体shader的自定义变量接口<!--by xujiarong02-->
1. 新增[SetEntityUIExtraUniforms](../接口/实体/渲染.md#setentityuiextrauniforms)(客户端) 新增设置用于实体shader的UI自定义变量接口<!--by xujiarong02-->
1. 新增[GetEntityExtraUniforms](../接口/实体/渲染.md#getentityextrauniforms)(客户端) 新增获取在实体shader使用的自定义变量的值的接口<!--by xujiarong02-->
1. 新增[GetEntityUIExtraUniforms](../接口/实体/渲染.md#getentityuiextrauniforms)(客户端) 新增获取在实体shader使用的UI自定义变量的值的接口<!--by xujiarong02-->
1. 新增[SetBlockEntityExtraUniforms](../接口/方块/渲染.md#setblockentityextrauniforms)(客户端) 设置可在自定义方块实体的shader当中使用的自定义变量的值。<!--by xujiarong-->
1. 新增[GetBlockEntityExtraUniforms](../接口/方块/渲染.md#getblockentityextrauniforms)(客户端) 获取在自定义方块实体的shader当中使用的自定义变量的值。<!--by xujiarong-->
1. 新增[GetCameraRotation](../接口/玩家/摄像机.md#getcamerarotation)(客户端) 获取摄像机的朝向,支持获取翻滚角<!--by czh-->
1. 新增[GetExtraUniformValue](../接口/模型.md#getextrauniformvalue)(客户端) 获取在骨骼模型shader中使用的自定义变量Uniform的值<!--by xujiarong-->
1. 新增[SetModelMaterial](../接口/模型.md#setmodelmaterial)(客户端) 新增设置骨骼模型的所使用的自定义材质接口<!--by xujiarong-->
1. 新增[SetModelMultiPassMaterial](../接口/模型.md#setmodelmultipassmaterial)(客户端) 新增设置骨骼模型的所使用的多Pass材质接口<!--by xujiarong-->
1. 新增[GetModelMaterial](../接口/模型.md#getmodelmaterial)(客户端) 新增获取骨骼模型的正在使用的材质名称的接口<!--by xujiarong-->
1. 新增[SetRotUseZXY](../接口/特效/微软粒子.md#setrotusezxy)(客户端) 设置粒子发射器旋转旋转顺序按照绕z,x,y轴旋转<!--by xujiarong-->
1. 新增[CheckEnabledByName](../接口/后处理/自定义.md#checkenabledbyname)(客户端) 查询是否开启了自定义后处理效果<!--by xujiarong-->
1. 新增[GetParameter](../接口/后处理/自定义.md#getparameter)(客户端) 获取指定自定义后处理参数的值<!--by xujiarong-->
1. 新增[InsertPassToPostprocess](../接口/后处理/自定义.md#insertpasstopostprocess)(客户端) 往自定义后处理的多pass中的指定位置插入自定义pass<!--by xujiarong-->
1. 新增[PushBackPassToPostprocess](../接口/后处理/自定义.md#pushbackpasstopostprocess)(客户端) 往自定义后处理的多pass的最末尾插入自定义pass<!--by xujiarong-->
1. 新增[RemovePassInPostprocess](../接口/后处理/自定义.md#removepassinpostprocess)(客户端) 删除自定义后处理的多pass中指定位置的pass<!--by xujiarong-->
1. 新增[PopBackPassInPostprocess](../接口/后处理/自定义.md#popbackpassinpostprocess)(客户端) 删除自定义后处理的多pass的最末尾的pass<!--by xujiarong-->
1. 新增[SetBindWorldPosition](../接口/自定义UI/UI界面.md#setbindworldposition)(客户端) 设置UI绑定的worldPosition<!--by cxz-->
1. 新增[AddEntityTextMarker](../接口/自定义UI/UI界面.md#addentitytextmarker)(客户端) 增加实体文本标记<!--by dongbingyang-->
1. 新增[RemoveEntityTextMarker](../接口/自定义UI/UI界面.md#removeentitytextmarker)(客户端) 删除实体文本标记<!--by dongbingyang-->
1. 新增[AddStaticTextMarker](../接口/自定义UI/UI界面.md#addstatictextmarker)(客户端) 增加地图上静态文本的标记<!--by dongbingyang-->
1. 新增[RemoveStaticTextMarker](../接口/自定义UI/UI界面.md#removestatictextmarker)(客户端) 删除静态文本标记<!--by dongbingyang-->
1. 新增[GetPath](../接口/自定义UI/UI控件.md#getpath)(客户端) 返回当前控件的相对路径,路径从画布节点开始算起<!--by hdy-->
1. 新增[PlayerFeedEntityServerEvent](../事件/玩家.md#playerfeedentityserverevent)(服务端) 玩家喂养生物时触发,例如玩家手持小麦喂养牛、玩家手持胡萝卜喂养幼年猪。<!--by hdy-->
1. 新增[PlayerNamedEntityServerEvent](../事件/玩家.md#playernamedentityserverevent)(服务端) 玩家用命名牌重命名实体时触发,例如玩家手持命名牌对羊修改名字、玩家手持命名牌对盔甲架修改名字。<!--by hdy-->
1. 新增[PlaceNeteaseLargeFeatureServerEvent](../事件/世界.md#placeneteaselargefeatureserverevent)(服务端) 触发时机:网易版大型结构即将生成时服务端抛出该事件<!--by hdy-->
1. 新增[AchievementButtonMovedClientEvent](../事件/UI.md#achievementbuttonmovedclientevent)(客户端) 使用自定义成就系统的时,拖动成就入口结束时触发<!--by cxz-->
- 调整
1. 调整[getEntitiesOrBlockFromRay](../接口/世界/实体管理.md#getentitiesorblockfromray)(服务端) 支持检测方块<!--by hdy-->
1. 调整[GetRecipeResult](../接口/世界/配方.md#getreciperesult)(服务端) 返回值新增fullItemName字段包含了物品的命名空间。原来的itemName字段弃用<!--by czh-->
1. 调整[GetOwnerId](../接口/实体/行为.md#getownerid)(服务端) 现在主人实体未在世界内加载也可以返回id<!--by czh-->
1. 调整[SetCameraAnchor](../接口/玩家/摄像机.md#setcameraanchor)(客户端) 支持x、z轴<!--by xsf-->
1. 调整[PlayAnim](../接口/模型.md#playanim)(客户端) 增加modelId参数用于选择指定模型<!--by xsf-->
1. 调整[GetAnimLength](../接口/模型.md#getanimlength)(客户端) 增加modelId参数用于选择指定模型<!--by xsf-->
1. 调整[SetAnimSpeed](../接口/模型.md#setanimspeed)(客户端) 增加modelId参数用于选择指定模型<!--by xsf-->
1. 调整[SetTexture](../接口/模型.md#settexture)(客户端) 增加modelId参数用于选择指定模型<!--by xsf-->
1. 调整[GetTexture](../接口/模型.md#gettexture)(客户端) 增加modelId参数用于选择指定模型<!--by xsf-->
1. 调整[SetLegacyBindRot](../接口/模型.md#setlegacybindrot)(客户端) 增加modelId参数用于选择指定模型<!--by xsf-->
1. 调整[GetBoneWorldPos](../接口/模型.md#getboneworldpos)(客户端) 增加modelId参数用于选择指定模型<!--by xsf-->
1. 调整[GetOwnerId](../接口/实体/行为.md#getownerid)(客户端) 现在主人实体未在世界内加载也可以返回id<!--by czh-->
1. 调整[RenderEntity](../接口/自定义UI/UI控件.md#renderentity)(客户端) 支持使用实体identifier进行渲染<!--by xujiarong-->
1. 调整[RenderSkeletonModel](../接口/自定义UI/UI控件.md#renderskeletonmodel)(客户端) 新增light_direction参数可以控制骨骼模型在纸娃娃中的打光方向<!--by xujiarong-->
1. 调整[DamageEvent](../事件/实体.md#damageevent)(服务端) 增加ignite参数注意事项<!--by xusifan-->
1. 调整[OnFireHurtEvent](../事件/实体.md#onfirehurtevent)(服务端) 新增cancelIgnite参数支持取消点燃效果<!--by xusifan-->
1. 调整[GridComponentSizeChangedClientEvent](../事件/UI.md#gridcomponentsizechangedclientevent)(客户端) 增加path参数grid网格所在的路径从UI根节点算起<!--by hdy-->
1. 调整[OptionId](../枚举值/OptionId.md) 新增十字键操作、隐藏HUD、摄像机摇晃等8个OptionId<!--by xsf-->
- 废弃(将在未来不可用)
1. 废弃GetCameraRot请使用GetCameraRotation接口

View File

@@ -0,0 +1,109 @@
# 3.0
2024.08.15版本号V3.0 BE1.20.11
包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html" rel="noopenner">前往此处下载</a>
## 一、更新时间表
1. 在2024年8月15日上线3.0第一个Beta版。
2. 在2024年8月29日上线3.0第二个Beta版。
3. 在2024年9月12日上线3.0稳定版。
4. 在2024年9月20日全渠道将更新3.0版本玩家包体玩家将陆续更新到3.0版本,请开发者合理安排更新节奏。
## 二、重要功能更新
1. 支持获取实体的NBT标签现在可以直接访问游戏中实体的NBT字典并直接生成带有NBT标签的实体。详见[GetEntityNBTTags](../接口/实体/实体类型.md#getentitynbttags)和[CreateEngineEntityByNBT](../接口/世界/实体管理.md#createengineentitybynbt)接口。示例Demo与内容库也新增了对应的Demo自定义精灵蛋。
![v30_nbt](../picture/v30_nbt.gif)
1. 现在可以动态设置一个坐标或一片方块区域的群系,可用于改变群系效果,生物刷新规则等,详见[SetBiomeByPos](../接口/世界/地图.md#setbiomebypos)、[SetBiomeByPosList](../接口/世界/地图.md#setbiomebyposlist)、[SetBiomeByVolume](../接口/世界/地图.md#setbiomebyvolume)等接口。
![V30_setbiome](../picture/V30_setbiome.gif)
1. 使用[GetBonePositionFromMinecraftObject](../接口/模型.md#getbonepositionfromminecraftobject)接口,您可以直接获取原版模型的骨骼世界坐标。有效增强物理交互与表现,进一步提高开发上限。
1. 利用[SetBiomeInfo](../接口/世界/地图.md#setbiomeinfo)与[GetBiomeInfo](../接口/世界/地图.md#getbiomeinfo),现在可以动态改变群系的气候,决定是否降雪或者降雨。
1. 自定义物品新增<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/1-自定义物品/1-自定义基础物品.html#netease-compostable" rel="noopenner"> 堆肥组件 </a>。
1. 自定义方块<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.html#netease-tier" rel="noopenner"> 挖掘组件 </a>新增锄速度加成属性。
## 三、API更新
- 新增
1. 新增[IsTouchWithMouse](../接口/控制.md#istouchwithmouse)(客户端) 获取是否正在使用鼠标点击模拟触屏<!--by bl-->
1. 新增[CreateEngineEntityByNBT](../接口/世界/实体管理.md#createengineentitybynbt)(服务端) 根据nbt数据创建实体<!--by qyk-->
1. 新增[SetBiomeInfo](../接口/世界/地图.md#setbiomeinfo)(服务端) 设置群系天气相关参数,受引擎限制,目前snowAccumulation参数没有效果,downfall目前只影响湿度<!--by qyk-->
1. 新增[GetBiomeInfo](../接口/世界/地图.md#getbiomeinfo)(服务端) 获取群系天气相关参数<!--by qyk-->
1. 新增[SetBiomeByPos](../接口/世界/地图.md#setbiomebypos)(服务端) 增加设置生物群系接口<!--by bailei-->
1. 新增[SetBiomeByPosList](../接口/世界/地图.md#setbiomebyposlist)(服务端) 增加设置生物群系接口<!--by bailei-->
1. 新增[SetBiomeByVolume](../接口/世界/地图.md#setbiomebyvolume)(服务端) 增加设置生物群系接口<!--by bailei-->
1. 新增[GetEntityNBTTags](../接口/实体/实体类型.md#getentitynbttags)(服务端) 获取实体的NBT标签<!--by qyk-->
1. 新增[PlayCustomUIMusic](../接口/音效.md#playcustomuimusic)(客户端) 播放UI音效包括原版音效及自定义音效<!--by qyk-->
1. 新增[SetBlockRenderDistance](../接口/方块/渲染.md#setblockrenderdistance)(客户端) 设置玩家周围区块的可渲染距离,无法超过视频设置中的能见度限制<!--by xgb-->
1. 新增[GetBlockRenderDistance](../接口/方块/渲染.md#getblockrenderdistance)(客户端) 获取玩家周围的可渲染距离<!--by xgb-->
1. 新增[GetBonePositionFromMinecraftObject](../接口/模型.md#getbonepositionfromminecraftobject)(客户端) 获取原版模型的骨骼世界坐标<!--by qyk-->
- 调整
1. 调整[SetAttrValue](../接口/实体/属性.md#setattrvalue)(服务端) 新增对AttrType.ARMOR的支持<!--by qyk-->
1. 调整[AddBlockItemListenForUseEvent](../事件/方块.md#addblockitemlistenforuseevent)(服务端) auxvalue默认值从0改为*<!--by xgb-->
1. 调整[RemoveBlockItemListenForUseEvent](../事件/方块.md#removeblockitemlistenforuseevent)(服务端) auxvalue默认值从0改为*<!--by xgb-->
1. 调整[SetMobStrengthMax](../接口/实体/属性.md#setmobstrengthmax)(服务端) 增加的接口特殊情况说明由于引擎限制在羊驼被打时候会reload组件strengthMax会恢复成llama.json中的配置值(minecraft:strength)<!--by bl-->
1. 调整[LocateStructureFeature](../接口/世界/地图.md#locatestructurefeature)(服务端) 支持只在未生成的区块中查找<!--by bailei-->
1. 调整[LocateNeteaseFeatureRule](../接口/世界/地图.md#locateneteasefeaturerule)(服务端) 支持获取未生成区块的地物结构<!--by bailei-->
1. 调整[SetPlayerGameType](../接口/玩家/游戏模式.md#setplayergametype)(服务端) 新增对旁观模式的支持<!--by qyk-->
1. 调整[ChangeArmorTextures](../接口/物品.md#changearmortextures)(客户端) 修复uiIconTexture不支持None和""的问题<!--by qyk-->
1. 调整[SetEntityRenderDistance](../接口/实体/渲染.md#setentityrenderdistance)(客户端) 实现调整为不影响方块的渲染距离<!--by xgb-->
1. 调整[AddBlockItemListenForUseEvent](../事件/方块.md#addblockitemlistenforuseevent)(客户端) auxvalue默认值从0改为*<!--by xgb-->
1. 调整[RemoveBlockItemListenForUseEvent](../事件/方块.md#removeblockitemlistenforuseevent)(客户端) auxvalue默认值从0改为*<!--by xgb-->
1. 调整[SetCameraAnchor](../接口/玩家/摄像机.md#setcameraanchor)(客户端) 修复交互中心第一人称下没有跟随偏移的BUG<!--by qyk-->
1. 调整[BindModelToEntity](../接口/模型.md#bindmodeltoentity)(客户端) 新增scale参数控制挂接的模型缩放<!--by qyk-->
1. 调整[PlayerAttackEntityEvent](../事件/玩家.md#playerattackentityevent)(服务端) 新增isCrit参数,用于判断本次攻击是否产生暴击<!--by qyk-->
1. 调整[DestroyBlockEvent](../事件/方块.md#destroyblockevent)(服务端) 新增掉落物实体id列表<!--by bailei-->
1. 调整[PlayerFeedEntityServerEvent](../事件/玩家.md#playerfeedentityserverevent)(服务端) 调整备注,新增使用时注意事项<!--by lidi-->
1. 调整[EntityDieLoottableServerEvent](../事件/实体.md#entitydieloottableserverevent)(服务端) 支持修改itemDict中的userData,userData必须为NBT数据格式,格式可参考<a href="../../../mcguide/20-玩法开发/10-基本概念/1-我的世界基础概念.html#NBT数据格式#NBT数据格式">NBT数据格式</a><!--by qyk-->
- 修复
1. 修复[SetMobStrength](../接口/实体/属性.md#setmobstrength)(服务端) 修复当羊驼被打时候,强度值恢复。修复强度值没有存档。<!--by bl-->

View File

@@ -0,0 +1,47 @@
# 3.1
2024.10.17版本号V3.1 BE1.20.12
包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo[前往此处下载](https://mc.163.com/dev/mcmanual/mc-dev/mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html)
## 一、更新时间表
1. 在2024年10月17日上线3.1第一个Beta版。
2. 在2024年10月31日上线3.1第二个Beta版。
3. 在2024年11月14日上线3.1稳定版。
4. 在2024年11月22日全渠道将更新3.1版本玩家包体玩家将陆续更新到3.1版本,请开发者合理安排更新节奏。
## 二、API更新
- 新增
1. 新增[HideCrossHairGUI](../接口/原生UI.md#hidecrosshairgui)(客户端) 隐藏hud界面的十字准心显示<!--by lidi-->
1. 新增[ResetToDefaultValue](../接口/实体/属性.md#resettodefaultvalue)(服务端) 新增重置实体引擎属性到默认值接口<!--by xgb-->
1. 新增[ResetToMaxValue](../接口/实体/属性.md#resettomaxvalue)(服务端) 新增重置实体引擎属性到最大值接口<!--by xgb-->
1. 新增[EvalMolangExpression](../接口/实体/molang.md#evalmolangexpression)(服务端) 在实体上下文上执行molang表达式<!--by chenyuekai-->
1. 新增[GetItemTexture](../接口/物品.md#getitemtexture)(客户端) 获取物品的贴图<!--by chenzhikun-->
1. 新增[EvalMolangExpression](../接口/实体/molang.md#evalmolangexpression)(客户端) 在实体上下文上执行molang表达式<!--by chenyuekai-->
1. 新增[PlayerPickupArrowServerEvent](../事件/物品.md#playerpickuparrowserverevent)(服务端) 玩家即将捡起箭矢时触发<!--by liruizhi-->
- 调整
1. 调整[SetAttrValue](../接口/实体/属性.md#setattrvalue)(服务端) 新增setDefault参数<!--by xgb-->
1. 调整[SetAttrMaxValue](../接口/实体/属性.md#setattrmaxvalue)(服务端) 补充说明SetAttrMaxValue会同时修改默认值<!--by xgb-->
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(服务端) 新增customTips字段获取自定义物品的netease:customtips/自定义方块的netease:custom_tips中的配置<!--by lidi-->
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(客户端) 新增customTips字段获取自定义物品的netease:customtips/自定义方块的netease:custom_tips中的配置<!--by lidi-->

View File

@@ -0,0 +1,268 @@
# 3.2
2025.1.10版本号V3.2 BE1.20.50包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html" rel="noopenner">前往此处下载</a>
## 一、更新时间表
1. 在2024年12月11日上线3.2第一个Beta版。
2. 在2024年12月26日上线3.2第二个Beta版。
3. 在2025年1月7日上线3.2稳定版。
4. 在2025年1月10日全渠道将更新3.2版本玩家包体玩家将陆续更新到3.2版本,请开发者合理安排更新节奏。
## 二、重要功能更新
1. 新增<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/9-自定义指令.html" rel="noopenner">自定义指令</a>接口,方便开发者和玩家使用指令调整模组功能。同时支持监听全局指令,支持实体发起指令。
1. 支持动态获取、创建、删除某个实体的行为包组件,可用于更精细地获取实体属性、控制实体行为,详见[GetComponents](../接口/实体/行为.md#getcomponents)系列接口。
1. 横屏商业化接口更新,支持手机端玩家在局内跳转到组件详情页或开发者主页,可用于组件宣传、组件联动、前置组件等场景。
1. 新增实体单例渲染接口,可单独操纵某个实体的渲染,详见[AddTextureToOneActor](../接口/实体/渲染.md#addtexturetooneactor)系列接口。
1. 后处理支持自定义外置纹理,可用于实现光怪陆离的后处理效果,详情参考文档<a href="../../../mcguide/16-美术/7-材质与着色器/4-材质实战.html#自定义后处理">自定义后处理</a>。
1. 新增全局实体和特效功能此类实体和特效不会因为距离过远超出视野而消失可用于制作boss和大型装饰品例如主城的传送门
1. 新增实用性接口和事件,如:类似望远镜的拉近视野接口,可用于枪械瞄准镜效果;玩家动作事件和跳跃事件,可用于动作优化类模组;客户端渲染帧事件,按照屏幕帧率高频调用。
1. 优化部分接口和事件使其更具备实用性支持molang缩写双端BlockUseEvent支持获取点击比例位置等。详见下方更新日志。
1. 原版UI接口适配微软新触控接口特性存在一定调整**请开发者注意适配**。
1. 为了同步微软注册方式我们隐藏了register_to_create_menu字段并将其默认值改为true。请使用新版的category字段详见<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/1-自定义物品/1-自定义基础物品.html#description" rel="noopenner">自定义物品</a>和<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.html#description" rel="noopenner">自定义方块</a>。
1. 由于微软在1.20.50版本将方块状态的facing_direction变更为cardinal_direction所以原版实际使用facing_direction的四面向方块如箱子类熔炉类的aux和实际朝向的对应关系被修改如您此前利用方块调色板或者GetBlockNew记录了方块数据在3.2直接按照原数据放出方块将出现部分方块朝向错乱需要自行适配。现在GetBlockStates接口会返回新的cardinal_direction而SetBlockStates会继续兼容旧版facing_direction一段时间。
- facing_direction和cardinal_direction的aux对应关系如下
| 朝向 | facing_direction | cardinal_direction |
| ---- | ---------------- | ------------------ |
| 北面 | 2 | 2 |
| 南面 | 3 | 0 |
| 西面 | 4 | 1 |
| 东面 | 5 | 3 |
- 受到影响的方块如下:
| 名称 | 方块id |
| ------------ | ----------------- |
| 箱子 | chest |
| 末影箱 | ender_chest |
| 陷阱箱 | trapped_chest |
| 切石机 | stonecutter_block |
| 熔炉 | furnace |
| 高炉 | blast_furnace |
| 烟熏炉 | smoker |
| 燃烧的熔炉 | lit_furnace |
| 燃烧的高炉 | lit_blast_furnace |
| 燃烧的烟熏炉 | lit_smoker |
- 微软在1.20.50继续修改了部分方块ID如石头、混凝土等详见<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/2-Python脚本开发/101-3.2版本物品id变更.html" rel="noopenner">3.2版本物品id变更</a>,相关链接请参阅[基岩版扁平化](https://zh.minecraft.wiki/w/%E5%AE%98%E6%96%B9%E9%A1%B5%E9%9D%A2/%E5%9F%BA%E5%B2%A9%E7%89%88%E6%89%81%E5%B9%B3%E5%8C%96),请开发者注意适配。
## 三、API更新
- 新增
1. 新增[getEntitiesOrBlockFromRay](../接口/世界/实体管理.md#getentitiesorblockfromray)(客户端) 客户端新增获取与射线相交的实体和方块接口<!--by xgb-->
1. 新增[GetBlockTags](../接口/方块/属性.md#getblocktags)(服务端) 获取方块tags<!--by xgb-->
1. 新增[SetBlockEntityData](../接口/方块/方块实体.md#setblockentitydata)(服务端) 设置方块(包括自定义方块)的数据<!--by lidi-->
1. 新增[GetEntitiesBySelector](../接口/实体/属性.md#getentitiesbyselector)(服务端) 根据目标选择器获取实体id列表<!--by lrz-->
1. 新增[AddActorComponent](../接口/实体/行为.md#addactorcomponent)(服务端) 给指定实体自定义添加实体Component<!--by chenzhikun-->
1. 新增[RemoveActorComponent](../接口/实体/行为.md#removeactorcomponent)(服务端) 删除指定实体的指定Component<!--by chenzhikun-->
1. 新增[GetComponents](../接口/实体/行为.md#getcomponents)(服务端) 获取指定实体的生效Components<!--by chenzhikun-->
1. 新增[SetPistonMaxInteractionCount](../接口/世界/游戏规则.md#setpistonmaxinteractioncount)(服务端) 设置活塞/粘性活塞最多推动的方块数量<!--by gx-->
1. 新增[GetPistonMaxInteractionCount](../接口/世界/游戏规则.md#getpistonmaxinteractioncount)(服务端) 获取活塞/粘性活塞最多推动的方块数量<!--by gx-->
1. 新增[GetPistonMaxInteractionCount](../接口/世界/游戏规则.md#getpistonmaxinteractioncount)(客户端) 获取活塞/粘性活塞最多推动的方块数量<!--by gx-->
1. 新增[GetItemTags](../接口/物品.md#getitemtags)(服务端) 获取物品tags<!--by xgb-->
1. 新增[GetItemInfoByBlockName](../接口/物品.md#getiteminfobyblockname)(服务端) 通过方块名称及aux值获取物品信息<!--by liruizhi-->
1. 新增[GetPlayerDestroyTotalTime](../接口/玩家/行为.md#getplayerdestroytotaltime)(服务端) 获取玩家破坏方块需要的时间,受玩家状态(急迫、潮涌、挖掘疲劳)和手持物及手持物附魔(效率)影响<!--by lidi-->
1. 新增[AddAnimationControllerToOneActor](../接口/实体/渲染.md#addanimationcontrollertooneactor)(客户端) 增加单个生物渲染动画控制器<!--by lrz-->
1. 新增[RemoveAnimationControllerForOneActor](../接口/实体/渲染.md#removeanimationcontrollerforoneactor)(客户端) 移除单个生物渲染动画控制器<!--by lrz-->
1. 新增[AddRenderMaterialToOneActor](../接口/实体/渲染.md#addrendermaterialtooneactor)(客户端) 增加单个生物的渲染材质<!--by lrz-->
1. 新增[AddRenderControllerToOneActor](../接口/实体/渲染.md#addrendercontrollertooneactor)(客户端) 增加单个生物的渲染控制器<!--by lrz-->
1. 新增[RemoveRenderControllerForOneActor](../接口/实体/渲染.md#removerendercontrollerforoneactor)(客户端) 删除单个生物的渲染控制器<!--by lrz-->
1. 新增[AddGeometryToOneActor](../接口/实体/渲染.md#addgeometrytooneactor)(客户端) 增加单个生物渲染几何体<!--by lrz-->
1. 新增[RemoveGeometryForOneActor](../接口/实体/渲染.md#removegeometryforoneactor)(客户端) 删除单个生物的渲染几何体<!--by lrz-->
1. 新增[AddTextureToOneActor](../接口/实体/渲染.md#addtexturetooneactor)(客户端) 增加单个生物的渲染贴图<!--by lrz-->
1. 新增[RemoveTextureForOneActor](../接口/实体/渲染.md#removetextureforoneactor)(客户端) 删除单个生物的渲染贴图<!--by lrz-->
1. 新增[AddParticleEffectToOneActor](../接口/实体/渲染.md#addparticleeffecttooneactor)(客户端) 增加单个生物特效资源<!--by lrz-->
1. 新增[AddSoundEffectToOneActor](../接口/实体/渲染.md#addsoundeffecttooneactor)(客户端) 增加单个生物的音效资源<!--by lrz-->
1. 新增[AddScriptAnimateToOneActor](../接口/实体/渲染.md#addscriptanimatetooneactor)(客户端) 在单个生物的客户端实体定义minecraft:client_entityjson中的scripts/animate节点添加动画/动画控制器<!--by lrz-->
1. 新增[AddAnimationToOneActor](../接口/实体/渲染.md#addanimationtooneactor)(客户端) 增加单个生物渲染动画<!--by lrz-->
1. 新增[SetActorBlockGeometryScale](../接口/方块/方块几何体模型.md#setactorblockgeometryscale)(客户端) 设置实体的方块几何体模型的缩放倍率。<!--by lidi-->
1. 新增[GetActorBlockGeometryScale](../接口/方块/方块几何体模型.md#getactorblockgeometryscale)(客户端) 获取实体的方块几何体模型的缩放倍率。<!--by lidi-->
1. 新增[SetGlobal](../接口/特效/序列帧.md#setglobal)(客户端) 设置序列帧是否是全局的<!--by chenyuekai-->
1. 新增[CanSee](../接口/世界/地图.md#cansee)(客户端) 添加对象是否可看见目标的客户端接口<!--by xgb-->
1. 新增[GetItemTags](../接口/物品.md#getitemtags)(客户端) 获取物品tags<!--by xgb-->
1. 新增[SetCompassTarget](../接口/物品.md#setcompasstarget)(客户端) 设置指南针的朝向位置<!--by qyk-->
1. 新增[SetCompassEntity](../接口/物品.md#setcompassentity)(客户端) 设置指南针朝向的实体<!--by qyk-->
1. 新增[OpenResourceCenterDetailWindow](../接口/自定义UI/通用.md#openresourcecenterdetailwindow)(客户端) 打开网易资源中心组件详情界面<!--by dxz-->
1. 新增[OpenDeveloperHomeWindow](../接口/自定义UI/通用.md#opendeveloperhomewindow)(客户端) 打开网易资源中心开发者主页<!--by dxz-->
1. 新增[SetControlMode](../接口/控制.md#setcontrolmode)(客户端) 设置控制模式<!--by lrz-->
1. 新增[SetControlModeLock](../接口/控制.md#setcontrolmodelock)(客户端) 设置控制模式是否可以被改变<!--by lrz-->
1. 新增[SetGlobal](../接口/特效/粒子.md#setglobal)(客户端) 设置粒子发射器是否为全局粒子发射器<!--by chenyuekai-->
1. 新增[GetPlayerDestroyTotalTime](../接口/玩家/行为.md#getplayerdestroytotaltime)(客户端) 获取玩家破坏方块需要的时间,受玩家状态(急迫、潮涌、挖掘疲劳)和手持物及手持物附魔(效率)影响<!--by lidi-->
1. 新增[SetPlayerFovScale](../接口/玩家/摄像机.md#setplayerfovscale)(客户端) 新增设置fov倍率功能<!--by liruizhi-->
1. 新增[AddEntityMarker](../接口/自定义UI/UI控件.md#addentitymarker)(客户端) 增加实体位置标记<!--by lrz-->
1. 新增[AddEntityTextMarker](../接口/自定义UI/UI控件.md#addentitytextmarker)(客户端) 增加实体文本标记<!--by lrz-->
1. 新增[AddStaticMarker](../接口/自定义UI/UI控件.md#addstaticmarker)(客户端) 增加地图上静态位置的标记<!--by lrz-->
1. 新增[AddStaticTextMarker](../接口/自定义UI/UI控件.md#addstatictextmarker)(客户端) 增加地图上静态文本的标记<!--by lrz-->
1. 新增[RemoveEntityMarker](../接口/自定义UI/UI控件.md#removeentitymarker)(客户端) 删除实体位置标记<!--by lrz-->
1. 新增[RemoveEntityTextMarker](../接口/自定义UI/UI控件.md#removeentitytextmarker)(客户端) 删除实体文本标记<!--by lrz-->
1. 新增[RemoveStaticMarker](../接口/自定义UI/UI控件.md#removestaticmarker)(客户端) 删除静态位置标记<!--by lrz-->
1. 新增[RemoveStaticTextMarker](../接口/自定义UI/UI控件.md#removestatictextmarker)(客户端) 删除静态文本标记<!--by lrz-->
1. 新增[RepaintMiniMap](../接口/自定义UI/UI控件.md#repaintminimap)(客户端) 重新绘制小地图<!--by lidi-->
1. 新增[GlobalCommandServerEvent](../事件/世界.md#globalcommandserverevent)(服务端) 服务端全局命令事件<!--by chenyuekai-->
1. 新增[CustomCommandTriggerServerEvent](../事件/世界.md#customcommandtriggerserverevent)(服务端) 新增自定义命令触发事件<!--by chenyuekai-->
1. 新增[OnPlayerActionServerEvent](../事件/玩家.md#onplayeractionserverevent)(服务端) 玩家动作事件<!--by lidi-->
1. 新增[GameRenderTickEvent](../事件/世界.md#gamerendertickevent)(客户端) 客户端渲染帧开始时触发<!--by gx-->
1. 新增[OnLocalPlayerStartJumpClientEvent](../事件/玩家.md#onlocalplayerstartjumpclientevent)(客户端) 玩家开始跳跃事件<!--by lidi-->
1. 新增[OnLocalPlayerActionClientEvent](../事件/玩家.md#onlocalplayeractionclientevent)(客户端) 玩家动作事件<!--by lidi-->
1. 新增[PlayerActionType](../枚举值/PlayerActionType.md) 玩家动作枚举<!--by lidi-->
- 调整
1. 调整[getEntitiesOrBlockFromRay](../接口/世界/实体管理.md#getentitiesorblockfromray)(服务端) isThrouth拼写错误调整为isThrough通过关键词isThrouth = True调用的方法还会再兼容一段时间<!--by xgb-->
1. 调整[HideWalkGui](../接口/原生UI.md#hidewalkgui)(客户端) 新触控接入后原移动按钮已移除,现在该接口控制新触控跑/走按钮<!--by lidi-->
1. 调整[HideSwimGui](../接口/原生UI.md#hideswimgui)(客户端) 调整描述,仅影响十字键操作下的浮潜按钮,摇杆模式上浮=跳跃,下潜=潜行需要通过HideJumpGui和HideSneakGui来隐藏<!--by lidi-->
1. 调整[SetCrossHair](../接口/原生UI.md#setcrosshair)(客户端) 适配新触控<!--by lidi-->
1. 调整[CreateEngineEntityByNBT](../接口/世界/实体管理.md#createengineentitybynbt)(服务端) 新增isGlobal参数可创建全局实体不受视野范围限制<!--by czh-->
1. 调整[CreateEngineEntityByTypeStr](../接口/世界/实体管理.md#createengineentitybytypestr)(服务端) 新增isGlobal参数可创建全局实体不受视野范围限制<!--by czh-->
1. 调整[SetAttrMaxValue](../接口/实体/属性.md#setattrmaxvalue)(服务端) 支持设置伤害吸收<!--by lrz-->
1. 调整[SetEntityOnFire](../接口/实体/行为.md#setentityonfire)(服务端) 当传入参数seconds小于等于0时将让着火的实体灭火<!--by lidi-->
1. 调整[RegisterBlockPatterns](../接口/世界/方块组合.md#registerblockpatterns)(服务端) 支持具体方块匹配/通配namespace:name:aux_value当aux_value不填或者填*时为通配如果有具体aux_value时只匹配特定方块<!--by lidi-->
1. 调整[GetBlockBasicInfo](../接口/方块/属性.md#getblockbasicinfo)(服务端) 支持返回minecraft:tags<!--by xgb-->
1. 调整[GetDestroyTotalTime](../接口/世界/方块管理.md#getdestroytotaltime)(服务端) 增加可选挖掘参数<!--by lidi-->
1. 调整[SetCommand](../接口/世界/指令.md#setcommand)(服务端) 支持任意实体entityId<!--by chenyuekai-->
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(服务端) 支持返回minecraft:tags<!--by xgb-->
1. 调整[SetItemTierSpeed](../接口/物品.md#setitemtierspeed)(服务端) 补充文档,提示开发者可以从物品的userData中获取挖掘速度<!--by lrz-->
1. 调整[GetDestroyTotalTime](../接口/世界/方块管理.md#getdestroytotaltime)(客户端) 增加可选挖掘参数<!--by lidi-->
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(客户端) 支持返回minecraft:tags<!--by xgb-->
1. 调整[CreateBindEntityNew](../接口/特效/微软粒子.md#createbindentitynew)(客户端) 支持传入空字符串时,绑定到实体根骨骼上<!--by gx-->
1. 调整[BindEntity](../接口/特效/微软粒子.md#bindentity)(客户端) 支持传入空字符串时,绑定到实体根骨骼上<!--by gx-->
1. 调整[AddPostProcess](../接口/后处理/自定义.md#addpostprocess)(客户端) index缺省或负值现在会默认添加到最后<!--by xgb-->
1. 调整[Register](../接口/实体/molang.md#register)(客户端) 支持molang变量缩写<!--by cyk-->
1. 调整[UnRegister](../接口/实体/molang.md#unregister)(客户端) 支持molang变量缩写<!--by cyk-->
1. 调整[Set](../接口/实体/molang.md#set)(客户端) 支持molang变量缩写<!--by cyk-->
1. 调整[Get](../接口/实体/molang.md#get)(客户端) 支持molang变量缩写<!--by cyk-->
1. 调整[GetMolangValue](../接口/实体/molang.md#getmolangvalue)(客户端) 支持molang变量缩写<!--by cyk-->
1. 调整[RenderEntity](../接口/自定义UI/UI控件.md#renderentity)(客户端) 支持设置x轴、z轴初始旋转<!--by chenyuekai-->
1. 调整[RenderSkeletonModel](../接口/自定义UI/UI控件.md#renderskeletonmodel)(客户端) 支持设置x轴、z轴初始旋转<!--by chenyuekai-->
1. 调整[RenderBlockGeometryModel](../接口/自定义UI/UI控件.md#renderblockgeometrymodel)(客户端) 支持设置x轴、z轴初始旋转<!--by chenyuekai-->
1. 调整[ServerBlockUseEvent](../事件/方块.md#serverblockuseevent)(服务端) 新增clickX,clickY,clickZ参数可获取点击点的比例位置<!--by lrz-->
1. 调整[PlayerPickupArrowServerEvent](../事件/物品.md#playerpickuparrowserverevent)(服务端) 调整文档,补充说明抛射物也受此接口监听<!--by lrz-->
1. 调整[PlaceNeteaseStructureFeatureEvent](../事件/世界.md#placeneteasestructurefeatureevent)(服务端) structureName参数可修改<!--by czk-->
1. 调整[ClientBlockUseEvent](../事件/方块.md#clientblockuseevent)(客户端) 新增clickX,clickY,clickZ参数可获取点击点的比例位置<!--by lrz-->
1. 调整[GyroSensorChangedClientEvent](../事件/控制.md#gyrosensorchangedclientevent)(客户端) 新增orientation表示当前屏幕朝向<!--by qyk-->
1. 调整[OptionId](../枚举值/OptionId.md) 移除旧版十字键操作<!--by lidi-->
1. 调整[OriginGUIName](../枚举值/OriginGUIName.md) 移除移动状态按钮,新触控有对应的加速按钮和潜行按钮,增加新触控跳跃/潜行枚举<!--by lidi-->
- 废弃(将在未来不可用)
1. 废弃ChangeWalkState对应按钮已移除后续不再维护相关需求可用setSprinting/setSneaking/ChangeSneakState实现
1. 废弃GetWalkState对应按钮已移除后续不再维护相关需求可用isSprinting/isSneaking实现
1. 废弃SetPlayerRideEntity请使用SetRiderRideEntity
1. 废弃AddEntityMarker推荐使用UI面向对象miniMapUIControl.AddEntityMarker接口
1. 废弃RemoveEntityMarker推荐使用UI面向对象miniMapUIControl.RemoveEntityMarker接口
1. 废弃AddStaticMarker推荐使用UI面向对象miniMapUIControl.AddStaticMarker接口
1. 废弃RemoveStaticMarker推荐使用UI面向对象miniMapUIControl.RemoveStaticMarker接口
1. 废弃ZoomIn推荐使用UI面向对象miniMapUIControl.ZoomIn接口
1. 废弃ZoomOut推荐使用UI面向对象miniMapUIControl.ZoomOut接口
1. 废弃ZoomReset推荐使用UI面向对象miniMapUIControl.ZoomReset接口
1. 废弃SetHighestY推荐使用UI面向对象minimapUIControl.SetHighestY接口
1. 废弃AddEntityTextMarker推荐使用UI面向对象miniMapUIControl.AddEntityTextMarker接口
1. 废弃RemoveEntityTextMarker推荐使用UI面向对象miniMapUIControl.RemoveEntityTextMarker接口
1. 废弃AddStaticTextMarker推荐使用UI面向对象miniMapUIControl.AddStaticTextMarker接口
1. 废弃RemoveStaticTextMarker推荐使用UI面向对象miniMapUIControl.RemoveStaticTextMarker接口

View File

@@ -28,7 +28,7 @@
8. 新版视角切换按钮贴图位于/textures/ui/perspective.png材质包开发者请留意提前适配
9. 微软在1.21.00继续修改了部分方块ID如树叶、台阶等详见<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/2-Python脚本开发/102-3.4版本物品id变更.html" rel="noopenner">3.4版本物品id变更</a>,相关链接请参阅[基岩版扁平化](https://zh.minecraft.wiki/w/%E5%AE%98%E6%96%B9%E9%A1%B5%E9%9D%A2/%E5%9F%BA%E5%B2%A9%E7%89%88%E6%89%81%E5%B9%B3%E5%8C%96),请开发者注意适配。
## 三、API更新
@@ -47,6 +47,12 @@
1. 新增[SetPlayerCurrentExhaustionValue](../接口/玩家/属性.md#setplayercurrentexhaustionvalue)(服务端) 设置玩家当前消耗度<!--by qiuyukun-->
1. 新增[IsOfficialSkin](../接口/玩家/属性.md#isofficialskin)(客户端) 获取玩家穿戴的皮肤是否为官方4d皮肤<!--by slp-->
1. 新增[IsHighLevelOfficialSkin](../接口/玩家/属性.md#ishighlevelofficialskin)(客户端) 获取玩家穿戴的皮肤是否为史诗及以上的官方4d皮肤<!--by slp-->
1. 新增[IsHighLevelMultiJointOfficialSkin](../接口/玩家/属性.md#ishighlevelmultijointofficialskin)(客户端) 获取玩家穿戴的皮肤是否为史诗及以上的多关节官方4d皮肤<!--by slp-->
1. 新增[GetPropertyBag](../接口/自定义UI/UI控件.md#getpropertybag)(客户端) 获取PropertyBag<!--by qiuyukun-->
1. 新增[SetPropertyBag](../接口/自定义UI/UI控件.md#setpropertybag)(客户端) 设置PropertyBag<!--by qiuyukun-->
@@ -63,8 +69,6 @@
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(服务端) 新增字段enchant_slot_type<!--by qiuyukun-->
1. 调整[SetPos](../接口/实体/属性.md#setpos)(服务端) 修改文档类型描述<!--by bailei-->
1. 调整[GetActorRenderParams](../接口/实体/渲染.md#getactorrenderparams)(客户端) 修复返回数据<!--by lrz-->
1. 调整[LockCamera](../接口/玩家/摄像机.md#lockcamera)(客户端) lockRot支持roll旋转<!--by qiuyukun-->
@@ -73,6 +77,8 @@
1. 调整[GetItemBasicInfo](../接口/物品.md#getitembasicinfo)(客户端) 新增字段enchant_slot_type<!--by qiuyukun-->
1. 调整[ServerBlockUseEvent](../事件/方块.md#serverblockuseevent)(服务端) 客户端对应事件ClientBlockUseEvent如果开启拦截开关则服务端也不会收到对应事件即ServerBlockUseEvent不会触发。<!--by bl-->
1. 调整[ServerItemTryUseEvent](../事件/物品.md#serveritemtryuseevent)(服务端) ClientItemTryUseEvent的cancel设置为True时服务端事件不会被触发了。<!--by bl-->
1. 调整[ServerItemUseOnEvent](../事件/物品.md#serveritemuseonevent)(服务端) 客户端事件ClientItemUseOnEvent设置ret设置为True时服务端不再会接受到这个事件。<!--by bl-->

View File

@@ -0,0 +1,150 @@
# 3.5
2025.8.19版本号V3.5 BE1.21.00包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html" rel="noopenner">前往此处下载</a>
## 一、更新时间表
1. 在2025年8月20日上线3.5第一个Beta版。
2. 在2025年9月03日上线3.5第二个Beta版。
3. 在2025年9月17日上线3.5稳定版。
4. 在2025年9月19日全渠道将更新3.5版本玩家包体玩家将陆续更新到3.5版本,请开发者合理安排更新节奏。
## 二、重要功能更新
1. 自定义容器适配迭代,详细请前往<a href="../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/3-特殊方块/11-自定义容器.html" rel="noopenner">自定义容器</a>查看
- 新增**hopper配置字段**,可将自定义容器变为漏斗,支持控制是否漏入漏出、设置漏入的面个数、设置漏入的槽位位置
- 对于**netease_container**SpawnItemToContainer支持设置物品对于**netease_ui_container**[GetPlayerUIItem](../接口/方块/容器.md#getplayeruiitem)(服务端)和[SetPlayerUIItem](../接口/方块/容器.md#setplayeruiitem)(服务端)新增isNeteaseUI参数为**true**时支持获取和设置物品
- 新增[PlayerTryAddCustomContainerItemServerEvent](../事件/物品.md#playertryaddcustomcontaineritemserverevent)(服务端)事件,将在**同一槽位物品数量改变**时触发
- 新增[PlayerTryRemoveCustomContainerItemServerEvent](../事件/物品.md#playertryremovecustomcontaineritemserverevent)(服务端)事件,将在**取出物品**时触发
- 新增漏斗漏入事件[ItemPushInCustomContainerServerEvent](../事件/物品.md#itempushincustomcontainerserverevent)(服务端)和漏斗漏出事件[ItemPullOutCustomContainerServerEvent](../事件/物品.md#itempulloutcustomcontainerserverevent)(服务端)支持cancel取消
- 调整[PlayerTryPutCustomContainerItemServerEvent](../事件/物品.md#playertryputcustomcontaineritemserverevent)(服务端) collectionName改为对应容器json中"custom_description"字段新增collectionTypenetease_container和netease_ui_container代替原collectionName
1. 新增自定义绘制渲染接口,开发者可以使用其绘制**盒子、圆、球、线条、文本、箭头**形状,支持创建后设置颜色、缩放、位置等。同时该功能所有接口采用面向对象设计,方便开发者使用<img src="../picture/3.5/drawing.png" alt="自定义绘制" width="1000" height="500" style="display: block; margin: 0 auto;">
1. hud_screen.json 字段更新。在3.5版本中为了适配原版更新影响物品栏和经验栏可见性的部分json字段名称发生了变更
- **变更包括:**
- "#exp_and_hotbar_visible" ——> "#hotbar_with_xp_bar"
- "#only_hotbar_visible" ——> "#hotbar_no_xp_bar"
- **影响范围:**
- 原生指令:/hud
- SDK接口HideSlotBarGui、HideExpGui
- **适配方法:**
- 如果MOD里还存在老版的hud_screen.json使用旧的字段可能会覆盖上述字段更新导致上述相关的指令或API失效引发物品栏的一些可见性控制bug**请开发者检查并进行替换**
1. 支持获取/设置实体行为包properties让开发者更方便控制生物行为
1. Matrix、Quaternion、Vector3将有底层C++进行计算,拥有更快速度,方便开发者实现自定义碰撞箱计算等
1. 新增权限变更事件[PlayerPermissionChangeServerEvent](../事件/玩家.md#playerpermissionchangeserverevent)(服务端)和[PlayerPermissionChangeClientEvent](../事件/玩家.md#playerpermissionchangeclientevent)(客户端)参数支持cancel和获取权限变更的原因枚举[PermissionChangeCause](../枚举值/PermissionChangeCause.md)
## 三、API更新
- 新增
1. 新增[GetAllProperties](../接口/实体/molang.md#getallproperties)(服务端) 获取实体属性列表<!--by zhujinan-->
1. 新增[SetPropertyValue](../接口/实体/molang.md#setpropertyvalue)(服务端) 设置实体属性的值<!--by zhujinan-->
1. 新增[AddBoxShape](../接口/渲染.md#addboxshape)(客户端) 新建盒子形状<!--by lrz-->
1. 新增[AddLineShape](../接口/渲染.md#addlineshape)(客户端) 新建线条形状<!--by lrz-->
1. 新增[AddCircleShape](../接口/渲染.md#addcircleshape)(客户端) 新建圆形状<!--by lrz-->
1. 新增[AddArrowShape](../接口/渲染.md#addarrowshape)(客户端) 新建箭头形状<!--by lrz-->
1. 新增[AddTextShape](../接口/渲染.md#addtextshape)(客户端) 新建文本形状<!--by lrz-->
1. 新增[AddSphereShape](../接口/渲染.md#addsphereshape)(客户端) 新建球形状<!--by lrz-->
1. 新增[RemoveAll](../接口/渲染.md#removeall)(客户端) 删除当前所有Shape<!--by lrz-->
1. 新增[GetPos](../接口/渲染.md#getpos)(客户端) 获取Shape的位置<!--by lrz-->
1. 新增[GetBoxScale](../接口/渲染.md#getboxscale)(客户端) 获取BoxShape的大小<!--by lrz-->
1. 新增[GetColor](../接口/渲染.md#getcolor)(客户端) 获取Shape的颜色<!--by lrz-->
1. 新增[GetType](../接口/渲染.md#gettype)(客户端) 获取Shape的类型<!--by lrz-->
1. 新增[GetPriority](../接口/渲染.md#getpriority)(客户端) 获取Shape的优先级<!--by lrz-->
1. 新增[GetVisible](../接口/渲染.md#getvisible)(客户端) 获取Shape是否可见<!--by lrz-->
1. 新增[GetEndPos](../接口/渲染.md#getendpos)(客户端) 获取LineShape或ArrowShape的结束位置<!--by lrz-->
1. 新增[GetRadius](../接口/渲染.md#getradius)(客户端) 获取CircleShape或ArrowShape或SphereShape的半径<!--by lrz-->
1. 新增[GetSegments](../接口/渲染.md#getsegments)(客户端) 获取CircleShape或ArrowShape头部的分段数<!--by lrz-->
1. 新增[GetText](../接口/渲染.md#gettext)(客户端) 获取TextShape的文本<!--by lrz-->
1. 新增[GetLength](../接口/渲染.md#getlength)(客户端) 获取ArrowShape的头部长度<!--by lrz-->
1. 新增[SetPos](../接口/渲染.md#setpos)(客户端) 设置Shape的位置<!--by lrz-->
1. 新增[SetBoxScale](../接口/渲染.md#setboxscale)(客户端) 设置BoxShape的大小<!--by lrz-->
1. 新增[SetEndPos](../接口/渲染.md#setendpos)(客户端) 设置LineShape或ArrowShape的结束位置<!--by lrz-->
1. 新增[SetRadius](../接口/渲染.md#setradius)(客户端) 设置CircleShape或ArrowShape或SphereShape的半径<!--by lrz-->
1. 新增[SetSegments](../接口/渲染.md#setsegments)(客户端) 设置组成ArrowShape头部的网格数量<!--by lrz-->
1. 新增[SetLength](../接口/渲染.md#setlength)(客户端) 设置组成ArrowShape头部的长度<!--by lrz-->
1. 新增[SetText](../接口/渲染.md#settext)(客户端) 设置TextShape的文本内容<!--by lrz-->
1. 新增[SetColor](../接口/渲染.md#setcolor)(客户端) 设置Shape的颜色<!--by lrz-->
1. 新增[SetPriority](../接口/渲染.md#setpriority)(客户端) 设置Shape的渲染优先级, 同一像素点处优先渲染优先级高的Shape, 默认为0<!--by lrz-->
1. 新增[SetVisible](../接口/渲染.md#setvisible)(客户端) 设置Shape是否可见<!--by lrz-->
1. 新增[Remove](../接口/渲染.md#remove)(客户端) 删除Shape<!--by lrz-->
1. 新增[SetDropItemTransform](../接口/方块/渲染.md#setdropitemtransform)(客户端) 设置通过AddDropItemToWorld添加的掉落物的位置、角度和缩放<!--by zsr-->
1. 新增[PlayerTryAddCustomContainerItemServerEvent](../事件/物品.md#playertryaddcustomcontaineritemserverevent)(服务端) 玩家尝试将物品添加到自定义容器时触发该事件(当目标槽位已有同种物品时触发)<!--by lidi-->
1. 新增[PlayerTryRemoveCustomContainerItemServerEvent](../事件/物品.md#playertryremovecustomcontaineritemserverevent)(服务端) 玩家尝试从自定义容器中移除物品时触发该事件<!--by lidi-->
1. 新增[PlayerPermissionChangeServerEvent](../事件/玩家.md#playerpermissionchangeserverevent)(服务端) 玩家权限变更事件<!--by zhujinan-->
1. 新增[ItemPushInCustomContainerServerEvent](../事件/物品.md#itempushincustomcontainerserverevent)(服务端) 漏斗漏入物品时触发该事件<!--by czk-->
1. 新增[ItemPullOutCustomContainerServerEvent](../事件/物品.md#itempulloutcustomcontainerserverevent)(服务端) 漏斗漏出物品时触发该事件<!--by czk-->
1. 新增[PlayerPermissionChangeClientEvent](../事件/玩家.md#playerpermissionchangeclientevent)(客户端) 玩家权限变更事件<!--by zhujinan-->
1. 新增[PlayerTryPutCustomContainerItemClientEvent](../事件/物品.md#playertryputcustomcontaineritemclientevent)(客户端) 玩家尝试将物品放入自定义容器时触发该事件<!--by lidi-->
1. 新增[PlayerTryAddCustomContainerItemClientEvent](../事件/物品.md#playertryaddcustomcontaineritemclientevent)(客户端) 玩家尝试将物品添加到自定义容器时触发该事件(当目标槽位已有同种物品时触发)<!--by lidi-->
1. 新增[PlayerTryRemoveCustomContainerItemClientEvent](../事件/物品.md#playertryremovecustomcontaineritemclientevent)(客户端) 玩家尝试从自定义容器中移除物品时触发该事件<!--by lidi-->
1. 新增[PermissionChangeCause](../枚举值/PermissionChangeCause.md) 玩家权限变更原因枚举<!--by zhujinan-->
1. 新增[ShapeType](../枚举值/ShapeType.md) 调试图形枚举<!--by lrz-->
- 调整
1. 调整[CreateUI](../接口/自定义UI/通用.md#createui)(客户端) 添加备注<!--by jiaoshe-->
1. 调整[GetPlayerUIItem](../接口/方块/容器.md#getplayeruiitem)(服务端) 新增isNeteaseUI参数默认为falsetrue时获取netease_ui_container的物品<!--by lidi-->
1. 调整[SetPlayerUIItem](../接口/方块/容器.md#setplayeruiitem)(服务端) 新增isNeteaseUI参数默认为falsetrue时设置netease_ui_container的物品<!--by lidi-->
1. 调整[SpawnItemToContainer](../接口/方块/容器.md#spawnitemtocontainer)(服务端) 支持自定义容器<!--by lidi-->
1. 调整[PlayerTryPutCustomContainerItemServerEvent](../事件/物品.md#playertryputcustomcontaineritemserverevent)(服务端) collectionName改为对应容器json中"custom_description"字段新增collectionType代替原collectionName<!--by lidi-->
1. 调整[PlayerPermissionChangeServerEvent](../事件/玩家.md#playerpermissionchangeserverevent)(服务端) 新增发起者id<!--by zhujinan-->
- 废弃(将在未来不可用)
1. 废弃HideReportGUI举报按钮原生UI已经被整合进下拉按钮

View File

@@ -0,0 +1,51 @@
# 3.6
2025.10.23版本号V3.6 BE1.21.00包括Mod PC包手机测试版启动器和服务器引擎。
示例Demo<a href="../../../mcguide/20-玩法开发/13-模组SDK编程/60-Demo示例.html" rel="noopenner">前往此处下载</a>
## 一、更新时间表
1. 在2025年10月24日上线3.6第一个Beta版。
2. 在2025年11月19日上线3.6稳定版。
3. 在2025年11月21日全渠道将更新3.6版本玩家包体玩家将陆续更新到3.6版本,请开发者合理安排更新节奏。
## 二、重要功能更新
1.自定义容器新增[OpenNeteaseContainer](../接口/玩家/行为.md#openneteasecontainer)(服务端)接口,可以直接打开自定义容器界面,不依赖于方块、实体。该界面的**物品数据需由开发者自行维护**。
同时支持GetPlayerItem、SetPlayerItem接口修改界面内容PlayerTryAddCustomContainerItemServerEvent、PlayerTryPutCustomContainerItemServerEvent、PlayerTryRemoveCustomContainerItemServerEvent、PlayerTryAddCustomContainerItemClientEvent、PlayerTryPutCustomContainerItemClientEvent、PlayerTryRemoveCustomContainerItemClientEvent等事件也将正常触发。
2.新增[UseItemAttackEntity](../接口/世界/行为.md#useitemattackentity)(服务端)接口, 使用指定物品攻击某个实体,开发者可以使用该接口来模拟手持物品的实体攻击实体等。
3.新增自定义客户端破坏纹理功能,可自定义破坏表现在第几帧,对应[SetCrackFrame](../接口/方块/渲染.md#setcrackframe)(客户端)和[DestroyCrackFrame](../接口/方块/渲染.md#destroycrackframe)(客户端)接口
4.新增获取山头服务器拥有者id接口[GetHostPlayerUid](../接口/山头服务器.md#gethostplayeruid)(服务端)
## 三、API更新
# 3.6
- 新增
1. 新增[GetHostPlayerUid](../接口/山头服务器.md#gethostplayeruid)(服务端) 获取山头服务器拥有者id<!--by zhujinan-->
1. 新增[UseItemAttackEntity](../接口/世界/行为.md#useitemattackentity)(服务端) 使用指定物品攻击某个实体。<!--by liujinhua-->
1. 新增[OpenNeteaseContainer](../接口/玩家/行为.md#openneteasecontainer)(服务端) 打开自定义容器界面,不依赖于方块。该界面的物品数据需由开发者自行维护。<!--by liujinhua-->
1. 新增[RebuildPlayerRender](../接口/玩家/渲染.md#rebuildplayerrender)(客户端) 增加clearBindParticle参数用于控制是否清除粒子<!--by chenyuekai-->
1. 新增[SetCrackFrame](../接口/方块/渲染.md#setcrackframe)(客户端) 仅客户端的破坏纹理的渲染,可自定义破坏阶段在第几帧。<!--by liujinhua-->
1. 新增[DestroyCrackFrame](../接口/方块/渲染.md#destroycrackframe)(客户端) 销毁特定方块位置上的破坏纹理。<!--by liujinhua-->
1. 新增[RenderLayer](../枚举值/RenderLayer.md) 补充调整方块渲染时的材质类型<!--by lrz-->
- 调整
1. 调整[ModBlockEntityLoadedClientEvent](../事件/方块.md#modblockentityloadedclientevent)(客户端) 修复了自定义方块配置了block_container组件时返回的blockName不符合预期现在能正确返回方块的identifier<!--by lidi-->
1. 调整[ModBlockEntityRemoveClientEvent](../事件/方块.md#modblockentityremoveclientevent)(客户端) 修复了自定义方块配置了block_container组件时返回的blockName不符合预期现在能正确返回方块的identifier<!--by lidi-->
1. 调整[ActorDamageCause](../枚举值/ActorDamageCause.md) 修正了枚举值Campfire、SoulCampfire<!--by zja-->

View File

@@ -43,8 +43,8 @@ class ActorDamageCause(object):
RamAttack = "ram_attack" # 山羊冲撞
Custom = "custom" # 自定义
SonicBoom = "sonic_boom" # 音波尖啸(监守者的远程攻击)
Campfire = "camp_fire" # 营火
SoulCampfire = "soul_camp_fire" # 灵魂营火(营火的灵魂火变种)
Campfire = "campfire" # 营火
SoulCampfire = "soul_campfire" # 灵魂营火(营火的灵魂火变种)
```

View File

@@ -0,0 +1,19 @@
# PermissionChangeCause
class in mod.common.minecraftEnum
- 描述
玩家权限变更原因枚举
```python
class PermissionChangeCause(object):
ProgrammingInterfaceCaused = 1 # API变更
CommandCaused = 2 # 指令变更(包含玩家输入/命令方块)
UserInterfaceCaused = 3 # 房主变更(也即房主在设置给他人变更)
CocosInterfaceCaused = 4 # cocos发起变更
```

View File

@@ -7,19 +7,30 @@ class in mod.common.minecraftEnum
方块渲染时的材质类型
- 备注
- 目前自定义方块只支持使用部分材质,具体见[自定义方块json组件][/mc-dev/mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.md]
- 目前自定义方块只支持使用部分材质,具体见[自定义方块json组件](../../../mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.md)
由于联机大厅和apollo存在部分材质缺少定义所以枚举值在联机大厅和apollo环境下整体-2
Blend = 4 变成 Blend = 2 ; Opaque = 5 变成 Opaque = 3,依此类推
Blend = 5 变成 Blend = 3 ; Opaque = 6 变成 Opaque = 4,依此类推
```python
class RenderLayer(object):
Blend = 4 # 半透明
Opaque = 5 # 透明
Alpha = 7 # 全透明
SeasonOpaque = 9 # 原版用于渲染不透明树叶
SeasonAlpha = 10 # 原版用于渲染局部全透明方块
DOUBLE_SIDED = 0 # 双面
BLEND_WATER = 1 # 透明水面
ALPHATEST_MICRO_BLOCK = 2 # 全透明微缩方块
RAY_TRACED_WATER = 3 # 原版光线追踪水面
DEFERRED_WATER = 4 # 原版延迟渲染水面
BLEND = 5 # 半透明
OPAQUE = 6 # 不透明
OPTIONAL_ALPHATEST = 7 # 局部全透明
ALPHATEST = 8 # 全透明
SEASONS_OPAQUE = 9 # 原版用于渲染不透明树叶
SEASONS_OPTIONAL_ALPHATEST = 10 # 原版用于渲染局部全透明方块
ALPHATEST_SINGLE_SIDE = 11 # 单面全透明
ENDPORTAL = 12 # 原版末地传送门
BARRIER = 13 # 原版屏障
LIGHT = 14 # 原版光源
STRUCTURE_VOID = 15
```

View File

@@ -0,0 +1,22 @@
# ShapeType
class in mod.common.minecraftEnum
- 描述
调试图形枚举
```python
class ShapeType(object):
BOX = 1 # 盒子
LINE = 2 # 线条
CIRCLE = 3 # 圆
ARROW = 4 # 箭头
TEXT = 5 # 文本
SPHERE = 6 # 球
COUNT = 7 # 图形数量
```

View File

@@ -6,70 +6,72 @@
| 枚举值 | 描述 |
| --- | --- |
| [ActorDamageCause](ActorDamageCause.md) | 描述实体伤害来源枚举值,及实体被伤害的原因。 |
| [AniCheatBlockBreak](AniCheatBlockBreak.md) | 反作弊配置枚举值,破坏方块相关 |
| [AniCheatConsts](AniCheatConsts.md) | 反作弊配置开关宏定义 |
| [AniCheatMove](AniCheatMove.md) | 反作弊配置枚举值,移动检查开关 |
| [AniCheatMoveRewind](AniCheatMoveRewind.md) | 反作弊配置枚举值,位移倒带模拟相关参数 |
| [AnimationModeType](AnimationModeType.md) | 描述放置结构体时的动画模式 |
| [ArmorSlotType](ArmorSlotType.md) | 描述盔甲槽位枚举值 |
| [AttrType](AttrType.md) | 描述属性枚举值,用于设置与获取实体的引擎属性的当前值与最大值 |
| [AttributeBuffType](AttributeBuffType.md) | Buff状态类型枚举值 |
| [BiomeType](BiomeType.md) | 生物群系枚举 |
| [BlockBreathability](BlockBreathability.md) | 方块的可呼吸性 |
| [BrewingStandSlotType](BrewingStandSlotType.md) | 描述酿造台槽位 |
| [ButtonEventType](ButtonEventType.md) | 按钮事件枚举值 |
| [ButtonState](ButtonState.md) | 按钮状态枚举值 |
| [CatVariantType](CatVariantType.md) | 描述猫的变体种类 |
| [Change](Change.md) | 刷怪设置参数枚举,用于[SpawnCustomModule](../接口/世界/生物生成.md#spawncustommodule) |
| [ColorCode](ColorCode.md) | [样式代码](https://zh.minecraft.wiki/w/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81) |
| [CommandBlockType](CommandBlockType.md) | 命令方块类型 |
| [ConditionType](ConditionType.md) | 命令方块条件类型 |
| [ContainerType](ContainerType.md) | 容器类型 |
| [EffectType](EffectType.md) | 描述特效类型的枚举值 |
| [EnchantSlotType](EnchantSlotType.md) | 附魔槽位枚举值 |
| [EnchantType](EnchantType.md) | 附魔类型枚举值 |
| [EntityColorType](EntityColorType.md) | 描述实体的颜色种类截止至网易2.9版本,该枚举值应用于羊和热带鱼的颜色 |
| [EntityComponentType](EntityComponentType.md) | 原版实体组件类型,具体描述可参考[微软原版实体组件描述](https://learn.microsoft.com/en-us/minecraft/creator/reference/content/entityreference/examples/componentlist) |
| [EntityTeleportCause](EntityTeleportCause.md) | 传送理由枚举 |
| [EntityType](EntityType.md) | 实体类型枚举 |
| [Facing](Facing.md) | 朝向枚举值 |
| [FoxType](FoxType.md) | 描述狐狸的种类 |
| [GameDiffculty](GameDiffculty.md) | 描述游戏难度的枚举值 |
| [GameType](GameType.md) | 描述游戏类型的枚举值 |
| [GamepadKeyType](GamepadKeyType.md) | 描述游戏手柄的按键枚举值 |
| [HorseSpotType](HorseSpotType.md) | 描述马的斑点种类 |
| [HorseType](HorseType.md) | 描述马的变体颜色 |
| [InputMode](InputMode.md) | 控制器输入模式 |
| [InventoryType](InventoryType.md) | 原版分页类型的枚举值 |
| [ItemAcquisitionMethod](ItemAcquisitionMethod.md) | 获得物品的方法枚举值 |
| [ItemCategory](ItemCategory.md) | 物品所属创造栏类型 |
| [ItemColor](ItemColor.md) | 物品的颜色枚举值 |
| [ItemPosType](ItemPosType.md) | 描述玩家物品位置 |
| [ItemUseMethodEnum](ItemUseMethodEnum.md) | 使用物品的方法枚举值 |
| [KeyBoardType](KeyBoardType.md) | 描述PC端点击键盘输入的按钮枚举值 |
| [MirrorModeType](MirrorModeType.md) | 描述放置结构体时的镜像模式 |
| [OpenContainerId](OpenContainerId.md) | 开放容器Id |
| [OptionId](OptionId.md) | 可设置的枚举值 |
| [OriginGUIName](OriginGUIName.md) | 获取原生UI名字 |
| [PlayerActionType](PlayerActionType.md) | 玩家动作枚举 |
| [PlayerExhauseRatioType](PlayerExhauseRatioType.md) | 饥饿度消耗倍率类型 |
| [PlayerUISlot](PlayerUISlot.md) | 开放容器对应的slot偏移 |
| [RayFilterType](RayFilterType.md) | 射线检测类型 |
| [RedstoneModeType](RedstoneModeType.md) | 命令方块红石类型 |
| [RenderControllerArrayType](RenderControllerArrayType.md) | 渲染控制器字典中材质、贴图、模型的枚举值 |
| [RenderLayer](RenderLayer.md) | 方块渲染时的材质类型 |
| [SetBlockType](SetBlockType.md) | 方块设置的类型 |
| [SliderOptionId](SliderOptionId.md) | 滑动条设置选项枚举值 |
| [StructureFeatureType](StructureFeatureType.md) | 原版结构特征类型的枚举 |
| [TimeEaseType](TimeEaseType.md) | 时间变化类型 |
| [TouchEvent](TouchEvent.md) | 触摸回调事件枚举 |
| [TradeLevelType](TradeLevelType.md) | 描述村民的交易等级 |
| [TransferServerFailReason](TransferServerFailReason.md) | 转服判定失败的错误码 |
| [UICategory](UICategory.md) | 原生UI类型名 |
| [UiBaseLayer](UiBaseLayer.md) | 自定义UI界面的层次宏定义用于在多个插件之间协调UI界面的遮挡关系 |
| [UseAnimation](UseAnimation.md) | 使用物品时动画枚举值 |
| [VillagerClothingType](VillagerClothingType.md) | 描述v2版村民的衣服类型 |
| [VirtualWorldObjectType](VirtualWorldObjectType.md) | 虚拟世界对象类型 |
| [WalkState](WalkState.md) | 玩家行走模式 |
| [ActorDamageCause](../枚举值/ActorDamageCause.md) | 描述实体伤害来源枚举值,及实体被伤害的原因。 |
| [AniCheatBlockBreak](../枚举值/AniCheatBlockBreak.md) | 反作弊配置枚举值,破坏方块相关 |
| [AniCheatConsts](../枚举值/AniCheatConsts.md) | 反作弊配置开关宏定义 |
| [AniCheatMove](../枚举值/AniCheatMove.md) | 反作弊配置枚举值,移动检查开关 |
| [AniCheatMoveRewind](../枚举值/AniCheatMoveRewind.md) | 反作弊配置枚举值,位移倒带模拟相关参数 |
| [AnimationModeType](../枚举值/AnimationModeType.md) | 描述放置结构体时的动画模式 |
| [ArmorSlotType](../枚举值/ArmorSlotType.md) | 描述盔甲槽位枚举值 |
| [AttrType](../枚举值/AttrType.md) | 描述属性枚举值,用于设置与获取实体的引擎属性的当前值与最大值 |
| [AttributeBuffType](../枚举值/AttributeBuffType.md) | Buff状态类型枚举值 |
| [BiomeType](../枚举值/BiomeType.md) | 生物群系枚举 |
| [BlockBreathability](../枚举值/BlockBreathability.md) | 方块的可呼吸性 |
| [BrewingStandSlotType](../枚举值/BrewingStandSlotType.md) | 描述酿造台槽位 |
| [ButtonEventType](../枚举值/ButtonEventType.md) | 按钮事件枚举值 |
| [ButtonState](../枚举值/ButtonState.md) | 按钮状态枚举值 |
| [CatVariantType](../枚举值/CatVariantType.md) | 描述猫的变体种类 |
| [Change](../枚举值/Change.md) | 刷怪设置参数枚举,用于[SpawnCustomModule](../接口/世界/生物生成.md#spawncustommodule) |
| [ColorCode](../枚举值/ColorCode.md) | [样式代码](https://zh.minecraft.wiki/w/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81) |
| [CommandBlockType](../枚举值/CommandBlockType.md) | 命令方块类型 |
| [ConditionType](../枚举值/ConditionType.md) | 命令方块条件类型 |
| [ContainerType](../枚举值/ContainerType.md) | 容器类型 |
| [EffectType](../枚举值/EffectType.md) | 描述特效类型的枚举值 |
| [EnchantSlotType](../枚举值/EnchantSlotType.md) | 附魔槽位枚举值 |
| [EnchantType](../枚举值/EnchantType.md) | 附魔类型枚举值 |
| [EntityColorType](../枚举值/EntityColorType.md) | 描述实体的颜色种类截止至网易2.9版本,该枚举值应用于羊和热带鱼的颜色 |
| [EntityComponentType](../枚举值/EntityComponentType.md) | 原版实体组件类型,具体描述可参考[微软原版实体组件描述](https://learn.microsoft.com/en-us/minecraft/creator/reference/content/entityreference/examples/componentlist) |
| [EntityTeleportCause](../枚举值/EntityTeleportCause.md) | 传送理由枚举 |
| [EntityType](../枚举值/EntityType.md) | 实体类型枚举 |
| [Facing](../枚举值/Facing.md) | 朝向枚举值 |
| [FoxType](../枚举值/FoxType.md) | 描述狐狸的种类 |
| [GameDiffculty](../枚举值/GameDiffculty.md) | 描述游戏难度的枚举值 |
| [GameType](../枚举值/GameType.md) | 描述游戏类型的枚举值 |
| [GamepadKeyType](../枚举值/GamepadKeyType.md) | 描述游戏手柄的按键枚举值 |
| [HorseSpotType](../枚举值/HorseSpotType.md) | 描述马的斑点种类 |
| [HorseType](../枚举值/HorseType.md) | 描述马的变体颜色 |
| [InputMode](../枚举值/InputMode.md) | 控制器输入模式 |
| [InventoryType](../枚举值/InventoryType.md) | 原版分页类型的枚举值 |
| [ItemAcquisitionMethod](../枚举值/ItemAcquisitionMethod.md) | 获得物品的方法枚举值 |
| [ItemCategory](../枚举值/ItemCategory.md) | 物品所属创造栏类型 |
| [ItemColor](../枚举值/ItemColor.md) | 物品的颜色枚举值 |
| [ItemPosType](../枚举值/ItemPosType.md) | 描述玩家物品位置 |
| [ItemUseMethodEnum](../枚举值/ItemUseMethodEnum.md) | 使用物品的方法枚举值 |
| [KeyBoardType](../枚举值/KeyBoardType.md) | 描述PC端点击键盘输入的按钮枚举值 |
| [MirrorModeType](../枚举值/MirrorModeType.md) | 描述放置结构体时的镜像模式 |
| [OpenContainerId](../枚举值/OpenContainerId.md) | 开放容器Id |
| [OptionId](../枚举值/OptionId.md) | 可设置的枚举值 |
| [OriginGUIName](../枚举值/OriginGUIName.md) | 获取原生UI名字 |
| [PermissionChangeCause](../枚举值/PermissionChangeCause.md) | 玩家权限变更原因枚举 |
| [PlayerActionType](../枚举值/PlayerActionType.md) | 玩家动作枚举 |
| [PlayerExhauseRatioType](../枚举值/PlayerExhauseRatioType.md) | 饥饿度消耗倍率类型 |
| [PlayerUISlot](../枚举值/PlayerUISlot.md) | 开放容器对应的slot偏移 |
| [RayFilterType](../枚举值/RayFilterType.md) | 射线检测类型 |
| [RedstoneModeType](../枚举值/RedstoneModeType.md) | 命令方块红石类型 |
| [RenderControllerArrayType](../枚举值/RenderControllerArrayType.md) | 渲染控制器字典中材质、贴图、模型的枚举值 |
| [RenderLayer](../枚举值/RenderLayer.md) | 方块渲染时的材质类型 |
| [SetBlockType](../枚举值/SetBlockType.md) | 方块设置的类型 |
| [ShapeType](../枚举值/ShapeType.md) | 调试图形枚举 |
| [SliderOptionId](../枚举值/SliderOptionId.md) | 滑动条设置选项枚举值 |
| [StructureFeatureType](../枚举值/StructureFeatureType.md) | 原版结构特征类型的枚举 |
| [TimeEaseType](../枚举值/TimeEaseType.md) | 时间变化类型 |
| [TouchEvent](../枚举值/TouchEvent.md) | 触摸回调事件枚举值 |
| [TradeLevelType](../枚举值/TradeLevelType.md) | 描述村民的交易等级 |
| [TransferServerFailReason](../枚举值/TransferServerFailReason.md) | 转服判定失败的错误码 |
| [UICategory](../枚举值/UICategory.md) | 原生UI类型名 |
| [UiBaseLayer](../枚举值/UiBaseLayer.md) | 自定义UI界面的层次宏定义用于在多个插件之间协调UI界面的遮挡关系 |
| [UseAnimation](../枚举值/UseAnimation.md) | 使用物品时动画枚举值 |
| [VillagerClothingType](../枚举值/VillagerClothingType.md) | 描述v2版村民的衣服类型 |
| [VirtualWorldObjectType](../枚举值/VirtualWorldObjectType.md) | 虚拟世界对象类型 |
| [WalkState](../枚举值/WalkState.md) | 玩家行走模式 |