我的世界java版快照 23W31A更新中文翻译
我个人非常确信游戏已经很完美了,但似乎我们的开发人员不同意。
我们现在发布了《我的世界》1.20.2的第一个快照!
此快照带来了钻石矿石生成的变化、对水道屏障的能力以及村民固化的变化。它还带来了一个新的实验性切换,可以更新村民交易,我们渴望听到您的反馈。除了大量错误修复外,您还将在此快照中找到大量技术 我个人非常确信游戏已经很完美了,但似乎我们的开发人员不同意。
我们现在发布了《我的世界》1.20.2的第一个快照!
此快照带来了钻石矿石生成的变化、对水道屏障的能力以及村民固化的变化。它还带来了一个新的实验性切换,可以更新村民交易,我们渴望听到您的反馈。除了大量错误修复外,您还将在此快照中找到大量技术
功能和更改,包括新命令、函数宏、持久命令历史记录、网络性能改进等等。
23W31A 中的新实验功能
村民贸易平衡系统
此快照引入了一个新的实验性功能切换,用于更新漫游交易者和图书馆员交易。如果您想测试新交易,则必须在创建新世界时在实验菜单中打开此功能切换。您可以找到有关功能切换的详细信息:https://www.minecraft.net/zh-hans/article/testing-new-minecraft-features/feature-toggles-java-edition
由于这是一项实验,我们非常感谢您在工作继续进行时提供反馈,并帮助我们决定村民行业的未来方向。访问此链接分享您的想法!:https://aka.ms/VillagerTradingFeedback
图书馆管理员变更
在这些更改之前,玩家可以从任何图书管理员那里获得任何村庄附魔。新手图书管理员可以出售游戏中最好的附魔!对于一些玩家来说,这感觉太随机了,与使用附魔表或在结构中搜索附魔书相比,交易感觉过于强大。
根据新规则,来自不同生物群系的图书馆员出售不同的结界,每个村庄的生物群系都有一个只有图书馆管理员才能出售的结界。
玩家将不得不努力获得最佳交易,而不是依赖随机机会。我们希望这能让图书馆员的交易更加有趣和熟练,同时也通过那里出售的附魔揭示了他们每个村庄类型的历史的一些线索。

来自不同生物群系的图书馆员现在出售不同的魔法书籍
每个村庄生物群系都有一个特殊附魔,只有拥有完整经验值的图书馆管理员才能获得
这意味着玩家必须访问所有七个村庄生物群系才能获得全套村民附魔
有两个秘密的村庄生物群系,村庄不会生成
玩家必须建造这些村庄才能进入他们的交易!
一些结界已经从村庄交易中移除,必须通过其他方式找到。
流浪商人会卖的:

