Skip to content

破坏性技术更新日志 ​

又名“升级你的数据包后什么东西会坏掉”

⚠️本文1.21.6以前的部分内容翻译自misode的“技术性更新日志”页面

前言 ​

本条目列出所有原版Minecraft各版本更新时所有的破坏性改动,也就是那些如果不加处理会导致数据包或资源包在升级版本后无法正常运行的更新。

请注意大部分条目经过简化,目的仅为提醒读者这项变更的存在。请查阅Wiki以获取详细说明。

改动日志以正式版本为分类条目,降序排列。

INFO

若您在使用Spyglass(大憨批),可以在更新pack.mcmeta或spyglass.json调整版本后使用Spyglass: Analyze Project命令使Spyglass一次性检查项目中的所有文件

正文 ​

26.3 ​

数据包: ​

  • 通用
    • 数据包的验证变的更加严格了。现在,只要有任意无法解析的JSON文件就会导致整个数据包加载失败,而不是像之前一样静默失败。
    • 所有涉及到方块状态的定义,其原本的stringName和objectProperties字段被重命名为stringid和objectproperties。
  • 命令
  • 数据组件
    • 组件namespaceswing_animation被分为namespaceattack_animation和namespaceinteract_animation,分别对应攻击和交互的动画。
    • 移除了namespacemap_color组件,因为不同的探险家地图现在是不同的物品。
  • 文本组件
    • 现在NBT组件最多被解析64000次。
  • 世界
    • 探险家地图
      • 删除了原本的探险家地图物品。现在指向不同结构的探险家地图使用不同的物品ID。
      • 探险家地图无法再缩放。
    • 告示牌与悬挂告示牌
      • 添加了新字段 booleanallow_op_features,默认为false。为false时游戏不会再解析其上的动态文本组件和点击事件。之前就存在的告示牌在升级版本后会自动设置此字段为true。
    • 酿造台
      • shortBrewTime和shortFuel类型从shortshort更改为intint。
    • 熔炉,烟熏炉,和高炉
      • shortcooking_time_spent,shortcooking_total_time,shortlit_time_remaining,和shortlit_total_time从shortshort改为intint。
    • 饰纹陶罐
      • 现在其方块实体的objectsherds字段从homolist列表变更为object复合标签。内部分别有stroback,stroleft,stroright,和strofront字段定义其各个方向的陶片。
  • 物品修饰器
    • 在物品修饰器定义文件中,不允许再使用列表定义多个串联的修饰器,而是需要显式地使用namespacesequence修饰器。
    • stringfunction字段被重命名为stringtype。
    • 移除了namespacereference修饰器。需要引用物品修饰器可直接填入要引用的ID。
    • namespaceset_loot_table修饰器移除了stringtype字段,并重命名stringname为stringloot_table_id。
    • namespaceexploration_map修饰器中的stringdestination字段现在是必须的,且现在可以使用列表ID而不再只允许标签。这意味着想要获得之前的行为需要额外添加#。
  • 谓词
    • 在任何使用谓词的地方,不允许再使用谓词列表,只能使用namespaceall_of谓词。
    • stringcondition字段被重命名为stringtype。
    • namespacedamage_source_properties谓词中,原检测伤害类型标签的homolisttags字段中的stringid字段,现在同时接受ID和以#开头的标签ID。这意味着,若想要维持之前的行为,需要给所有标签ID加上#。
    • 移除了namespacereference谓词。需要引用谓词可直接填入要引用的ID。
    • 移除了namespaceblock_state_property谓词,使用namespacematch_block谓词代替。
  • 数值提供器
    • 现在分为了上下文整数提供器和上下文浮点数提供器,分别使用namespacecontext_int_provider和namespacecontext_float_provider注册表。
    • 部分提供器类型,比如namespacescore或namespacebinomial,现在只有在整数或浮点数提供器中的一方有定义。想要在另一方使用需要使用namespacefrom_int或namespacefrom_float提供器转换。
    • 在整数提供器中使用namespacestorage提供器提供intint以外的数据类型,或是在浮点数提供器使用namespacestorage提供器提供floatfloat以外的数据类型现在是未定义行为。
  • 进度
    • 现在需要显示(有objectdisplay标签)的根进度必须提供stringbackground,非根进度禁止提供stringbackground。
    • 所有触发器中原有的homolistoplayer字段更改为stroplayer。接受一个谓词ID,或是一个内联谓词定义。不再接受谓词列表或实体谓词。
    • namespacebrewed_potion触发器的stringpotion字段现在检查药水是否匹配namespacepotion_contents数据组件谓词。
    • namespaceplayer_generates_container_loot触发器的stringloot_table字段被重命名为namespaceloot_tables。
    • namespacecrafter_recipe_crafted,namespacerecipe_crafted,和namespacerecipe_unlocked触发器的stringrecipe_id字段被重命名为strhomolistrecipes。
    • namespaceslide_down_block触发器的stringblock字段被重命名为strhomolistblocks。
  • 战利品表
    • 重命名homolistconditions为strocondition,homolistfunctions为strohomolistmodifier。
      • 如上“谓词”部分所述,strocondition不再允许使用谓词列表。想要检查多个谓词必须使用namespaceall_of。
    • namespacetag抽取类型中的stringname重命名为strhomolistitems。
  • 配方
    • 熔炉,烟熏炉,高炉,和篝火配方的intcookingtime不再根据工作方块的不同而变化。现在默认的intcookingtime被统一为200。不同方块的速度差异现在由数据组件和数值提供器决定。
  • 魔咒
    • 现在当亡灵生物的装备因保护其免受阳光伤害而消耗耐久度时,装备上的魔咒可以正常发挥作用。
    • 由于方块状态提供器的更改,namespacereplace_block和namespacereplace_disk魔咒效果受到了影响。见下世界生成/方块状态提供器部分。
  • 世界生成
    • 原本已配置的地物namespaceworldgen/configured_feature和已配置的雕刻器namespaceworldgen/configured_carver注册表被重命名为地物namespaceworldgen/feature和雕刻器namespaceworldgen/carver。
    • 方块状态提供器
      • 大部分方块提供器类型ID被重命名:
        • namespacesimple_state_provider -> namespacesimple。同时如上所述,其中的stringName和objectProperties字段被重命名为stringid和objectproperties
        • namespacerotated_block_provider -> namespacerotated。
        • namespaceweighted_state_provider -> namespaceweighted
        • namespacerandomized_int_state_provider -> namespacerandomized_int
        • namespacenoise_provider -> namespacenoise
        • namespacedual_noise_provider -> namespacedual_noise
        • namespacenoise_threshold_provider -> namespacenoise_threshold
        • namespacerule_based_state_provider -> namespacerule_based
    • 雕刻器
      • 移除了objectconfig字段。原本objectconfig的内容整体向上一层移动到根标签中。
      • 移除了objectdebug_settings字段。
      • 移除了strhomolistreplaceable字段。现在雕刻器会覆盖任何方块。
      • 移除了objectlava_level字段。液体现在总是由噪声设置控制。
      • 在洞穴和峡谷雕刻器中,foyScale字段被分别重命名为foroom_vertical_radius_multiplier和foy_scale。
    • 地物
      • 移除了objectconfig字段。原本config的内容整体向上一层移动到根标签中。
      • 地物类型namespacedesert_well被移除。现在沙漠水井使用namespacetemplate类型。
      • 以下地物类型被移除:namespacecoral_mushroom,namespacekelp,namespaceseagrass,namespacesea_pickle,namespacenether_forest_vegetation,namespacetwisting_vines,和namespaceweeping_vines。
      • 地物类型namespacebasalt_columns重命名为namespacestepped_column_cluster,字段ioreach重命名为iocolumn_reach。
      • 地物类型namespacebasalt_pillar重命名为namespacesingle_block_pillar,且现在需要额外的字段,可定义更自由的内容。
      • 地物类型namespaceglowstone_blob重命名为namespacerandom_neighbor_spread,且现在需要额外的字段,可定义更自由的内容。。
    • 已放置的地物
      • namespacerandom_offset被移除,以namespaceoffset取代。
    • 噪声设置
      • 整体变更了噪声设置的定义格式,详见wiki。
    • 噪声
      • 现在使用floatfloat而不是doubledouble计算。
      • 整体变更了噪声的定义格式,详见wiki。
    • 密度函数
      • 现在使用floatfloat而不是doubledouble计算。
      • 大幅修改了多个密度函数,详见wiki。
    • 生物群系
      • 移除了objectspawners,object​spawn_costs,和float​creature_spawn_probability字段。它们现在由环境属性决定。
  • 环境属性
    • namespacegameplay/bed_rule的booleanexplodes字段被重命名为booleandestroy_on_use。
  • 标签
    • 移除了以下标签
      • block/overworld_carver_replaceables,block/nether_carver_replaceables。因为雕刻器现在可以覆盖任何方块。
      • item/brewing_fuel。因为添加了新的物品组件namespacebrewing_fuel。
    • 重命名以下结构标签
      • #on_woodland_explorer_maps → #on_woodland_mansion_maps
      • #on_ocean_explorer_maps → #on_ocean_monument_maps
      • #on_jungle_explorer_maps → #on_jungle_pyramid_maps
      • #on_swamp_explorer_maps → #on_swamp_hut_maps
      • #on_trial_explorer_maps → #on_buried_trial_chambers_maps
  • 杂项
    • 盔甲纹饰材料定义格式
      • stringasset_name字段被删除,以stringpalette代替。现在使用调色板而非纹理。
      • 移除了objectoverride_armor_assets字段,因为功能被资源包的盔甲纹理代替。
    • 村民交易定义格式
      • ohomolistgiven_item_modifiers重命名为ohomolistgiven_item_modifier。

