Files
boybook 760c2dd9ad 2.6
2025-12-01 20:59:16 +08:00

151 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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