流浪交易者现在价格较低,每件商品的库存数量更高
流浪交易者现在出售原木
流浪交易者现在可以购买许多物品,而不仅仅是出售
变化
钻石矿石现在在主世界的深板岩层中生成的频率更高
治愈僵尸村民现在第一次只能提供很大的折扣
再次感染和治愈同一村民不再有额外折扣
障碍块现在可以在创造模式下被玩家浸水
水不能放入其中或通过分配器等非直接相互作用取出
玩家在乘坐车辆时将无法再蹲下
合唱花不再为悬挂或站立块提供支撑
钻石矿石分布
在此快照中,我们增加了在世界最深处发现的钻石矿石的数量。我们的目标是让在深板岩层开采钻石更有回报。我们希望您对此提供反馈!请尝试您最喜欢的采矿技术,并让我们知道它的感觉:https://aka.ms/OreDistributionFeedback
技术变更
资源包版本现在是 16
数据包版本现在是 16
已使用命令的历史记录现已保存,可跨世界访问
优化了将区块发送到客户端的方式,以允许具有低带宽互联网连接的玩家在多人游戏服务器上玩游戏
添加了对多版本包的支持
更改了网络协议,以允许将来使用更多数据驱动的内容
向服务器属性添加了新的日志 ips 选项
添加了对数据包和资源包中符号链接的验证
当通过 F3+B 显示命中框时,有玩家的实体将显示玩家的连接点
命令历史记录
您在聊天中发送的最后 50 个命令将在游戏会话中被记住
您可以通过按聊天中的向上或向下箭头来访问命令和聊天记录
常规聊天仅保留在同一游戏会话中(离开服务器或世界会清除它们)
最近的命令存储在游戏文件夹中的command_history.txt中
区块发送优化
区块不再通过网络在一个大的连续批处理中发送到客户端
相反,它们会根据可用带宽以较小的批次发送。这意味着:
具有极低带宽连接的客户端在加载世界时不会超时
具有低带宽连接的客户端可以在某些块仍在加载时与世界交互
现在仅发送客户端渲染距离内的区块
多版本包
数据包和资源包中添加了新功能,允许创建与多个游戏版本兼容的包。
打包元数据
包元数据现在包括一个可选字段supported_formats,用于描述此包支持的包格式范围
示例:16, [16,17], {“min_inclusive”: 16, “max_inclusive”: 17}
pack_format字段仍然是必需的,其格式保持不变,以允许较旧的游戏版本读取包数据
如果存在supported_formats,则它必须包含 pack_format 中声明的值
注意:由于旧版本的游戏忽略了此新信息,因此他们将始终看到“正常”的单版本包,没有任何扩展兼容性
覆盖区块
包现在可以包含覆盖目录(“覆盖”)
叠加层是应用于包的“正常”内容物的子包
这些目录与顶级包具有相同的布局,包括资产和数据目录
如果叠加层支持客户端的包格式,则可以应用它们
叠加可以添加和替换文件,但不能删除它们
例如,如果应用了叠加 foo,文件 foo/assets/minecraft/textures/bar.png 将替换 assets/minecraft/textures/bar 的内容.png
pack.mcmeta 和 pack.png 在覆盖目录中被忽略
添加了名为叠加的新部分以打包元数据
它包含一个条目字段,包含覆盖列表
每个叠加条目都有两个字段:
格式 - 支持的格式范围
目录 - 覆盖目录(允许的字符:A-Z、0-9、_ 和 -)
应用顺序:叠加层从列表的底部到顶部堆叠
例如,如果一个包有两个叠加层:“条目”:[{“目录”:“A”, ...}, {“目录”:“B”, ...}],游戏将首先查看 B,然后是 A,然后是顶部包目录
网络协议
作为实现更多数据驱动功能的持续工作的一部分,网络协议已更改以包括新的配置阶段。
配置阶段在登录阶段(即客户帐户验证后)自动开始,并持续到玩家加入世界(游戏阶段)
客户端可以无限期地停留在配置阶段 - 由服务器将其发布到全世界
服务器还可以请求客户端在进入播放阶段后重新进入配置阶段
其他玩家将看到此类客户端已断开连接
处于配置阶段的用户在玩家列表中不可见
配置阶段允许的操作(从播放阶段移出)
数据驱动注册表的配置
启用功能的配置
配置和播放阶段之间共享的操作:
服务器资源包的应用
标签更新
交换自定义数据包
Ping 和保持活动状态数据包
服务器现在将在配置阶段协商资源包
这意味着玩家在回答提示和重新加载资源时将不再在世界中
SERVER.PROPERTIES
新选项:日志 ip(默认为 true)
设置为 false 时,将阻止玩家 IP 在玩家加入游戏时包含在日志中
新选项:日志 ip(默认为 true)
设置为 false 时,将阻止玩家 IP 在玩家加入游戏时包含在日志中
符号链接验证
为了提高安全性,游戏现在还将检测数据和资源包中使用的符号链接。
此功能扩展了先前版本中添加的世界中的符号链接验证
如果通过拖放添加的包包含不允许的符号链接,游戏现在将警告用户
包含不允许的符号链接的包在 UI 和命令中不可见
此外,未识别为包的目录和文件将不再通过拖放进行复制
有关详细说明,请参阅此帮助文章:https://aka.ms/MinecraftSymLinks
遥测
在遥测数据收集屏幕中添加了一个按钮,该按钮链接到Microsoft隐私声明
资源包版本 16
使用此自动切片器工具可以协助升级包的过程
GUI 工作表中包含多个STRITE的所有纹理都已拆分为纹理/GUI/SPRITE下的单个SPRITE(由切片器工具自动)
领域命名空间中的所有纹理都已移动到 minecraft 命名空间中(由切片器工具自动)
villager2.png 已重命名为 villager.png(由切片器工具自动)
图标/trial_available 和 realm_status/expires_soon GUI SPRITE使用 .mcmeta 声明而不是单个SPRITE进行动画处理(由切片器工具自动)
捆绑工具提示背景现在绘制为九切片的SPRITE
辅助功能、语言、领域新闻按钮的图标已从其底层按钮纹理中分离出来
“领域邀请”按钮现在绘制为普通按钮纹理上的叠加层
此按钮的突出显示纹理状态已被删除
GUI 绘图中使用的STRITE已拆分为单独文件,而不是较大的表
例如,小部件/按钮.png和小部件/button_highlighted.png已从小部件中分离出来.png
每个角色现在都可以被资源包单独覆盖,而不是替换整个工作表
SPRITE从 textures/gui/sprites 目录加载到 gui atlas 中
数据包版本 16
游戏规则随机滴答速度现在影响冰雪的积累速度,就像它影响受随机滴答声影响的农作物和其他方块一样
添加了随机命令
执行命令的新形式:执行 if 函数
返回命令的新形式:返回运行
添加了对函数宏的支持
更改了传送后插值后的显示实体
添加了新的属性泛型.max_吸收
在记分板命令中将显示槽参数中的 name# 值重命名为 below_name
游戏事件更改
新标签
用于随机化值和控制随机序列的新命令。值和辊状可用于绘制随机值。在滚动的情况下,结果值也会显示在所有玩家的聊天中。
语法:
随机值|滚动 <range> [<sequenceId>]
随机复位 *|<sequenceId> [] <seed><includeWorldSeed>[] [<includeSequenceId>]
参数:
范围:要随机化的值范围(包括
例如,1..6 是常规的 D6 卷
sequenceId:要采样或重置的随机序列的名称
种子:重置后用于随机序列的种子
includeWorldSeed:一个布尔值 [默认值:true],指定在设定序列种子时是否包含世界种子
false 表示无论命令在哪个环境中运行,序列的计算结果都将相同
includeSequenceId:一个布尔值 [default: true],指定在设定序列种子时是否包含序列 ID
false 表示所有序列的计算结果都相同,无论它们具有哪个名称
默认情况下,所有序列都设定为 0、true、true。使用 * 而不是序列 ID 可重置所有序列并设置默认参数。
如果未指定种子,序列将重置为默认参数。
请注意,<range>没有序列 ID 的随机值|滚动可供非操作员玩家使用。
执行 IF 函数 一个新的 execute 子命令,用于运行函数或函数标记并与返回值匹配。如果给定了一个标记,则所有函数都将运行,而不考虑先前函数的结果。语法:执行 if|除非函数 参数: 函数<function> <continuation> :要运行的函数或标记
运行函数的结果值的匹配:
必须至少成功一个函数才能成功
成功调用定义为一个函数,该函数:
使用返回命令返回值
返回值不为 0
返回运行
现在可以使用返回命令的新形式,返回运行。语法:
返回运行<command>
这将从运行指定的命令中获取结果值,并将其作为函数的返回值返回。在所有其他方面,它的工作方式类似于具有指定返回值的返回。如果给定命令失败,则返回值为 0。
功能
单个反斜杠 作为一行的最后一个非空格字符现在允许命令在下一行继续
在追加之前去除下一行的前导和尾随空格
函数现在可以包含宏行,使其成为函数宏。
任何以 $ 开头的行(作为第一个非空格字符)都标记宏行
宏行还包含一个或多个 $(变量) 形式的替换
调用函数宏时,必须提供包含所有参数变量数据的复合
调用函数宏
函数命令具有新的形式:
功能 <id> <compound>
<id> 函数与<数据源> [<path>]
新参数:
复合:数据复合,括在 {} 中
数据源:数据源规范,例如已可用于数据获取的内容
路径:NBT 路径规范
笔记:
数据源和路径必须指定复合数据条目
复合必须包含宏中使用的每个变量的一个条目
化合物中可能存在更多数据,如果是,则忽略
使用数据复合调用非宏函数将被静默忽略
调用宏时,将替换提供的值来代替变量规范,并执行生成的命令
由变量替换导致的行中的任何语法错误都会导致跳过整个函数调用
性能注意事项
使用宏意味着必须在变量替换后重新评估命令。与运行预解析函数相比,这会产生额外的成本。
常规命令(非宏行)仍会预先解析。调用宏时,仅解析包含变量替换的命令,并且游戏将尝试缓存调用中使用的特定参数集的结果。
这使得具有相同参数集的重复调用比具有不同参数的新调用更便宜,但与常规函数相比,开销仍然存在。请注意,此缓存中仅包含宏引用的值作为参数,因此将忽略所提供复合中的任何额外数据。
显示实体插值
显示实体现在开始更新其客户端位置,并在更新后的第一个即时报价时开始旋转
在以前的版本中,更新在同一刻度中应用,导致运动不均匀
新行为现在类似于盔甲架、生物和玩家
在服务器上,位置和旋转仍会立即更新
此插值的持续时间由场teleport_duration控制
0 表示立即应用更新
1 表示显示实体将从当前位置移动到更新的位置,而不是一个刻度
较高的值将走势分散到多个即时报价上
请注意,此值被固定以避免由于定期位置更新而导致的毛刺
新值将仅应用于更改后所做的位置和旋转更改
这意味着任何当前的走势都将保持不变
注意:骑行时的行为与以前的版本保持不变
属性
添加了新的属性泛型.max_吸收
仿.max_吸收行为类似于仿.max_健康,但它不是健康的上限,而是吸收量的上限
暴民效应吸收增加通用.max_吸收,并在应用时将吸收量填充到最大
游戏活动
entity_roar和entity_shake游戏事件已被删除,并替换为entity_action游戏事件
标签
添加了no_knockback伤害类型标签,导致击退不是由伤害本身引起的
在原版中用于由爆炸等事件造成的伤害,这些事件单独应用击退
添加了non_controlling_rider以表示不覆盖其车辆移动控制的实体
为混凝土粉末砌块添加了concrete_powder块标签
为产生entity.camel.step_sand声音的块添加了camel_sand_step_sound_blocks块标签