资源包: ​

  • 纹理
    • 更改了焦骸的纹理。
    • 更改了地图和探险家地图的纹理。
    • 由于漏洞MC-309623,盔甲纹饰无法再使用动态纹理。
  • 着色器
    • 移除了core/text_background.fsh和​core/text_background.vsh核心着色器。
    • 移除了OIT_FORCE_ZERO_DEPTH定义项。
    • 现在纹理采样逻辑从core/terrain.fsh独立到include/texture_sampling.glsl。
    • 移除了不再使用的透明后处理管线post_effect/transparency.json和shaders/post/transparency.fsh。
    • 引入了大量关于OIT的定义。查看受到影响的着色器。
    • terrain.vsh和terrain.fsh着色器被重构以支持multi-draw。
    • 重命名
      • core/rendertype_clouds.vsh -> core/clouds.vsh
      • core/rendertype_clouds.fsh -> core/clouds.fsh
      • ore/rendertype_world_border.vsh -> core/world_border.vsh
      • core/rendertype_world_border.fsh -> core/world_border.fsh
  • 物品模型映射
    • 移除了namespacemap_color着色来源,因为不同探险家地图现在是独立的物品(见上)。
  • 模型
    • 移除了booleanshade字段。若要保持旧版"shade": false的行为,需要定义"shade_direction_override": "up"。

26.2 ​

数据包: ​

  • 世界
    • 床不再是方块实体。
    • 疣猪兽现在会在和平难度下消失。
    • 猪灵现在可以在和平难度下生成。
    • 幼年体的犰狳、疣猪兽和僵尸僵尸疣猪兽、美西螈,骆驼、鸡、牛和哞菇、海豚、猫和豹猫、狐狸、蜜蜂、山羊、快乐恶魂、熊猫、猪、北极熊、绵羊、鱿鱼、狼、炽足兽、猪灵、所有僵尸变种、和鹦鹉螺的碰撞箱,视线高度和乘客高度有所变更。请以Wiki为准。
  • 粒子
    • 现在,当粒子过多时,游戏不会丢弃新的粒子,而是会随机选择渲染粒子。
  • 命令
    • /advancement命令的文本输出有所变化。
    • /team中的队伍颜色参数现在严格需要小写下划线的形式(dark_blue而不能是DarkBlue)。
  • 游戏内容
    • 在极限模式世界中以旁观模式重生不再会关闭游戏规则spectators_generate_chunks。
  • 标签
    • 重命名方块标签#concrete_powder -> #concrete_powders。
    • 将方块标签#mineable/pickaxe和​#happy_ghast_avoids中的滴水石锥替换为#speleothems。
    • 实体类型标签#cannot_be_pushed_onto_boats中加入了硫方怪。
  • NBT
    • 生物的intHurtByTimestamp变更为intticks_since_last_hurt_by_mob。记录距离上次受伤时长而不是时间戳。
    • namespacecharged_projectiles数据组件现在只接受最多1024个物品堆叠。
  • 谓词
    • 实体谓词namespaceentity_properties中的所有字段均被拓展为类似数据组件的形式。
      • 这意味着顶层字段名现在是命名空间ID的形式(objecteffects -> namespaceminecraft:effects,可省略minecraft)。
      • 实体子谓词objecttype_sepcific被移动到顶层("type_sepcific":{"minecraft:lightning":{...}} -> "minecraft:type_specific/lightning":{...})。
      • 重命名stringtype -> namespaceminecraft:entity_type。
  • 世界生成
    • 已配置的地物
      • 破坏性地重命名并/或修改了以下地物。请以Wiki为准
        • namespacepointed_dripstone -> namespacespeleothem
        • namespacedripstone_cluster -> namespacespeleothem_cluster
        • namespacelarge_dripstone
        • namespacetree
        • namespacemultiface_growth
    • 处理器列表
      • namespaceblock_rot现在会评估上一个方块处理器链处理后的方块状态,而不是总是使用结构的原始方块。
    • 密度函数
      • 移除了namespaceweird_scaled_sampler,由新加入的namespaceinterval_select取代。

