转载自Minecraft Wiki
对物品堆(Item Stack)做出了重大更改。物品堆的各种具体属性有了新的存储方式和表示方法,这将取代原本物品的 tagNBT标签。此项改变有以下目的:
上个开发版本的漏洞
MINECRAFT快照 24W09A
常规
标签- 加入了伤害类型标签bypasses_wolf_armor:#bypasses_invulnerability、cramming、drown、dry_out、freeze、in_wall、indirect_magic、magic、outside_border、starve、thorns和wither。
- 战利品表抽取项loot_table(从提供的嵌套战利品表返回所有物品)现在有以下语法:
- value可以是:
- 一个命名空间ID,指对另一个战利品表的引用。
- 完整的战利品表,格式与独立文件的战利品表相同。
- value可以是:
- 加入了函数set_components,用于在输入物品上添加或替换给定组件。
- conditions,条件列表,默认为[]。
- 在应用函数之前要检查的条件。
- components,组件ID到组件值的映射,格式因ID而异。
- 带有“!”前缀的组件将导致该组件被删除。
- conditions,条件列表,默认为[]。
- 加入了函数copy_components,用于将组件从指定源复制到物品上。
- 现在在原版数据包中使用它来代替copy_name和copy_nbt函数。
- conditions,条件列表,默认为[]。
- 在应用函数之前要检查的条件。
- source,被提取组件的资源类型,当前必须为block_entity。
- components,被复制的组件ID列表。
- 在“辅助功能设置”屏幕中加入了“菜单背景模糊程度”滚动条。
对物品堆(Item Stack)做出了重大更改。物品堆的各种具体属性有了新的存储方式和表示方法,这将取代原本物品的 tagNBT标签。此项改变有以下目的:
- 提升游戏频繁查询某个物品的多种属性时的程序性能(例如,盔甲纹饰在每一帧渲染时)。
- 在加载时就验证物品属性,使得命令和数据包中的非法数据更容易被识别。
- 这有助于避免由于未来格式的更改而对命令中指定的自定义物品数据产生“静默”破坏。
- 继续对游戏进行改进,提升了玩家创造动态内容的能力。
- 物品堆相关的非结构化NBT数据( tag)被结构化的“组件”( components)取代。
- 这些数据将在物品被加载时进行解析和验证。
- 这将提升在某些应用场景下的程序性能(比如,盔甲纹饰的渲染),常见于物品被频繁地比较或请求和解析数据时。
- 可将自定义物品数据存储在minecraft:custom_data组件中。
- 物品类型(比如,minecraft:stick)控制物品所拥有的默认组件,个别物品堆可以进行覆盖。
- 在数据包中,序列化物品格式和物品格式变得更加一致,以支持物品堆叠组件。
- 在命令中,物品的语法有所更新,以支持物品堆叠组件。
- 当高级提示框开启时(F3 + H),将显示物品的组件数量而非其NBT标签数量。
- 物品默认组件的值在items.json文件中列出,该文件生成于reports目录中。
- 村民交易的ignoreTags字段被移除,取而代之的是与损伤值相关的物品堆叠组件谓词。
- 方块定义现在被添加到blocks.json报告中(尚未使用,仅供参考)。
- 若未指定宝库方块的 key_item字段,宝库将无法解锁。
- 加入了以下物品堆叠组件(均省略命名空间minecraft:):
- custom_data
- 可用于存储物品的自定义数据。
- 在/give等命令中,可在物品名后使用{…}来表示,与之前表示物品 tag的语法一致。
- 在命令的谓词判断中(比如/clear),将与当前被判断物品的custom_data进行匹配,仅当其中的所有数据都相同时才返回“成功”,否则返回“失败”。
- 升级世界时,旧的物品标签 tag中的任何非游戏数据都会移动到该组件中。
- 格式:一个包含任意字段的对象。如:custom_data={some:'data'}。
- 替代标签 Damage,表示物品损耗的耐久度。
- 若移除此组件,物品将变得不可损坏。
- 格式:一个非负整数。如:damage=12。
- 对于可损坏的物品,该组件的值默认为0。
- 替代了标签 RepairCost,表示在铁砧中修改物品后所消耗的额外经验。
- 格式:一个非负整数。如:repair_cost=12。
- 若未设定,则该组件拥有默认值0。
- 替代了标签 Unbreakable。
- 若设置了该组件,则物品将不会消耗耐久度。
- 格式:带字段的对象。可用字段:
- show_in_tooltip:布尔型(默认为true)。
- 若为true,则在物品提示框中将显示“无法破坏”文本。
- 替代了标签 HideFlags的第3个二进制位。
- 如:unbreakable={}、unbreakable={show_in_tooltip:false}。
- show_in_tooltip:布尔型(默认为true)。
- 替代了标签 Enchantments,用于储存物品的魔咒及其等级。
- 未设置该组件的物品拥有隐性默认值{levels:{}}。
- 格式:带字段的对象。可用字段如下:
- levels:魔咒(对象为字符串ID)的等级(整数,值域为[0,255])。
- show_in_tooltip:布尔型,默认为true。用于替代标签 HideFlags的第1个二进制位。
- 如果为false,则在物品提示框中不显示魔咒。
- 如:enchantments={levels:{'minecraft:protection':2},show_in_tooltip:false}。
- 若未设定,则拥有默认值:{levels:{}}
- 替代附魔书标签 StoredEnchantments,储存附魔书上的魔咒及其等级。
- 附魔书拥有隐性默认值{levels:{}}。
- 魔咒所表示的实际效果不会因为此组件的挂载而生效。
- 格式:与minecraft:enchantments相同。
- levels:魔咒(对象为字符串ID)的等级(整数,值域为[0,255])。
- show_in_tooltip:布尔型,默认为true。用于替代标签 HideFlags的第6个二进制位。
- 如果为false,则在物品提示框中不显示魔咒。
- 在附魔书中,拥有默认值:{levels:{}}
- 替代标签 display.Name,表示物品的自定义名称(会覆盖原名称)。
- 格式:JSON聊天组件字符串。
- 如:custom_name='{"text": "此物品被重命名过了!", "color": "red"}'
- 替代标签 display.Lore,表示物品提示框中附加的描述性信息。
- 格式:JSON聊天组件字符串列表(最多包含64个字符串,每个字符串代表一行文字内容)。
- 如:lore=['{"text": "蛋糕是个谎言!"}']。
- 若未设置,则该组件拥有默认值[]。
- 替代标签 CanDestroy,控制冒险模式玩家可以用此物品破坏哪些方块。
- 这在之前是以普通字符串存储的,但现在使用的是更灵活的方块谓词格式,其在战利品表和进度中都有所使用。
- 格式:带字段的对象。可用字段如下:
- predicates:方块谓词列表。
- blocks:可以为单个方块、方块列表或带哈希前缀(#)的方块标签。
- nbt:要匹配的方块实体NBT。
- state:一个表示方块状态的映射表(map),映射键为方块状态的属性名,映射值为该方块状态对应的可用值。
- 如:can_break={predicates:{blocks:'minecraft:furnace',state:{facing:'north'}}。
- show_in_tooltip:布尔型,默认为true。用于替代标签 HideFlags的第4个二进制位。
- 可以直接使用单个方块谓词表示,如can_break={blocks:'minecraft:stone'}。
- predicates:方块谓词列表。
- 替代标签 CanPlaceOn,控制冒险模式玩家可以把此物品放在哪些方块上。
- 格式为一个元素和一个值,与can_break相同。
- predicates,方块谓词的列表。
- blocks,可以为单个方块、方块列表或哈希前缀方块标签。
- nbt,用于匹配的方块实体NBT。
- state,为状态属性键到用于匹配的值的映射。
- 如:can_place_on={predicates:{blocks:'minecraft:furnace',state:{facing:'north'}}。
- show_in_tooltip为布尔型,默认为true。用于替代标签 HideFlags的第5个字节。
- 也可以使用单个方块谓词,如can_place_on={blocks:'minecraft:stone'}。
- predicates,方块谓词的列表。
- 替代标签 display.color,表示应用于可染色物品(物品标签#dyeable)的颜色。
- 格式为一个元素和一个值。
- rgb,整数RGB值。
- 如:dyed_color={rgb:16711680}。
- show_in_tooltip为布尔型,默认为true。用于替代标签 HideFlags的第7个字节。
- rgb,整数RGB值。
- 替代了标签 AttributeModifiers,控制在物品上应用的属性修饰符。
- 如果未设置,则有基于物品种类默认属性的隐性默认值。
- 格式为一个元素和一个值,默认为{modifiers:[]}。
- modifiers,属性修饰符列表。
- type,属性修饰符ID,代替 AttributeName。
- slot,代替Slot,只有当装备在指定的槽位时,修饰符才会生效。为以下参数之一:
- any,默认。
- hand,(新增)无论主手或副手。
- armor,(新增)任意盔甲槽。
- mainhand
- offhand
- head
- chest
- legs
- feet
- uuid,代替UUID,同一个id只能存在一个修饰符。
- name,可读字符串,代替Name。
- amount,双精度浮点数类型,修改此属性的单元数(由操作控制),代替Amount。
- operation,代替整型ID的Operation,为以下参数之一:
- add_value(曾为0),对属性加amount。
- add_multiplied_base(曾为1),对属性加amount与基值的乘积。
- add_multiplied_total(曾为2),对属性加amount与总值的乘积。
- show_in_tooltip为布尔型,默认为true。用于替代标签 HideFlags的第2个字节。
- modifiers,属性修饰符列表。
- 如:attribute_modifiers={modifiers:[type:'minecraft:generic.scale',uuid:[1,2,3,4],name:'大!',amount:1.0,operation:'add_multiplied_base']}。
- 替代标签 Charged和 ChargedProjectiles,包含所有装入弩中的弹射物。
- 如果不存在,则弩未蓄力。
- 格式为物品堆叠列表,不再限制为3个项。
- 如:charged_projectiles=[{id:'minecraft:arrow'}]。
- 用于标记发射时不显示在弓弩的弹射物物品,它们也将只能被创造模式玩家捡起。
- 仅物品在弩的组件charged_projectiles中时配置。
- 格式为空对象,如intangible_projectile={}。
- 替代标签 Items,控制储存于收纳袋中的物品。如果被移除,则收纳袋不能放入物品。
- 格式为物品堆叠列表。收纳袋有隐性默认值[]。
- 替代标签 display.MapColor,表示地图物品上装饰物的色调。
- 格式为整型RGB值,如map_color=16711680。
- 地图有隐性默认值4603950。
- 替代标签 Decorations,包含地图上的图标列表,用于探险家地图。
- 格式为唯一装饰ID到装饰物的映射。
- type,不再是数字化字节ID,为以下参数之一:
- player(曾为0)
- frame(曾为1)
- red_marker(曾为2)
- blue_marker(曾为3)
- target_x(曾为4)
- target_point(曾为5)
- player_off_map(曾为6)
- player_off_limits(曾为7)
- mansion(曾为8)
- monument(曾为9)
- banner_white(曾为10)
- banner_orange(曾为11)
- banner_magenta(曾为12)
- banner_light_blue(曾为13)
- banner_yellow(曾为14)
- banner_lime(曾为15)
- banner_pink(曾为16)
- banner_gray(曾为17)
- banner_light_gray(曾为18)
- banner_cyan(曾为19)
- banner_purple(曾为20)
- banner_blue(曾为21)
- banner_brown(曾为22)
- banner_green(曾为23)
- banner_red(曾为24)
- banner_black(曾为25)
- red_x(曾为26)
- village_desert(曾为27)
- village_plains(曾为28)
- village_savanna(曾为29)
- village_snowy(曾为30)
- village_taiga(曾为31)
- jungle_temple(曾为32)
- swamp_hut(曾为33)
- x,双精度浮点数类型,世界坐标。
- z,双精度浮点数类型,世界坐标。
- rotation,单精度浮点数,以度为单位从北方顺时针旋转。代替先前双精度浮点数类型rot。
- 如map_decorations={'Some marker':{type:'target_x',x:123.0,z:-45.0,rotation:0.0f}}。
- type,不再是数字化字节ID,为以下参数之一:
- 地图拥有隐性默认值{}。
- 替代标签 map,用于引用持有地图内容和地图标记的共享映射状态。
- 格式为整型ID,如map_id=1。
- 替代标签 CustomModelData,可以通过选择custom_model_data属性来替换物品模型。
- 格式为整型值,如custom_model_data=43。
- 替代标签 Potion、 CustomPotionColor和 custom_potion_effects,控制药水、喷溅药水和滞留药水的效果以及附着于物品上的药水效果。
- 格式为一个元素和一个值。对于药水和药箭物品,有隐性默认值{}。
- potion,(可选)药水ID。也指物品中的药水类型,该物品会继承此药水的所有效果。
- custom_color,(可选)整型RGB值。覆盖药水的视觉颜色。
- custom_effects,效果实例列表,默认为[]。这是额外应对物品附加的自定义效果列表,可能不会以现有药水表示。
- 如:potion_contents={potion:'minecraft:invisibility',custom_color:16711680}
- 替代标签 pages和 filtered_pages,储存书与笔的内容。
- 页面使用{text:'...'}包装以直接列出映射。
- 格式为一个元素和一个值,书与笔有隐性默认值{pages:[]}。
- pages,为下列列表之一:
- 一个元素和一个值:
- text,字符串,页面纯文本内容。
- filtered,(可选)字符串,过滤页面内容。
- 如果指定,启用聊天过滤器的玩家将看到此页面而不是原文本。
- 页面纯文本内容的字符串。
- 一个元素和一个值:
- 如:writable_book_contents={pages:[{text:'你好,世界!'}]}
- pages,为下列列表之一:
- 替代标签 pages、 filtered_pages、 title、 filtered_title、 author、 generation、 resolved,储存成书的内容和元数据。
- 格式为一个元素和一个值,如:written_book_contents={pages:[{text:'Hello world!'}],title:{text:'一次愉快的阅读'},author:'Herobrine',generation:1,resolved:true}。
- pages,与writable_book_contents相同的列表,除了使用可以格式化的JSON聊天组件字符串。
- title,过滤后的字符串(和pages的格式一致)。
- author,字符串玩家名。
- generation,成书被复制的次数。整数,值域为[0,2],0为原本。
- resolved,布尔值。
- 如果本书中的聊天组件已经被解析(目标选择器和计分板分数被替换),则为true。
- 如果为false,打开这本书后它将被解析。
- 替代相同格式的标签 Trim,控制物品纹饰。
- 此组件的存在不再受#trimmable_armor标签的限制,但配方仍受其影响。
- 格式为一个元素和一个值,如:trim={pattern:'minecraft:silence',material:'minecraft:redstone'}。
- pattern,图案ID或内联的图案。
- material,材料ID或内联的材料。
- show_in_tooltip为布尔型,默认为true。用于替代标签 HideFlags的第8个字节。
- 替代相同格式的标签 effects,控制食用谜之炖菜获得的状态效果。
- 格式为状态效果(对象与字段)的列表。谜之炖菜有隐性默认值[]。
- id,状态效果ID。
- duration,整型持续刻数,默认为160。
- 如:suspicious_stew=[{id:'minecraft:poison'}]。
- 替代标签 HideFlags的第6个字节。
- 如果存在,则禁用来自其物品类型的“附加”提示框部分。
- 格式为空对象,如:hide_additional_tooltip={}。
- 替代标签 DebugProperty,储存调试棒使用的选定方块状态资产。
- 格式为方块ID到方块资产名称的映射。调试棒拥有隐性默认值{}。
- 如:debug_stick_state={'minecraft:turtle_egg':'eggs','minecraft:furnace':'facing'}。
- 替代标签 BlockEntityTag,储存非结构化的NBT数据以便在使用生成实体的物品时应用于实体,如刷怪蛋或盔甲架。
- 格式为一个元素和一个值,如:entity_data={id:'minecraft:pig',Health:1.0f}
- 必须含有一个实体类型id字段。
- 任意其他字段都会在生成实体时合并进去。
- 替代标签 NoAI、 Silent、 NoGravity、 Glowing、 Invulnerable、 Health、 Age、 Variant、 HuntingCooldown和 BucketVariantTag,储存非结构化的NBT数据以便在将实体从桶中放出时应用于实体。
- 格式为一个元素和一个值,桶装生物物品拥有隐性默认值{}。
- 可以包含上面列出的任何字段,这些字段将在放置时应用于实体。
- 如:bucket_entity_data={NoAI:1,Age:43}。
- 替代相同格式的标签 instrument,山羊角使用的乐器。
- 格式为乐器ID,如:instrument='minecraft:ponder_goat_horn。
- 替代相同格式的标签 Recipes,控制使用知识之书后应获得的配方列表。
- 格式为配方ID列表,知识之书有隐性默认值[]。
- 如:recipes=['minecraft:acacia_boat','minecraft:anvil']。
- 替代了标签 LodestonePos、 LodestoneDimension和 LodestoneTracked。
- 如果存在,则指南针会指向指定的目标磁石。
- 格式为一个元素和一个值,如:lodestone_target={pos:[13,64,-43],dimension:'minecraft:the_nether'}。
- pos,整数阵列['x','y','z']。
- dimension,维度ID。
- tracked,布尔值,默认为true。
- 如果为true,该组件会随目标位置的磁石被破坏而移除。
- 储存烟火之星的爆炸数据。
- 替代了标签 Explosion.Type、 Explosion.Colors、 Explosion.FadeColors、 Explosion.Trail、 Explosion.Flicker。
- 格式为一个元素和一个值,如:firework_explosion={shape:'large_ball',colors:[16711680],has_trail:true}。
- shape,替代了数字IDType,为以下值之一:
- small_ball(曾为0)
- large_ball(曾为1)
- star(曾为2)
- creeper(曾为3)
- burst(曾为4)
- color,初始粒子颜色列表,实际颜色从中随机选择。为整型RGB值数组,默认为[]。
- fade_colors,淡化的粒子颜色列表,实际颜色从中随机选择。为整型RGB值数组,默认为[]。
- has_trail是否具有踪迹效果。布尔值,默认为false。
- has_twinkle是个否具有闪烁效果。布尔值,默认为false。替代了标签Flicker。
- shape,替代了数字IDType,为以下值之一:
- 替代了标签 Fireworks.Explosions、 Fireworks.Flight,储存烟花火箭的所有爆炸效果和飞行时间。
- 格式为一个元素和一个值,如:{explosions:[],flight_duration:1}。
- explosions,爆炸的列表,与组件firework_explosion的格式一样。
- flight_duration,单字节,为该烟花火箭中火药的数量。
- 控制玩家的头显示的皮肤,此数据在放下物品后复制到“玩家的头”方块中。
- 替代了标签 SkullOwner。
- 如果仅指定了name,会解析为相应的玩家ID和皮肤数据。
- 格式为一个元素和一个值,如:profile={name:'MHF_Sheep'}
- name,字符串,玩家资料名称。
- id,(可选)uuid,玩家资料ID。
- properties,(可选)资产列表。
- name,字符串,资产名。
- value,字符串,Base64加密纹理数据。
- signature,(可选)字符串。
- 控制玩家的头放置在音符盒上时音符盒播放的音效,此数据在放下物品后复制到“玩家的头”方块中。
- 替代了标签 BlockEntityTag.note_block_sound。
- 格式为音效事件ID,如:note_block_sound='minecraft:ambient.cave'。
- 储存旗帜和盾的基础颜色。
- 替代了标签 BlockEntityTag.Base。
- 值为下列之一:
- white(曾为0)
- orange(曾为1)
- magenta(曾为2)
- light_blue(曾为3)
- yellow(曾为4)
- lime(曾为5)
- pink(曾为6)
- gray(曾为7)
- light_gray(曾为8)
- cyan(曾为9)
- purple(曾为10)
- blue(曾为11)
- brown(曾为12)
- green(曾为13)
- cyan(曾为14)
- red(曾为15)
- black(曾为16)
- 替代了标签 BlockEntityTag.Patterns,储存对旗帜和盾生效的图案,放置时数据复制到旗帜方块中。
- 格式为旗帜图案列表,旗帜和盾存在隐性默认值[]。
- pattern,旗帜图案注册ID,替代了 Patterns[].Pattern中的短旗帜图案代码。
- color,染色名称替代了 Patterns[].Color中的整型染色ID。
- 如:banner_patterns=[{pattern:'minecraft:stripe_top',color:'red'}]。
- 储存饰纹陶罐每侧的陶片,放置时复制到方块数据中。
- 替代了相同格式的标签 BlockEntityTag.sherds。
- 格式为陶片物品ID列表,如:['arms_up_pottery_sherd','angler_pottery_sherd','danger_pottery_sherd','shelter_pottery_sherd']。
- 饰纹陶罐拥有隐性默认值['minecraft:brick','minecraft:brick','minecraft:brick','minecraft:brick']。
- 包含潜影盒内容的物品形式,放置时数据复制到潜影盒方块中。
- 替代了标签 BlockEntityTag.Items。
- 格式为槽位列表,潜影盒拥有隐性默认值为[]。
- slot,整数,值域为[0,255],表示容器中的槽位。
- item,物品堆叠。
- 如:container=[{slot:7,item:{id:'diamond_pickaxe',components:{'minecraft:unbreakable':{}}}}]。
- 包含蜂巢或蜂箱中的蜜蜂,放置时数据复制到蜂巢或蜂箱方块中。
- 替代了标签< BlockEntityTag.Bees。
- 格式为蜜蜂列表,蜂巢和蜂箱拥有隐性默认值为[]。
- entity_data,字符串到字符串的映射。
- id,实体ID。
- 其余的标签在生成蜜蜂时合并到其数据中。
- ticks_in_hive,整型。
- min_ticks_in_hive,整型。
- 如:bees=[{entity_data:{id='minecraft:bee'},ticks_in_hive:3,min_ticks_in_hive:10}]。
- entity_data,字符串到字符串的映射。
- 控制类容器方块的锁定状态,放置时复制到方块数据中。
- 必须使用与此值相同的自定义名称的物品才能打开容器。
- 替代了标签 BlockEntityTag.Lock。
- 格式为字符串值,如:lock='hunter2'。
- 控制类容器方块未解析的战利品表和种子,放置时复制到方块数据中。
- 替代了标签 BlockEntityTag.LootTable、 BlockEntityTag.LootTableSeed。
- 格式为一个元素和一个值,如:container_loot={loot_table:'minecraft:chests/buried_treasure',seed:123}。
- loot_table,战利品表ID。
- seed,(可选)长整数,用于解析战利品表的伪随机种子。如果不指定或为0,在估测战利品表时种子会随机选取。
- 储存具有方块实体的方块的非结构化NBT数据。
- 任何移动到专用物品组件中的方块实体数据都会从这个标签中删除。
- 如果玩家是管理员,则此标签仅对命令方块、讲台、告示牌和刷怪笼生效。
- 替代了先前具有相同行为的标签 BlockStateTag。
- 格式为一个元素和一个值,如:block_entity_data={id:'minecraft:chest',Items:[{Slot:1,item:'minecraft:diamond'}]}。
- 必须包含方块实体类型的id字段。
- 任意额外字段都会在方块被放置时合并到方块数据中。
- 控制放置方块后继承的方块属性。
- 替代了标签 BlockStateTag。
- 格式为属性键对属性值的映射,如:block_state={eggs:'10'}。
- 覆盖物品上的附魔光效,可以用与之前无效的Enchantments标签相同的方式来添加光效。
- 格式为布尔值。
- 如果为true,没有附魔光效的物品将获得光效并开始闪烁。
- 如果为false,有附魔光效的物品将不显示光效也不闪烁。
- custom_data
更改
物品
狼铠- 现在具有64点耐久度,且会根据剩余耐久度呈现不同程度的开裂纹理。
- 现在可以像皮革盔甲一样染色。
- 将物品纹理上移了2个像素,为耐久条腾出空间。
- 添加了用于染色的叠加纹理,并为实体模型添加了半透明的开裂纹理。
生物
幼年犰狳- 不再在被刷扫时掉落犰狳鳞甲。
- 现在在装备狼铠时,受到的伤害的伤害类型不具有伤害类型标签bypasses_wolf_armor时不减少生命值,改为使其装备的狼铠减少等于向上取整的伤害值的剩余耐久度。
- 现在狼的主人可以对狼使用犰狳鳞甲修复其装备的狼铠。
非生物实体
箭- 现在不再储存附着的状态效果,而是从其物品形式拥有的item中获取。
- 现在药箭的状态效果在其生效期过后消失。
- 现在使用potion_contents字段中的minecraft:potion_contents组件存储格式相同的药水效果。
游戏内容
创造模式- 现在使用ctrl和选取方块键选取一个命名过的方块(如箱子)后,也会得到一个命名过的对应物品。
- 魔咒现在存储为键值对而不再是复合元素列表,因此不再能存储魔咒的顺序(通常是魔咒被添加到物品上的顺序)。
- 物品被重新加载后,其魔咒会被按照魔咒ID重新排序。
- 力量、冲击、火矢、无限现在会在弩上产生效果。
- 穿透、多重射击现在会在弓上产生效果。
- 村民交易的ignoreTags字段被移除,取而代之的是基于损伤值的组件谓词。
- 现在只有指定'minecraft:damage': 0时村民才会收购无耐久损耗的物品。
- 现在在默认不指定组件的情况下,村民可以收购任意物品。
命令格式
/attribute- 重命名以下修饰符operation值:
- add -> add_value
- multiply_base -> add_multiplied_base
- multiply -> add_multiplied_total
- 现在可以不指定玩家(如@s)和声音分类(如netural)。
- 更新了语法。
- 现在可以在物品ID后使用方括号指定组件。
- 组件之间用逗号分隔。
- 如netherite_hoe[damage=5,repair_cost=2]。
- 组件之间用逗号分隔。
- 组件类型会自动补全。
- 值不会自动补全,但会被验证。如果指定的组件不正确,命令将无法解析。
- 如give @s wooden_pickaxe[damage=-34]是无效的。
- 旧NBT语法{…}现在用于设置或匹配minecraft:custom_data组件。
- 如give @s stick{foo:'bar'}等价于give @s stick[custom_data={foo:'bar'}]。
- 如果[…]和{…}均被指定,则[…]必须在{…}之前。
- 使用{…}自定义数据语法将使用先存的NBT部分匹配行为。
- 这要求谓词中指定的所有标签都出现在目标项上,但可以忽略其他标签。
- 目标的列表必须包含谓词中指定的所有物品,但目标列表也可包含其他物品,这些物品的顺序不影响匹配。
- 现在可以在物品ID后使用方括号指定组件。
- /clear中的物品谓词参数在匹配组件和自定义数据方面具有新的语义。
- 每个指定的组件都必须出现在目标物品上,并且具有完全相等的解析值。
- 如果没有指定,视为目标物品包含默认组件。
常规
背景图- 移除了泥土背景。
- 原本直接显示在泥土背景上的文字现在使用黑色背景框。
- 可以在“辅助功能设置”内调节模糊化背景的模糊强度。
- 可以通过启用Programmer Art资源包恢复泥土背景。
- 标题和按钮等屏幕元素在不同屏幕上的位置现在更加一致。
- 更新了Realms中的玩家和世界备份界面。
- 列表的顶部和底部现在有更清晰的边界。
- 在可用磁盘空间少于64MB时,加入单人游戏世界前会出现警告界面。
- 在单人游戏中,加载或保存区块出错时会在弹窗中呈现警告。
- 将数据包版本号更改为33。
- 附加于物品堆叠标签字段的非结构化NBT数据现在被结构化的“组件”取代。
- 将资源包版本号更改为28。
- 移除了options_background和light_dirt_background纹理。
- 更新了footer_separator和header_separator纹理,它们分别被应用于列表的底部和顶部。
- 加入了menu_background和menu_list_background纹理,分别被应用于屏幕的背景和列表的背景。
- 更新了精灵图:
- widget\tab、widget\tab_highlighted、widget\tab_selected和widget\tab_selected_highlighted。
- 加入了精灵图:
- widget\scroller_background。
- 移除了Realms的纹理:
- changes、changes_highlighted、restore、restore_highlighted、make_operator_highlighted、remove_operator_highlighted和remove_player_highlighted。
- set_nbt和copy_nbt函数已分别重命名为set_custom_data和copy_custom_data。
- 这些现在适用于目标物品的custom_data组件。
- 更新了set_attributes函数。
- 修饰符slot现在支持any、hand和armor值。
- 修饰符operation的值现在被重命名:
- addition -> add_value
- multiply_base -> add_multiplied_base
- multiply_total -> add_multiplied_total
- 使用F3 + H显示高级提示框时,标签数变为组件数。
- 先前所有的id(字符串)和Count(单字节)字段都被id(命名空间字符串)和count(整型)取代。
- count字段现在是可选的,默认为1,且为默认值时不会储存该字段。
- 现在堆叠尺寸受该物品的最大堆叠尺寸限制。
- 移除了tag字段,世界升级后任何剩余内容终将移至custom_data组件中。
- 加入了components字段储存物品中的所有组件。
- 等于其默认值的组件将不会被存储。
- 物品堆叠格式不再呈现空堆叠(空气或0数量物品);相反,在支持该字段的地方应该省略该字段。
- 更新了物品谓词格式:
- 移除了tag字段。
- items字段现在支持单一的项、哈希前缀物品标签或物品列表。
- potion被重命名为potions,且现在支持单一的项、哈希前缀药水效果标签或药水效果列表。
- nbt谓词被重命名为custom_data,现在其与组件minecraft:custom_data相匹配。
- 加入了用于精确匹配组件的新可选字段components。
- 被指定的所有组件必须与目标物品上存在的对应组件完全相等,但额外组件会被忽略。
- 如果未指定组件,其默认值将假定存在于目标物品上。
- 因组件ID而异,格式为组件ID到组件值的映射。
- 更新了方块谓词格式:
- 移除了tag字段。
- blocks字段现在支持单一的项、哈希前缀方块标签或方块列表。
- 更新了流体谓词格式:
- 移除了tag字段。
- 现在由fluid字段重命名为fluids,且支持单一的条目、哈希前缀流体标签或流体列表。
- 更新了实体谓词格式:
- type字段现在支持单一的项、哈希前缀实体类型标签或实体类型列表。
- 更新了定位谓词格式:
- 现在由biome字段重命名为biomes,且支持单一的条目、哈希前缀生物群系标签或生物群系列表。
- 现在由structure字段重命名为structures,且支持单一的条目、哈希前缀结构标签或结构列表。
更改(实验性)
方块
宝库- 再次更改了纹理,以进一步区别于试炼刷怪笼。
- 如果宝库不存在key_item字段,则不能被开启。
生物
沼骸- 更新了模型和纹理。
- 现在可以使用剪刀剪下2个蘑菇(红色和棕色蘑菇均有可能)。
非生物实体
风弹- 现在会在60秒后消失。
- 现在会正确计算摔落伤害。
- 降低了旋风人风弹和风弹物品风弹爆炸范围的随机性。
修复
修复了20个漏洞1.20前正式版的漏洞- MC-19893 — 击败末影龙后,鸣谢名单内options_background.png异常颠倒。
- MC-100016 — 单人世界选择屏幕在light_dirt_background.png或options_background.png透明时显示异常。
- MC-118890 — 插在地上的药箭永不失效。
- MC-195572 — 当抗火状态生效时,熔岩中的迷雾与基岩版相比更浓密。
- MC-226775 — 熄灭蜡烛时显示不准确的字幕。
- MC-251042 — 多人游戏第三方警告按钮在非英文语言中的位置不合适。
- MC-257119 — 磁石指针在玩家丢弃且破坏其绑定的磁石后不可被堆叠。
- MC-259284 — 有大量数据的储存空间存在严重性能问题。
- MC-267451 — 在1.20.4中用铁砧命名的物品不与在更早版本命名的物品堆叠。
- MC-267500 — UUID的前两个或后两个整数为0时,物品上的属性修饰符无效。
- MC-267975 — Realms中渲染的玩家列表比它的可见尺寸大。
- MC-267976 — Realms玩家列表中的滚动条不再能被鼠标指针拖动。
- MC-268011 — 漏斗会泄漏上个被其吸取过物品实体的世界。
- MC-268022 — “实验性内容需求”菜单内的列表元素不能被鼠标指针选中。
- MC-268236 — 社交屏幕的搜索栏不被默认选中。
上个开发版本的漏洞