|
|
@@ -1,7 +1,238 @@
|
|
|
---
|
|
|
-version-image-link: null
|
|
|
-not_finished: true
|
|
|
+version-image-link: https://img.picgo.net/2025/02/27/image8a6b146736e32b76.png
|
|
|
server-jar: https://piston-data.mojang.com/v1/objects/baab122c7652b302621f7befd5be40abef9b9b7c/server.jar
|
|
|
-translator: null
|
|
|
+translator: 最亮的信标
|
|
|
cats: ['1.21','1.21.5']
|
|
|
---
|
|
|
+在本周的快照中,我们带来了盼望已久的同步特性——倒下的树木第一次亮相于 Java 版。除此之外,萤火虫灌木丛现在可以在红树林沼泽和罕见地在恶地中生成了。
|
|
|
+
|
|
|
+在技术性方面,命令中的 SNBT 语法获得了扩展与改进,包含了与 SNBT 文本组件阻止在运行中转义相关的漏洞修复。
|
|
|
+
|
|
|
+## 新特性
|
|
|
+* 同步基岩版,增加了倒下的树木
|
|
|
+
|
|
|
+### 倒下的树木
|
|
|
+* 倒下的树木是一个新的树的装饰性变种
|
|
|
+* 倒下的树木加入到了以下四种树木类型:
|
|
|
+ * 橡树
|
|
|
+ * 白桦树
|
|
|
+ * 丛林树
|
|
|
+ * 云杉树
|
|
|
+* 倒下的白桦树有高矮两种不同版本
|
|
|
+* 一些倒下的树上会装饰着蘑菇或藤蔓
|
|
|
+* 倒下的树可以在所有该树种生长的生物群系中找到,下列生物群系除外:
|
|
|
+ * 草甸
|
|
|
+ * 竹林
|
|
|
+ * 河流
|
|
|
+ * 雪林
|
|
|
+ * 繁花森林有倒下的白桦树但没有倒下的橡树
|
|
|
+
|
|
|
+## 更改
|
|
|
+### 枯叶
|
|
|
+* 枯叶现在能被其它方块替换
|
|
|
+
|
|
|
+### 萤火虫灌木丛
|
|
|
+* 萤火虫灌木丛现在可以在红树林沼泽以及恶地(非常罕见)的水边生成,就像其它有水的生物群系一样。
|
|
|
+
|
|
|
+## 技术性更改
|
|
|
+* 数据包版本现在为 69
|
|
|
+* 客户端有了新的命令行参数 `--renderDebugLabels`
|
|
|
+ * 向相关的 OpenGL 物体增加了调试标签,使得开发者能更简单地调试渲染
|
|
|
+
|
|
|
+## 数据包版本 69
|
|
|
+* 为 NBT、文本组件以及内联谓词(也称作 SNBT)扩展了在命令中的对象标记
|
|
|
+
|
|
|
+### 命令
|
|
|
+* `/data` 现在可以透明地创建和修改异构列表
|
|
|
+
|
|
|
+### 实体数据
|
|
|
+* `FallFlying` 字段不再在被移除时保留
|
|
|
+* 现在 `Health` 与 `Air` 字段若不指定,则默认为各自的最大值
|
|
|
+
|
|
|
+#### `AREA_EFFECT_CLOUD`
|
|
|
+* 现在 `Duration` 字段若不指定,则默认为 `-1`
|
|
|
+* 如果 `Duration` 字段为 `-1`,区域效果云将不再自己消失
|
|
|
+* 这意味着生成未指定时常的区域效果云将会不再立即消失
|
|
|
+
|
|
|
+#### `CREEPER`
|
|
|
+* 现在 `Fuse` 字段若不指定,则默认为 `-1`
|
|
|
+* 现在 `ExplosionRadius` 字段若不指定,则默认为 `3`
|
|
|
+
|
|
|
+#### `DOLPHIN`
|
|
|
+* 现在 `Moistness` 字段若不指定,则默认为 `2400`
|
|
|
+
|
|
|
+#### `ENDER_DRAGON`
|
|
|
+* 现在 `DragonDeathTime` 字段若不指定,则默认为 `0`
|
|
|
+
|
|
|
+#### `FALLING_BLOCK`
|
|
|
+* 现在 `HurtEntities` 字段若不指定,则默认为 `false` (或 `true` 如果 `BlockState` 为 `anvil`)
|
|
|
+* 现在 `FallHurtAmount` 字段若不指定,则默认为 `0`
|
|
|
+* 现在 `FallHurtMax` 字段若不指定,则默认为 `40`
|
|
|
+* 现在 `DropItem` 字段若不指定,则默认为 `true`
|
|
|
+* `TileEntityData` 字段移除时不再保留
|
|
|
+
|
|
|
+#### `FIREWORK_ROCKET`
|
|
|
+* 现在 `ShotAtAngle` 字段若不指定,则默认为 `false`
|
|
|
+
|
|
|
+#### `FOX`
|
|
|
+* 现在 `Trusted` 字段若不指定,则默认为空(并且使用 `/data` 修改时将不再与原状态合并)
|
|
|
+
|
|
|
+#### `GHAST`
|
|
|
+* 现在 `ExplosionPower` 字段若不指定,则默认为 `1`
|
|
|
+
|
|
|
+#### `GOAT`
|
|
|
+* 现在 `HasLeftHorn` 和 `HasRightHorn` 字段若不指定,则默认为 `true`
|
|
|
+
|
|
|
+#### `INTERACTION`
|
|
|
+* 现在 `width` 和 `height` 字段若不指定,则默认为 `true`
|
|
|
+
|
|
|
+#### `Item`
|
|
|
+* 现在 `Health` 字段若不指定,则默认为 `5`
|
|
|
+* 现在 `PickupDelay` 字段若不指定,则默认为 `0`
|
|
|
+* 现在 `Age` 字段若不指定,则默认为 `0`
|
|
|
+* `Owner` 和 `Thrower` 字段移除时不再保留
|
|
|
+
|
|
|
+#### `ITEM_FRAME` 与 `GLOW_ITEM_FRAME`
|
|
|
+* 现在 `ItemDropChance` 字段若不指定,则默认为 `1.0`
|
|
|
+
|
|
|
+#### `PRIMED_TNT`
|
|
|
+* 现在 `fuse` 字段若不指定,则默认为 `80`
|
|
|
+* 现在 `explosion_power` 字段若不指定,则默认为 `4`
|
|
|
+
|
|
|
+#### `SHULKER`
|
|
|
+* 现在 `Color` 字段若不指定,则默认为 `16`
|
|
|
+
|
|
|
+#### `SKELETON`
|
|
|
+* `StrayConversionTime` 字段移除时不再保留
|
|
|
+
|
|
|
+#### `SPECTRAL_ARROW`
|
|
|
+* 现在 `Duration` 字段若不指定,则默认为 `200`
|
|
|
+
|
|
|
+#### `SNOW_GOLEM`
|
|
|
+* 现在 `Pumpkin` 字段若不指定,则默认为 `true`
|
|
|
+
|
|
|
+#### `TNT_MINECART`
|
|
|
+* 现在 `fuse` 字段若不指定,则默认为 `80`
|
|
|
+* 现在 `explosion_power` 字段若不指定,则默认为 `4`
|
|
|
+* 现在 `explosion_speed_factor` 字段若不指定,则默认为 `1`
|
|
|
+
|
|
|
+#### `TRADER_LLAMA`
|
|
|
+* 现在 `DespawnDelay` 字段默认值为 `47999`
|
|
|
+
|
|
|
+#### `VILLAGER`
|
|
|
+* 现在 `FoodLevel` 和 `Xp` 字段若不指定,则默认为 `0`
|
|
|
+* `ConversionTime` 字段移除时不再保留
|
|
|
+
|
|
|
+#### `WANDERING_TRADER`
|
|
|
+* 现在 `DespawnDelay` 字段若不指定,则默认为 `0`
|
|
|
+
|
|
|
+#### `ZOMBIE`
|
|
|
+* `DrownedConversionTime` 字段移除时不再保留
|
|
|
+
|
|
|
+#### `ZOMBIE_VILLAGER`
|
|
|
+* 现在 `Xp` 字段若不指定,则默认为 `0`
|
|
|
+* `ConversionTime` 字段移除时不再保留
|
|
|
+
|
|
|
+#### `ARROW`, `SPECTRAL_ARROW`, `TRIDENT`
|
|
|
+* 现在 `damage` 字段若不指定,则默认为 `2`
|
|
|
+
|
|
|
+#### `DRAGON_FIREBALL`, `WIND_CHARGE`, `BREEZE_WIND_CHARGE`, `WITHER_SKULL`, `SMALL_FIREBALL` 和 `LARGE_FIREBALL`
|
|
|
+* 现在 `acceleration_power` 字段若不指定,则默认为 `0.1`
|
|
|
+
|
|
|
+#### `SMALL_FIREBALL` 和 `LARGE_FIREBALL`
|
|
|
+* 现在 `ExplosionPower` 字段若不指定,则默认为 `1`
|
|
|
+
|
|
|
+#### `BLOCK_DISPLAY`, `ITEM_DISPLAY` 和 `TEXT_DISPLAY`
|
|
|
+* 现在 `interpolation_duration`、`teleport_duration` 以及 `start_interpolation` 字段若不指定,则默认为 `0`
|
|
|
+* 现在 `view_range` 字段若不指定,则默认为 `1`
|
|
|
+* 现在 `shadow_radius` 字段若不指定,则默认为 `0`
|
|
|
+* 现在 `shadow_strength` 字段若不指定,则默认为 `1`
|
|
|
+* 现在 `width` 和 `height` 字段若不指定,则默认为 `0`
|
|
|
+
|
|
|
+### 方块实体数据
|
|
|
+#### `CAMPFIRE`
|
|
|
+* `CookingTimes` 和 `CookingTotalTimes` 字段移除时不再保留
|
|
|
+
|
|
|
+#### `CHISELED_BOOKSHELF`
|
|
|
+* 现在 `last_interacted_slot` 字段若不指定,则默认为 `-1`
|
|
|
+
|
|
|
+#### `HOPPER`
|
|
|
+* 现在 `TransferCooldown` 字段若不指定,则默认为 `-1`
|
|
|
+
|
|
|
+#### `JIGSAW`
|
|
|
+* 现在 `name`、`target` 和 `pool` 字段若不指定,则默认为 `minecraft:empty`
|
|
|
+* 现在 `final_state` 字段若不指定,则默认为 `minecraft:air`
|
|
|
+
|
|
|
+#### `SCULK_SHRIEKER`
|
|
|
+* 现在 `warning_level` 字段若不指定,则默认为 `0`
|
|
|
+
|
|
|
+#### `STRUCTURE_BLOCK`
|
|
|
+* 现在 `ignoreEntities` 和 `showboundingbox` 字段若不指定,则默认为 `true`
|
|
|
+* 现在 `posY` 字段若不指定,则默认为 `1`
|
|
|
+
|
|
|
+### NBT 更改
|
|
|
+* 在游戏中任何有 NBT 数据的接口(SNBT 表示、 `/data`)现在支持异构列表,即一个元素可以是不同类型的列表。
|
|
|
+ * 使用 `/data` 插入或替换一个异构列表中的元素不再报错
|
|
|
+ * 插入任何数组类型(如: `[I;1,2,3]`)仍限制类型
|
|
|
+ * 这意味着之前被用于展示异构列表的 'wrapper' 对象将不再可以在游戏中观察到
|
|
|
+* `/data` 不再能遍历有空键的路径(如:`/data get ... foo.''.bar`)
|
|
|
+* NBT 文件类型未受改变
|
|
|
+ * 异构列表会在储存前进行转换以越过 NBT 限制
|
|
|
+ * 转换例如:`['a', {'b':3}]` 将会储存为 `[{'':'a'},{'b':3}]`
|
|
|
+ * 现存的外部工具将仍能够像之前一样读取 NBT 文件,但是异构列表将会以转换过的形式显示
|
|
|
+* 游戏产生的数据没有变化:对象如文本组件已经产生这个形式的异构列表
|
|
|
+* 备注:这些 wrapper 对象可能在游戏中完全不会被观察到,它们仅与直接操作 NBT 文件或网络格式的开发者有关
|
|
|
+
|
|
|
+### SNBT 更改
|
|
|
+* 扩展了在命令中描述对象类数据的文本格式(像 NBT、文本组件、谓词等)
|
|
|
+
|
|
|
+#### 数字格式
|
|
|
+* 浮点数的整数或小数部分都可以省略
|
|
|
+ * 例如: `.1` 和 `1.` 现在都是有效的
|
|
|
+* 浮点数可以使用 E 标记
|
|
|
+ * 例如:`1.2e3`、`1.2E3`、`1.2E+3`、`12000e-1` 这些都是代表 `1200.0` 的有效的形式
|
|
|
+* 整型数现在可以使用 `0x` 前缀来代表十六进制,可以使用 `0b` 前缀来代表二进制
|
|
|
+ * 例如:`0xbad`(等于 `2989`) ,`0xCAFE`(等于 `51966`),`0b101` (等于 `5`)
|
|
|
+* 整型数现在不能以 `0` 开头
|
|
|
+ * 正常它代表八进制,但是我们限制了它以防意外使用
|
|
|
+* 数字序列中间可以包含 `_` 字符(但是不能在序列的开头或结尾)
|
|
|
+ * 例如:`0b10_01`、`0xAB_CD`、`1_2.3_4__5f`、`1_2e3_4`
|
|
|
+* `NaN`、`Inf` 和 十六进制浮点表示**不受**支持
|
|
|
+* 扩展了类型后缀
|
|
|
+ * 整型类型后缀(`b`、`B` - 字节;`s`、`S` - 短整型;`i`、`I` - 整型;`l`、`L` - 长整型;)可以增加 `s`(带符号)或 `u`(无符号)
|
|
|
+ * 新后缀在解析时仅影响有效范围 - 数值仍以带符号储存
|
|
|
+ * 例如:`240ub` 等于 `-16sb`,但 `240sb` 不解析
|
|
|
+ * 当后缀不带有 `u` 或 `s`,默认十进制使用带符号,二进制和十六进制使用不带符号
|
|
|
+ * 注意:因为 `b` 也是一个有效的十六进制数,字节范围内的十六进制数值必须注明是否带符号,如 `0x11ub` 和 `0x11sb`
|
|
|
+
|
|
|
+#### 字符串
|
|
|
+* 使用引号引起的字符串现在使用除 `'`、 `"` 以及`\`之外的转义字符序列
|
|
|
+ * Unicode 转义:
|
|
|
+ * `\x` - 双字节转义,如 `\x42`
|
|
|
+ * `\u` - 四字节转义,如 `\u2603`
|
|
|
+ * `\U` - 八字节转义,如 `\U00002603`
|
|
|
+ * `\N{<name>}` - 带名字的 Unicode 字符,例如 `\N{Snowman}`
|
|
|
+ * 内置转义序列
|
|
|
+ * `\b` - 退格,Unicode `\x08`
|
|
|
+ * `\s` - 空格,Unicode `\x20`
|
|
|
+ * `\t` - 水平 Tab,Unicode `\x20`
|
|
|
+ * `\n` - 换行,Unicode `\u0a`
|
|
|
+ * `\f` - 换页,Unicode `\u0c`
|
|
|
+ * `\r` - 回车,Unicode `\u0d`
|
|
|
+* 未使用引号引起的字符串不能以 `0-9`、`.`、`+`、`-` 开头以避免与数字的意外冲突
|
|
|
+
|
|
|
+#### 数字数组
|
|
|
+* 没有后缀的数组中的值(`[B;]`、`[I;]`、`[L;]`)现在假设拥有和数组类型匹配的类型
|
|
|
+ * 例如:`[B;1,2]` 与 `[B; 1b, 2b]` 相同
|
|
|
+* 数组现在可以接受比数组类型小的类型
|
|
|
+ * 例如:`[I;1b,2s,3]` 有效且与 `[I;1i,2i,3i]` 相同
|
|
|
+
|
|
|
+#### 列表
|
|
|
+* 列表现在接受尾随逗号
|
|
|
+ * 例如:`[1,2,]` 与 `[1,2]` 相同
|
|
|
+ * 仅能允许一个尾随逗号,并且其必须位于一个有效元素后—— `[,]` 和 `[1,,]` 都是无效的
|
|
|
+
|
|
|
+#### Compounds
|
|
|
+* Compounds(映射)现在接受尾随逗号
|
|
|
+ * 例如:`{a:b,}`
|
|
|
+ * 仅能允许一个尾随逗号,并且其必须位于一个有效键值对后—— `{,}` 和 `{a:b,,}` 都是无效的
|