Skip to content

Translation notice

This page was translated with machine translation and may contain inaccuracies. If you can help improve it, please open an issue or submit a pull request.

Cover

Vanilla News - Λojang Spotlight - August 2025

Alumopper

Alumopper

Here is Vanilla news, the most Vanilla technical snapshot news in Minecraft. Our reporter Vanilla Fox reports the latest snapshot news for you~

This month Mojang released a total of three snapshots: 25w31a-33a, all belonging to 1.21.9. The data pack version number came to 83.1, and the resource pack version number came to 65.2.

Let’s talk about the conclusion first. This month’s update is moderately destructive and of average practicality. Overall, it falls within the big cup level.

This month’s update basically revolves around new copper products, such as copper tools, copper armor, copper puppets, etc. Well said, copper products have now become the item with the largest variety of spawned mobs in Minecraft (

I won’t say much about copper products in the vanilla newsletter. After all, this column is focused on technical changes. Let’s take a look at the data pack changes in the distance.

TIP

For more important destructive changes, they will be marked with 💥

💥data pack version number

Starting from 25w31a, Mojang also added a small version number to the data pack, which means that there will be83.083.1Such data pack version number is the same as resource pack. Maybe Mojang also realized that the version number was refreshed too quickly and thought of ways to sort out the versions.

Correspondingly,pack.mcmetaThe format of the files has also changed. First it was removedsupport_formatsfields, at the same timepack_formatBecame an optional field.support_formatThe function of the field ismin_formatandmax_formatTwo fields are replaced, representing the highest version number and the lowest version number respectively. But note that these two fields are not a floating point number, but a list of length 2 to represent the large version number and the small version number. For example[74, 1]express74.1. Of course, you can also just fill in an integer or just a number in the list. At this time, formin_formatfield is equivalent to a small version number of 0, and formax_formatfield, it is regarded as0x7fffffff, which means that any small version number can be accepted.

💥About multi-version adaptation...

Since the key name of the format version has been modified, if you pull an old version's data pack\resource pack directly to a new snapshot, "wrong or incompatible version" will be displayed. If you want your package to support both 1.21.9 and previous versions, you need to: Willmin_formatSet to a value no higher than 64 (resource pack) or 81 (data pack) and no lower than 16, and containspack_formatandsupport_formatsfield. at the same time,support_formatsFields must use binary arrays (i.e. of the form[18,48]) in the form rather than the object form (that is, in the form{"min_inclusive":18,"max_inclusive":48}

now, completepack.mcmetaThe format is as follows:

compoundpack:root object
  • compoundpack: stores data pack information
    • stringcompoundhomolistdescription: (text component) Description information of the data pack. This description is displayed on the data pack page for creating a world, or when the cursor is hovering over a data pack name listed in the /datapack listcommand.
    • intint_listmin_format:The lowest version number compatible with data pack, which is an array of two integers, namely the primary version number and the secondary version number, which must be greater than 81.
    • intint_listmax_format:The highest version number compatible with the data pack is an array of two integers, which are the primary version number and the secondary version number.
  • compoundfilter:Packet filter, used to specify files to be ignored by data pack. Any pattern matched within the NBT list/JSON array block will appear as if it does not exist in the data pack.
    • homolistblock:Pattern list
      • compound(list element)
        • stringnamespace:A regular expression indicating the namespace of files to be filtered. If omitted, all namespaces are matched.
        • stringpath:A regular expression indicating the path of files to be filtered. If omitted, all files are matched.
  • compoundfeatures:Experimental content to enable. Note: If this field is added, the data pack needs to be added when creating a new world, otherwise it cannot be added before changing the level.dat of the old world.
    • homolistenabled:Enabled content
  • compoundoverlay:Specifies the parts to overlay, i.e. subpackages that apply to the "standard" package content. Its directories are its own resources and data directories (stored in the root directory of the package).
    • homolistentries:overrides the list. The order is important, the first object in the list will be applied first
      • compound(list element)
        • intint_listmin_format:The minimum version number for this overlay data pack to take effect. The format is the same as that in NBT composite tag/JSON object pack
        • intint_listmax_format:The highest version number in which this overlay data pack takes effect
        • stringdirectory:The relative path where this subpackage is located.

loot table context

Two new context parameter sets have been added for the loot table:entity_interactandblock_interact

inentity_interactThe parameters provided are as follows:

|parameter name| is called |description| in predicate |-|-|-| |target_entity|target_entity|The entity being interacted| |interacting_entity|interacting_entity| (optional) andtarget_entityinteractive entity| |tool| predicate cannot be accessed | withtarget_entityTools used for interaction |

block_interactThe parameters provided are as follows:

|parameter name| is called |description| in predicate |-|-|-| |block_state|predicate cannot be accessed|block status of the interacted blockentity| |block_entity|predicate cannot access|the blockentity being interacted| |interacting_entity| interacting_entity| (optional) andblock_stateinteractive entity| |tool| predicate cannot be accessed | withblock_stateTools used for interaction |

text component

Added a new text component type in 25w32aobject, you can directly display a texture map in the form of characters, but it will always be displayed as a size of 8*8 pixels and cannot be changed. So the method of using fonts to display images will not be solved for a while, but this component does provide great convenience for displaying icons.

The format of the object text component is as follows:

compoundroot:
  • stringtype: is object
  • stringatlas: (default minecraft:blocks) namespaceID of the texture atlas
  • stringsprite:The namespaceID of the sprite in the atlas. Example: item/porkchop.

A contribution in this issue of "feature" researched this feature, you can check it out:

Example·New snapshot playing with shulker box display, item display and composite input

Miscellaneous

Beyond that, there are quite a few small changes in this month’s snapshot:

  • Changes to Noise Settings fields
  • Addition of new density function
  • Debug screen enhancements
  • summonGenerating hostile mobs in peaceful mode will fail.
  • testChange of command scope
  • puzzle structuremax_distance_from_centerFields can now specify different limits on the vertical versus horizontal axis
  • block_attacksThe item component will no longer trigger for damage no greater than 0
  • Joinedcopper_fire_flameparticle effects
  • forexplodeEnchantment effect addedblock_particlesField, specify the particle effect produced when exploding

There are many small changes, so I won’t go into details. Here is a link to this month’s snapshot. It is worth mentioning that Mojang said that it has completed updating the content of 1.21.9, so the next snapshot is probably not going to be anything big.

<https://zh.minecraft.wiki/w/25w31a>\ <https://zh.minecraft.wiki/w/25w32a>\ <https://zh.minecraft.wiki/w/25w33a&gt;

Powered by VitePress and GitHub Pages