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

@@ -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已经被整合进下拉按钮