资源包: ​

  • 模型
    • 告示牌和悬挂式告示牌现在使用方块模型,而不是内置的实体模型。
  • 物品模型映射
    • 移除了特殊模型类型namespacebed,namespacestanding_sign,和namespacehanging_sign。
  • 纹理
    • namespaceminecraft:signs和namespaceminecraft:beds纹理集已被移除。
    • 变更了幼年疣猪兽,幼年僵尸疣猪兽,和幼年白色狐狸的纹理。
  • 着色器
    • Minecraft即将完成从OpenGL到Vulkan的迁移。当前版本中同时支持两者,允许玩家自由切换。默认仍使用OpenGL,但它会在不久的将来被完全废弃。
    • 核心着色器rendertype_text,rendertype_text_see_through,rendertype_text_intensity,rendertype_text_intensity_see_through,rendertype_text_background和rendertype_text_background_see_through被text和text_background替代。

26.1 ​

数据包: ​

  • 时间线
    • 增加了必选字段stringclock,规定本时间线以哪个世界时钟为准。想要获得原本的行为,应该将stringclock定义为namespaceminecraft:overworld。
  • 命令
    • /time命令使用的诸如day,night等选项代表的时间点不再是硬编码的,而是可以在世界时钟中调整。这意味着诸如time set day命令的行为可能会被数据包改变。
    • 移除了槽位villager.*。现在村民与猪灵的物品栏都可以使用mob.inventory.*来访问。
  • 配方
    • 部分特殊配方类型都被移除,并以新的,更灵活的配方类型替换。包括namespacecrafting_special_armordye,namespacecrafting_special_tippedarrow,namespacecrafting_special_mapcloning。请查阅wiki获取详细信息。
    • 以下配方类型的格式被更改为更灵活的形式。包括namespacecrafting_transmute,namespacecrafting_special_bannerduplicate,namespacecrafting_special_bookcloning,namespacecrafting_decorated_pot,namespacecrafting_special_firework_rocket,namespacecrafting_special_firework_star_fade,namespacecrafting_special_firework_star,namespacecrafting_special_mapextending,和namespacecrafting_special_shielddecoration。请查阅wiki获取详细信息。
    • 同时,部分切石机配方被重命名。
  • 文本组件
    • 现在使用nbt动态类型时,若booleaninterpret为false,解析的结果不再是扁平的字符串,而是经过颜色高亮的复杂文本。
    • 使用新的字段booleanplain可以移除颜色高亮,但解析的结果不是如之前版本一样的扁平字符串。
  • 世界
    • 部分幼年生物的碰撞箱发生了变化。包括牛、绵羊、豹猫、哞菇、鱿鱼、发光鱿鱼、僵尸、尸壳、溺尸、猪灵、僵尸猪灵、村民、僵尸村民、猫、鸡、马、狼、猪、兔子、美西螈、骷髅马。
    • 自然生成的僵尸现在有可能拥有比20点更高的生命值。
    • 骆驼尸壳未使用的幼年个体被移除。
    • 村民交易的刷新现在取决于随机序列。
    • 告示牌和旗帜的rotation方块属性的默认值从0改为8。
    • 移除了玩家的NBT标签booleanignore_fall_damage_from_current_explosion。
  • 环境属性
    • namespacegameplay/turtle_egg_hatch_chance的默认值变更为0.002。
  • 世界生成
    • 维度类型
      • 加入了字段stringgameplay/default_clock指定用于/time的默认世界时钟。
      • 加入了字段booleanhas_ender_dragon_fight控制此维度是否有末影龙战斗。
      • floatambient_light不再能完全控制维度的环境光照。环境光照的视觉部分现在由环境属性的namespacevisual/ambient_light_color控制
    • 已配置的地物
      • 下列地物类型被重命名
        • namespaceforest_rock -> namespaceblock_blob, namespaceice_spike -> namespacespike
      • 移除了namespaceflower, namespaceflower_no_bonemeal, 和namespacerandom_patch地物类型。
      • namespacetree地物的字段booleanforce_dirt和strodirt_provider合并为stronsbelow_trunk_provider。
  • 魔咒
    • namespacepost_piercing_attack组件默认不再检查玩家的饥饿度等级。
  • 标签
    • 部分标签被重命名:
      • #dry_vegetation_may_place_on → #supports_dry_vegetation
      • #bamboo_plantable_on → #supports_bamboo
      • #small_dripleaf_placeable → #supports_small_dripleaf
      • #big_dripleaf_placeable → #supports_big_dripleaf
      • #mushroom_grow_block → #overrides_mushroom_light_requirement
      • #snow_layer_can_survive_on → #support_override_snow_layer
      • #snow_layer_cannot_survive_on → #cannot_support_snow_layer
    • #dyeable物品标签已被移除。
    • #dirt方块标签现在仅包含泥土、砂土和缠根泥土。
    • 向方块标签#flower_pots中加入了金蒲公英盆栽。
    • 向方块标签#small_flowers、物品标签#piglin_loved和​#small_flowers中加入了金蒲公英。
  • 音效格式
    • 狼音效变种定义格式将之前所有字段移动到adult_sounds内,并加入了baby_sounds表示幼年狼的音效。
  • 测试环境定义格式
    • 将time_of_day替换为clock_time。新增必选字段clock以提供一个世界时钟的ID。
  • 存储
    • 游戏世界的文件夹存档格式与level.dat的格式发生了重大改变,这意味着新版本的地图将无法在旧版本加载。level.dat内不再存储一份玩家数据,而是仅存储玩家的UUID以引用玩家数据文件。请查阅wiki: Java版存档格式和wiki:存档基础数据存储格式获取详细信息。

资源包: ​

  • 纹理与模型
    • 大量的幼年生物的纹理与模型更改。包括驴、骡、海龟、蜜蜂、狐狸、犰狳、北极熊、羊驼、熊猫、疣猪兽、僵尸疣猪兽、嗅探兽、牛、绵羊、豹猫、哞菇、鱿鱼、发光鱿鱼、僵尸、尸壳、溺尸、猪灵、僵尸猪灵、村民、僵尸村民、猫、鸡、马、狼、猪、山羊、兔子、美西螈、骆驼、海豚、炽足兽、僵尸马、骷髅马、和行商羊驼。
    • 幼年狼或猪身上的狼铠或鞍不再渲染。
    • 移除了demo_background.png,改为使用精灵图popup/background.png。
    • 有极其多的纹理被重命名或移动。请见Wiki的本表格。
  • 声音
    • 部分幼年生物现在使用与成年生物独立的音效。包括猫、鸡、马、猪、狼。
  • 着色器
    • 绊线的纹理现在使用alpha cutout渲染,不再是透明的。
    • lightmap.fsh被大幅修改。
    • core/rendertype_item_entity_translucent_cull被移除,由core/entity取代。
    • core/rendertype_entity_alpha和core/rendertype_entity_decal被移除,改为core/entity实现的DISSOLVE标志。
    • 移除了core/rendertype_translucent_moving_block,以支持core/block。
    • UI和世界中的物品渲染现在由core/entity拆分到新着色器core/item。
  • 物品模型映射
    • 部分模型类型现在拥有了新增的objecttransformation字段,类似展示实体,可以对模型做变换。因此,部分特殊类型的变换现在不再是硬编码的,而是需要在物品模型映射中指定。
      • 包括bed, banner, conduit, copper_colem_statue, head, player_head, shulker_box, shield, trident, standing_sign, hanging_sign
    • bed模型现在只渲染一半的床,可以使用part字段控制显示哪一半。为了显示完整的床需要将两个模型拼接起来。
    • shulker_box模型移除了orientation字段。

1.21.11 ​

数据包: ​

  • 命令
    • /worldborder的时间参数现在默认使用游戏刻作为单位。
    • 现在世界边界由游戏刻而不是现实时间控制。
    • 所有的游戏规则现在使用命名空间ID。所有的原ID被重命名为snake_case。部分游戏规则的含义发生反转。部分游戏规则的值域现在有额外限制。请查阅Wiki。
  • NBT
    • 移除了AngerTime,以anger_end_time取代,表示生物从哪刻起不再愤怒。
    • AngryAT重命名为angry_at。
  • 数据组件
    • consumable组件的animation字段中,原有的spear动画重命名为trident。加入了新的spear动画。
    • intangible_projectile组件现在有工具栏提示。
  • 标签
    • 重命名物品标签#enchantable/sword → #enchantable/sweeping。
    • 以下生物群系标签被新的环境属性取代,故移除
      • #snow_golem_melts,#increased_fire_burnout,#plays_underwater_music,#has_closer_water_fog。
  • 物品修饰器
    • filter修饰器中,将modifier替换为on_pass和on_fail两个字段,分别在测试成功和失败时执行。
  • 世界生成
    • 维度类型和生物群系中的以下字段被移动到新的环境属性选项中
      • ultrawarm,bed_works,respawn_anchor_works,cloud_height,piglin_safe,has_raids,natural,fog_color,water_fog_color,sky_color,particle,ambient_sound,music,music_volume。
    • 维度类型的effects被移除,由skybox和cardinal_light取代。
    • 维度类型的fixed_time被重置为has_fixed_time,新字段为布尔值,默认为false。基于时间的效果现在由环境属性指定。
  • 杂项
    • 测试环境定义格式中,game_rules的bool_rule和int_rule字段已被rules取代。
    • 对话框不同的主体元素(Body)之间的间距略有增加

资源包: ​

  • 模型和纹理
    • 静止的水和熔岩的纹理现在硬编码为minecraft:block/water_still和minecraft:block/lava_still
    • 新增了items纹理集,包含所有物品的纹理。同一个物品模型所使用的纹理必须全都来自于items或全都来自于blocks。
  • 着色器
    • 加入了ChunkSection,被terrain.vsh使用,替代了DynamicTransforms。

1.21.9 ​

数据包: ​

  • 世界
    • 出生点区块不再被强加载。
    • 移除了spawnChunkRadius游戏规则,因为不再有出生点区块的概念。
    • 每个世界的世界边界现在各自独立。
    • 飞行中的末影珍珠以及活跃的传送门现在会加载区块。
    • 方块“铁链”的ID重命名:minecraft:hain -> minecraft:iron_chain
  • 命令
    • /test pos [<var>]现在搜索半径由200格更改为250格。/test clearall [<radius>]的默认值更改为250格。
    • /summon在和平难度下尝试召唤无法在和平难度生成的敌对生物会执行失败。
    • /setworldspawn和/spawnpoint的<angle>参数被替换为可选参数<rotation>,可以在设置玩家重生时面朝的垂直角度。
    • /setworldspawn现在不止可以在主世界中执行。服务端会在世界出生点执行命令,即使出生点不在主世界。
  • 文本组件
    • 现在尝试使用run_command执行/say、/me、/msg、/tell、/w、/teammsg和/tm这类署名命令会弹出提示窗,允许玩家复制命令手动执行。
  • 数据组件
    • block_attacks组件,受到为0的伤害现在不会触发抵挡行为,不会进入冷却,也不会因抵挡而受到击退。
    • profile组件现在有静态和动态两种行为
      • 静态:当此组件具有properties、同时具有name和id字段亦或上述两字段均无时。
        • 将会永久按照生成时的档案。展示的皮肤会在组件创建时冻结。
      • 动态:name和id字段只有其一时。
        • 将会动态解析为最近的数据。会展示目标当前的皮肤。
      • 旧版世界中的头颅会优先转换为动态形式。
  • NBT
    • 玩家的respawn中的angle重命名为yaw。

资源包: ​

  • 着色器
    • 移除了core/blit_screen.vsh、​post/blit.vsh、​post/blur.vsh、​post/invert.vsh、​post/sobel.vsh和​post/screenquad.vsh,并由core/screenquad.vsh替代。
    • 移除了core/position_color_lightmap.vsh/fsh和core/position_color_tex_lightmap.vsh/fsh。
    • 用于后处理效果、亮度图生成和全屏位块传输的顶点着色器不再传递Position属性,而须通过gl_VertexID分配顶点坐标。
    • 修改了core/terrain.vsh中函数minecraft_sample_lightmap中UV计算的部分。
    • 所有着色器的版本已经从150提升至330

pack.mcmeta ​

  • 格式
    • 现在版本号包含一个主要版本号和一个次要版本号。
    • 弃用了supported_formats。
    • 加入了必选字段min_format和max_format规定支持的版本。
      • 格式为[主版本号,次版本号]。若只填入一个整数则等价于[主版本号, 0]。
    • pack_format现在是可选的。

1.21.6 ​

数据包: ​

  • 文本组件
    • 现在使用run_command执行命令时,若执行的命令需要1级或更高的权限,将会展示弹窗提示玩家二次确认。
  • NBT
    • 药水效果云的Particle被重命名为custom_particle。使用entity_effect和tinted_leaves粒子时,颜色不再从药水中继承。
  • 标签
    • 重命名以下方块标签
      • #plays_ambient_desert_block_sounds → #triggers_ambient_desert_sand_block_sounds
  • 数据组件
    • painting/variant组件不再接受内联。

资源包: ​

  • 纹理
    • 移除了mob_effects纹理集。其中的纹理移动至gui纹理集中。
  • 模型
    • 现在在物品模型映射中,若物品在GUI中的大小大过一个格子,需要添加"oversized_in_gui": true,否在会在格子边缘被裁断。
  • 声音
    • 重命名block.sand.wind为block.dry_grass.ambient。
  • 着色器
    • 所有的内置uniform都改为统一变量块而不再是松散的。后处理着色器现在接受统一变量块。
  • 杂项
    • 玩家头颅物品模型不再从profile数据组件中读取纹理。加入了新的player_head模型类别以渲染profile的纹理。

1.21.5 ​

数据包: ​

  • SNBT格式
    • 整数现在可以以0开始。
    • 不再允许使用科学计数法(如1e1000)表示数字。
  • NBT
    • ArmorItems,HandItems,和body_armor_item被合并为了equipment,包含所有槽位的物品。
    • ArmorDropChances,HandDropChances,以及body_armor_drop_chance被合并为了drop_chances。
      • 这是一个复合标签,内含各个槽位的掉落概率。
    • Pos,Motion,和Rotation列表现在必须有正确数量的元素。
    • 重命名FallDistance为fall_distance且类型更改为double。
    • 矿车类实体的CustomDisplayTile被移除。DisplayState总是可以设置展示的方块。DisplayOffset不再需要有自定义的展示方块才能生效。
    • 物品展示框,荧光物品展示框,和栓绳结的TileX,TileY,和TileZ被合并为block_pos。
    • 恼鬼的LifeTicks重命名为life_ticks,BoundX,BoundY,和BoundZ被合并为bound_pos。
    • 海龟的HasEgg重命名为has_egg,HomePosX,HomePosY,和HomePosZ被合并为home_pos,TravelPos<X|Y|Z>被移除。
    • 海豚的TreasurePosX,TreasurePosY,和TreasurePosZ被移除。
    • 幻翼的Size重命名为size,AX,AY,和AZ被合并为anchor_pos。
    • 多个实体的SleepingX,SleepingY,和SleepingZ被合并为sleeping_pos。
    • 玩家实体NBT
      • enteredNetherPosition重命名为entered_nether_pos,且现在为3个double组成的列表。
      • SpawnX,SpawnY,SpawnZ,SpawnAngle,SpawnDimension,和SpawnForced标签合并为respawn。
  • 命令
    • /setblock和/fill命令现在不会更改方块实体数据,除非特别地使用{...}指定。
      • 想要清空方块实体的数据,必须指明{}。
      • 只要在命令执行前后有方块的状态或数据变更,就视为执行成功。
  • 标签
    • 重命名以下方块标签
      • #dead_bush_may_place_on → #dry_vegetation_may_place_on
  • 文本组件
    • 文本组件现在在所有命令中使用SNBT格式。在JSON文件中使用JSON格式。
    • hoverEvent和clickEvent,以及它们的子项被重命名。
  • 谓词
    • 实体谓词新增了components用于匹配实体组件。下列type_specific实体子谓词已被移除并挪入components中
      • axolotl, fox, mooshroom, rabbit, horse, llama, villager, parrot, salmon, tropical_fish, painting, cat, frog, wolf, pig, 以及sheep的color项。
  • 数据组件
    • 重命名weapon组件的damage_per_attack为item_damage_per_attack。
    • hide_additional_tooltip和hide_tooltip组件被移除。多个组件中的show_in_tooltip项也被移除。现在统一由新组件tooltip_display管理。
  • 配方
    • smithing_trim配方类型的base,template,和addition现在是必选的。
    • crafting_transmute配方类型的base现在是必选的。
  • 进度
    • background现在使用命名空间ID而不再使用带.png路径的绝对路径。
  • 世界生成
    • patch_pumpkin和patch_sugar_cane的生成顺序被调换。
  • 杂项
    • 槽位horse.saddle重命名为saddle且任何生物都拥有。
    • 盔甲纹饰定义不再有item。现在这由配方决定。
    • tinted_leaves粒子现在需要color提供颜色。
    • 猪变种定义格式的texture重命名为assets_id。
    • 狼变种定义格式angry_texture, tame_texture, wild_texture合并为assets。
    • 各生物变种格式的biome重命名为spawn_conditions,且可以根据更多条件决定生成。
    • 实体potion独立为splash_potion和lingering_potion两个实体。

资源包: ​

  • 纹理
    • 以下纹理的命名空间ID变更
      • entity/pig/pig_saddle.png → entity/equipment/pig_saddle/saddle.png
      • entity/strider/strider_saddle.png → entity/equipment/strider_saddle/saddle.png
      • .../cow → .../temperate_cow
      • .../pig → .../temperate_pig
      • entity/chicken.png → entity/chicken/temperate_chicken.png
    • 以下纹理的大小变化
      • temperate_cow
      • temperate_pig
      • red_mooshroom
      • brown_mooshroom
    • 以下纹理被从原本的纹理文件中分离为单独的文件
      • entity/camel/camel.png → entity/equipment/camel_saddle/saddle.png
      • entity/horse/horse_<variant>.png → entity/equipment/horse_saddle/saddle.png
      • entity/horse/donkey.png → entity/equipment/donkey_saddle/saddle.png
      • entity/horse/mule.png → entity/equipment/mule_saddle/saddle.png
      • entity/horse/horse_skeleton.png → entity/equipment/skeleton_horse_saddle/saddle.png
      • entity/horse/horse_zombie.png → entity/equipment/zombie_horse_saddle/saddle.png
  • 模型
    • 牛和蘑菇牛的模型多了个鼻子。
  • 声音
    • 移除了entity.wolf.howl。
    • 原本的狼的音效被移动到了classic文件夹下。
  • 着色器
    • 核心和后处理着色器不再使用任何JSON文件定义。
    • 删除了着色器中的program,以vertex_shader和fragment_shader替代。<namespace>:<path>会被解析为assets/<namespace>/shaders/<path>.<vsh|fsh>
    • 在每个uniform,type现在是必选的。接受任意的int,ivec3,float,vec2,vec3,vec4,和matrix4。

1.21.4 ​

数据包: ​

  • 命令
    • trial粒子加入必选字段duration;
  • NBT
    • 修改了TNT矿车的NBT
      • 将TNTFuse重命名为fuse;
    • custom_model_data组件更改为复合标签,set_custom_model_data修饰器同步更新;
  • 数据包其他组分
    • 移除了#trim_templates物品标签。
    • 移除了trim_material注册表中的item_model_index字段;
    • equippable组件中的model字段现已重命名为asset_id。

资源包: ​

  • 引入新格式以描述[物品模型](https://zh.minecraft.wiki/w/%E6%A8%A1%E5%9E%8B#%E7%89%A9%E5%93%81%E6%A8%A1%E5%9E%8B);

  • toast/system精灵图外观现在已更新至使用标准九宫格划分方式;
  • toast/tutorial精灵图现在被缩放为更高的弹窗;
  • advancements/box_obtained和advancements/box_unobtainedGUI纹理现在使用九宫格划分方式变换尺寸;
  • 与物品栏中盔甲槽一类的空槽位纹理现已从item移动到gui/sprites/container/slot目录,并重命名;
  • 织布机、酿造台、马和羊驼物品栏GUI中的空槽位精灵图现已从背景拆分并移动;

1.21.2 ​

数据包: ​

  • 命令
    • 栓绳结,浮漂和闪电不再能通过/ride骑乘;
    • 属性id不再有generic., player.,zombie.前缀;
  • NBT
    • 重命名fire_resistant物品组件为damage_resistant,并加入types字段;
    • potion_contents物品组件加入custom_name字段;
    • 将船和箱船的实体类型拆分为每种纹理独立实体;
    • 容器方块实体的Lock字段被重命名为lock,并支持物品谓词;
  • 数据包组分
    • 进度
      • 重命名killed_by_crossbow判据为killed_by_arrow;
    • 附魔
      • 重命名附魔类型damage_item为change_item_damage,并支持负值;
    • 战利品表、谓词、物品修饰器
      • 移除战利品表empty;
      • 移除了minecraft:boat实体子谓词;
    • 配方
      • 配方原料格式修改
        • { "item": "<item id>" } 修改为 "<item id>"
        • { "tag": "<tag id>" } 修改为 "#<tag id>"
        • 列表格式不再支持tag
    • 世界生成
      • 移除了雕刻器类型carvers,现在可直接列出雕刻器;

资源包: ​

  • 纹理
    • 所有与装备相关的纹理现移动到了textures/entity/equipment的子目录中。
  • 着色器
    • rendertype_entity_glint_direct重命名为rendertype_entity_glint;
    • rendertype_entity_translucent_cull重命名为rendertype_item_entity_translucent_cull;
    • 用于后处理效果的程序定义(assets/<命名空间>/shaders/program/<名称>.json)现与核心着色器定义(assets/<命名空间>/shaders/core/<名称>.json)一致化
      • 移除了没有实际作用的blend字段。
      • 移除了attributes字段,其顶点属性Position将永被绑定。
      • Uniform现与为核心着色器提供的Uniform合并,其中Time被重命名为GameTime;
    • 现在后处理管线程序由assets/<命名空间>/shaders/post移动到assets/<命名空间>/post_effect。
    • 后处理管线使用的顶点和片段着色器现由assets/<命名空间>/shaders/program移动到assets/<命名空间>/shaders/post。
    • 后处理渲染过程name现被重命名为program,且需要命名空间ID。

1.21 ​

我的世界 JE1.21 数据包文件夹名称改变

数据包: ​

  • NBT:
    • 移除了箭类实体的 ShotFromCrossbow 字段
  • 数据包组分
    • 战利品表、谓词、物品修饰器
      • 诸如谓词的entity键的值重命名
        • killer -> attacker
        • direct_killer -> direct_attacker
        • killer_player -> attacking_player
      • 谓词中的 enchantment 字段重命名为 enchantments ;
      • 重命名random_chance_with_looting 条件为random_chance_with_enchanted_bonus,并修改如下字段
        • 移除looting_multiplier字段;
        • chance 现在为等级依赖函数;
        • 加入enchantment字段;
      • 加入enchantment_active_check条件;
      • 重命名 looting_enchant 函数为 enchanted_count_increase ,并加入 enchantment 字段;
      • 在 enchant_randomly 函数下修改如下字段
        • enchantments 字段重命名为 options;
        • 加入布尔值字段 only_compatible ;
      • enchant_with_levels 函数下修改
        • 移除了 treasure 字段;
        • 加入 options 字段;
      • copy_name函数更改:重命名了字段source的枚举值
        • 将killer重命名为attacking_entity。
        • 将killer_player重命名为last_damage_player

1.20.5 ​

数据包: ​

  • 命令
    • 最大长度现在为2000000(2百万)字符
  • 粒子
    • /particle指令格式大幅修改,详见Wiki
    • 拆分粒子gust_emitter为gust_emitter_large 和gust_emitter_small
  • 属性
    • 重命名属性:
      • generic.block_interaction_range → player.block_interaction_range
      • generic.entity_interaction_range → player.entity_interaction_range
    • 移除属性:horse.jump_strength
  • 实体和NBT
    • 修改了区域效果云实体的 Particle 字段以和命令/世界生成格式一致;
    • 药水箭的Potion 和 custom_potion_effects字段被合并在item标签内;
    • 修改药水效果云的效果字段以与potion_contents 组件匹配;
    • 修改旗帜的方块实体字段以和banner_patterns 组件匹配;
    • 修改蜂巢的方块实体字段以和bees 组件匹配;
    • 移除了部分药水效果在大于127级时产生的反效果行为;
    • 重命名部分方块和实体的NBT字段
      • 位置nbt:{X:1,Y:2,Z:3} → [I;1,2,3]
      • 蜜蜂: FlowerPos and HivePos → flower_pos and hive_pos
      • 蜂巢: FlowerPos → flower_pos
      • 末影水晶: BeamTarget → beam_target
      • 可被栓绳牵引的生物: Leash → leash
      • 袭击生物: PatrolTarget → patrol_target
      • 末地传送门: ExitPortal → exit_portal
      • 流浪商人: WanderTarget → wander_target
  • 物品组件
    • 物品的NBTtags由新的结构化物品组件替代:

      - `Damage:12` -> `damage=12` - `RepairCost:12` -> `repair_cost=12` - `Unbreakable:1b` -> `unbreakable={}` - `Enchantments:[{id:"sharpness",lvl:2}]` -> `enchantments={levels:{sharpness:2}}` - `StoredEnchantments` -> `stored_enchantments` - `display:{Name:'"hello"'}` -> `custom_name='"hello"'` - `display:{Lore:['"hello"']}` -> `lore=['"hello"']` - `CanDestroy:["stone"]` -> `can_break={blocks:"stone"}` - `CanPlaceOn:["stone"]` -> `can_place_on={blocks:"stone"}` - `display:{color:16711680}` -> `dyed_color={rgb:16711680}` - `AttributeModifiers:[]` -> `attribute_modifiers={modifiers=[]}` - `Charged:1b,ChargedProjectiles:[{id:"arrow"}]` -> `charged_projectiles=[{id:"arrow"}]` - `Items:[]` (bundle) -> `bundle_contents=[]` - `display:{MapColor:16711680}` -> `map_color=16711680` - `Decorations:[]` (filled map) -> `map_decorations={}` - `map:1` -> `map=1` - `CustomModelData` -> `custom_model_data` - `Potion:"invisibility",CustomPotionColor:16711680,custom_potion_effects:[]` -> `potion_contents={potion:"invisibility",custom_color:16711680,custom_effects:[]}` - `pages:["hello"]` (book and quill) -> `writable_book_content={pages:["hello"]}` - `pages:['"hello"'],title:"Title",author:"Misode",generation:1,resolved:1b` (written book) -> `written_book_content={pages:['"hello"'],title:"Title",author:"Misode",generation:1,resolved:true}` - `Trim={...}` -> `trim={...}` - `effects:[]` (suspicious stew) -> `suspicious_stew=[]` - `HideFlags` -> split to the different components as well as `hide_additional_tooltip` component - `DebugProperty` -> `debug_stick_state` - `EntityTag:{...}` -> `entity_data={...}` - bucketed mobs data -> `bucket_entity_data={...}` - `instrument:"ponder_goat_horn"` -> `instrument="ponder_goat_horn"` - `Recipes:[]` (knowledge book) -> `recipes=[]` - `LodestonePos`, `LodestoneDimension`, and `LodestoneTracked` -> `lodestone_target={pos:[13,64,-43],dimension:"the_nether"}` - `Explosion` (firework star) -> `firework_exlosion={}` - `Fireworks:{Explosions:[],Flight:1}` (firework rocket) -> `fireworks={explosions:[],flight_duration:1}` - `SkullOwner:{Name:"Steve"}` -> `profile={name:"Steve"}` - `BlockEntityTag:{note_block_sound:"ambient.cave"}` -> `note_block_sound="ambient.cave"` - `BlockEntityTag:{Base:2}` -> `base_color="magenta"` - `BlockEntityTag:{Patterns:[]}` -> `banner_patterns=[]` - `BlockEntityTag:{sherds:[]}` -> `pot_decorations=[]` - `BlockEntityTag:{Items:[]}` (shulker box) -> `container=[]` - `BlockEntityTag:{Bees:[]}` -> `bees=[]` - `BlockEntityTag:{Lock:"test"}` -> `lock="test"` - `BlockEntityTag:{LootTable:"foo",LootTableSeed:123}` -> `container_loot={loot_table:"foo",seed:123}` - `BlockEntityTag:{...}` -> `block_entity_data={...}` - `BlockStateTag:{...}` -> `block_state={...}`
    • 加入了物品组件enchantment_glint_override ;
    • 物品格式Count重命名为count
  • 数据包组分
    • 战利品表
      • Nested lists are no longer supported in loot function lists.
      • 战利品表抽取项loot_table(从提供的嵌套战利品表返回所有物品)现在有以下语法:value可以是
        • 一个命名空间ID,指对另一个战利品表的引用。
        • 完整的战利品表,格式与独立文件的战利品表相同。
    • 谓词
      • 物品谓词修改
        • 移除了 tag 字段,items 字段现在支持标签;
        • potion 字段重命名为 potions;
        • nbt 字段重命名为 custom_data;
      • 方块谓词修改
        • 移除 tag 字段,blocks 字段现在支持标签;
      • 流体谓词fluid 重命名为 fluids
      • 实体谓词type支持标签;
      • 位置谓词修改
        • biome 重命名为 biomes ,并支持群系标签;
        • structure 重命名为 structures ,并支持结构标签;
      • 修改物品谓词的predicates下的子谓词
        • durability -> damage 子谓词;
        • enchantments -> enchantments 子谓词;
        • stored_enchantments -> stored_enchantments 子谓词;
        • potions -> potion_contents 子谓词;
        • custom_data -> custom_data 子谓词;
    • 物品修饰器
      • 重命名物品修饰器函数
        • set_nbt → set_custom_data
        • copy_nbt → copy_custom_data
      • 重命名/attribute命令的operation字段
        • add → add_value
        • multiply_base → add_multiplied_base
        • multiply → add_multiplied_total
      • 移除了 set_contents 物品修饰器函数中的 type 字段,并加入 component 字段;
      • 为set_attributes物品修饰器函数加入replace字段;
      • set_lore物品修饰器函数下replace字段重命名为mode;
      • set_written_book_pages函数:pages现在是一个JSON对象而不再是一个JSON文本。
    • 配方
      • 配方的产物栏现在支持指定物品组件;
    • 标签
      • 修改
        • 实体标签 punchable_projectiles 重命名为 redirectable_projectile ;
        • 重命名 axolotl_tempt_items为axolotl_food;
      • 移除
        • 移除物品标签tools
        • 移除实体标签deflects_arrows ,deflects_tridents
    • 世界生成
      • 用于worldgen定义的整数和浮点数提供器不再包装在type旁的额外value字段中。

资源包: ​

  • 纹理
    • 将地图装饰图标从以前的map_icons.png中分离为从textures/map/decorations/目录中加载的图集;
  • 字体
    • ttf字体提供器的shift字段的值现在被限制在-512到512之间;
  • 着色器:
    • 后处理着色器 blur 重命名为 box_blur;
    • 新增entity_outline_box_blur 着色器;

1.20.3 ​

数据包: ​

  • 命令
    • /function命令不再返回执行的命令条数;
    • 游戏规则 maxCommandChainLength 现在更严格计数;
  • NBT
    • 重命名方块草及其对应物品的注册名,从minecraft:grass重命名为minecraft:short_grass
    • 将三叉戟(实体)的Trident 字段重命名为 item;
    • TNT实体的nbt数据:Fuse 重命名为 fuse; 添加 block_state 字段;

资源包: ​

  • 纹理
    • .png现在是唯一支持的纹理格式;

1.20.2 ​

数据包: ​

  • 命令
    • 加入了函数宏,可以在函数中加入宏参数传入函数,以实现动态函数;
    • 可以在一行命令的末尾用反斜杠\表示换行,以支持多行单指令,增加可读性;
  • 调试
    • 现在命令记忆功能跨存档保存50条,可在游戏文件夹的command_history.txt文件中找到;
  • NBT
    • 生物NBT的状态效果id由数字id改为命名空间id(字符串);
    • 许多状态效果相关的实体NBT键名从驼峰格式改为蛇形格式
      • 生物状态效果字段
        • Id -> id
        • Ambient -> ambient
        • Amplifier -> amplifier
        • Duration -> duration
        • ShowParticles -> show_particles
        • ShowIcon -> show_icon
        • HiddenEffect -> hidden_effect
        • FactorCalculationData -> factor_calculation_data
      • 药水和药水箭
        • CustomPotionEffects -> custom_potion_effects
      • 状态效果云和迷之炖菜
        • Effects -> effects
        • EffectId -> id
        • EffectDuration -> duration
      • 哞菇
        • EffectId and EffectDuration -> stew_effects
      • 生物状态效果
      • ActiveEffects -> active_effects
      • 信标
        • Primary -> primary_effect
        • Secondary -> secondary_effect

资源包: ​

  • 纹理
    • 文本编辑框现在是一张位于widget/text_field和widget/text_field_highlighted的九宫格切分的精灵图。
    • 列表和编辑框的滚动条现在是一张位于widget/scroller的九宫格切分的精灵图。
    • realms命名空间的纹理被移入minecraft命名空间内;
    • 所有含有多个部件贴图的GUI纹理现在都被拆分为单独的贴图,位于textures/gui/sprites目录下。
    • villager2.png被重命名为villager.png
    • 辅助功能、语言和Realms新闻的按钮图标现在是单独的文件,不再各自附于按钮的纹理之上。

1.20 ​

数据包: ​

  • 数据包组分
    • 进度
      • placed_block, item_used_on_block, 和 allay_drop_item_on_block 进度触发器下所有字段并入location 字段;现在该字段接受战利品表谓词。
    • 战利品表、谓词、物品修饰器
      • 加入all_of条件,alternative条件重命名为any_of。
    • 标签
      • 方块标签replaceable_plants拆分为replaceable和replaceable_by_trees。
    • 世界生成
      • 移除了结构后处理器rule的output_nbt 字段,新增了block_entity_modifier 作为替代。

资源包: ​

  • 字体
    • 移除字符提供器legacy_unicode;

1.19.4 ​

数据包: ​

  • 实体和NBT
    • 加入(方块、物品、文本)展示实体、交互实体;
  • 数据包组分
    • 战利品表、谓词、物品修饰器
      • 伤害类型谓词修改,移除了原先判据,改用新的伤害类型数据判定,使用tags字段判定;

1.19.3 ​

数据包: ​

  • 命令
    • 修改了命令/publish的格式;
  • 数据包组分
    • 配方
      • 配方文件内加入必选字段category;
    • 标签
      • 移除方块标签overworld_natural_logs;
    • 世界生成
      • 移除template_pool的name字段;

资源包: ​

  • 纹理
    • 在entity/player/(slim|wide)新增了各默认玩家皮肤;移除了entity/steve 和 entity/alex;
    • 修改了gui/container/creative_inventory/tabs纹理;

1.19.1 ​

1.19 ​

数据包: ​

  • 命令
    • 猫变种由数字id改为命名空间id;
    • 状态效果ID的类型由字节型改为整型;
  • 进度
    • 进度触发器location,slept_in_bed,hero_of_the_village和voluntary_exile下location字段被移入player.location位置;
  • 战利品表、谓词、物品修饰器
    • 位置谓词字段feature重命名为structure;
  • 世界生成
    • 移除地物ice_patch,ice_patch并由地物disk代替;
    • 树根放置器格式修改
      • y_offset重命名为trunk_offset_y;
      • 字段max_root_width,max_root_length,random_skew_chance,can_grow_through,muddy_roots_in,muddy_roots_provider移入 mangrove_root_placement对象下;
      • 加入字段above_root_placement;
    • 地物glow_lichen重命名为 multiface_growth ;
    • block_rot处理器的字段rottable_blocks现在需要一个#前缀;
    • 移除结构字段adapt_noise;
    • 移除密度函数slide,由add,mul,y_clamped_gradient代替;
    • 移除噪声设置字段noise.sampling,noise.top_slide,noise.bottom_slide,并移入密度函数;
    • 维度类型不再内联于维度数据中;
    • 移除区块噪声生成器的seed字段;
    • 移除密度函数 terrain_shaper_spline并移除密度函数spline的min_value和max_value字段;
    • 移除生物群系字段category;
    • 将worldgen/configured_structure_feature文件夹移入worldgen/structure文件夹;

1.18.2 ​

数据包: ​

  • 命令
    • locate命令现在接受已配置的结构地物ID作为参数而不是结构类型;
    • locate命令和locatebiome命令现在支持标签作为参数;
  • 世界生成
    • 加入结构集JSON文件,取代了噪声字段中的structures字段;
    • 移除了噪声设置中的字段noise_caves_enabled,noodle_caves_enabled;
    • 一些标签字段现在要求在ID前面加上#,但是它们暂不接受元素列表
      • dimension_type中的infiniburn
      • feature.geode配置中的blocks.cannot_replace和blocks.invalid_blocks
      • feature.vegetation_patch和feature.waterlogged_vegetation_patch配置中的replaceable
      • feature.root_system配置中的root_replaceable
      • structure_processor.protected_blocks中的value
    • 修改了噪声设置中structures的格式;

1.18 ​

数据包: ​

  • 命令
    • 移除了记分项、记分板名称、队伍名称的名称长度限制;
  • NBT
    • 将刷怪笼的SpawnPotentials格式更改为 snbt { weight: <int>, data: { entity: {...}, custom_spawn_rules: {...} } }
    • 将刷怪笼的SpawnData字段的内容移动到SpawnData.entity;
  • 进度
    • 将进度谓词中的nether_travel的entered重命名为start_position,移除了字段exit;
  • 物品修饰器
    • 现在set_contents和set_loot_table物品修饰器函数需要type字段
  • 标签
    • 将方块标签lava_pool_stone_replaceables重命名为lava_pool_stone_cannot_replace;
  • 世界生成
    • 加入用于地物放置的方块谓词;
    • 加入了已放置的地物;
    • 加入了表面规则;
    • 加入噪声JSON数据文件;
    • 移除了地表生成器;
    • 移除了方块放置器;

1.17 ​

数据包: ​

  • 命令
    • 加入/item命令,取代了/replaceitem命令;
    • /give命令能给予的物品上限现在是100;
  • 进度
    • 在触发器 effects_changed中加入条件 source;
  • 战利品表和谓词
    • 把谓词中的所有物品条件字段的名称从item修改为了items,所有方块条件字段的名称从block修改为了blocks;
  • 加入了物品修饰器
  • NBT
    • fireball的字段 ExplosionPower现在是byte而不是int;
    • 史莱姆的字段 Size现在上限是126;
    • 药水云的字段 Radius现在上限是32;
  • 标签
    • 重命名方块标签: snow_step_sounds → inside_snow_step_sounds
  • 方块
    • 铁轨能含水了,水不再破坏铁轨;
    • 将炼药锅拆分为cauldron(空的炼药锅), water_cauldron(装水的)和 lava_cauldron(装岩浆的);
    • 重命名 grass_path → dirt_path,grimstone →deepslate;
  • 实体
    • 加入了marker
  • 其他
    • 加入了游戏事件;
    • 使用F3+L可以生成一份性能报告,储存在 .minecraft/debug/profiling/下;
    • 文本组件中的目标选择器组件和NBT组件可以使用字段 separator指定分隔符;

资源包: ​

  • 着色器
    • 现在使用OpenGL 3.2渲染,可使用资源包替换原版着色器;
    • 新增资源包目录shaders/core和shaders/include;
  • 其他
    • 制作者名单现在是json格式储存而不是txt;

1.16.2 ​

数据包: ​

  • 世界生成
    • 自定义世界生成和维度设置现在在数据包中使用相同的文件夹模式(namespace/<类型>/resource.json),与其他资源保持一致。

1.16 ​

数据包: ​

  • 命令
    • 属性命名由驼峰命名改为下划线命名;
  • NBT
    • 实体的UUID值现在改为4元素整数数组;;
  • 数据包组分
    • 进度
      • 移除进度触发器 safely_harvest_honey ;
      • 进度内容location, slept_in_bed, hero_of_the_village, voluntary_exile 字段被放入location 字段下;
    • 世界生成
      • 加入实验性玩法“自定义世界”;
  • 其他
    • 数据包加载优化
      • 若加载失败,则修改不会被应用;
      • 如果进入世界时,已加载的数据包出错,会弹出“安全模式”选项;
      • 仅在数据包成功加载后修改数据包列表;
      • 数据包现在可以在世界生成之前指定;
      • 现在若数据包组分缺失(如卸载了vanilla数据包),将阻止玩家加载世界。

Powered by Vitepress and Github Pages