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.



Vanilla News - Λojang Spotlight - August 2025
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.0,83.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:
pack: stores data pack information
description: (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.
min_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.
max_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.
filter: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.
block:Pattern list
(list element)
namespace:A regular expression indicating the namespace of files to be filtered. If omitted, all namespaces are matched.
path:A regular expression indicating the path of files to be filtered. If omitted, all files are matched.
features: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.
enabled:Enabled content
overlay: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).
entries:overrides the list. The order is important, the first object in the list will be applied first
(list element)
min_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
max_format:The highest version number in which this overlay data pack takes effect
directory: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:
type: is object
atlas: (default minecraft:blocks) namespaceID of the texture atlas
sprite: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 structure
max_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- Joined
copper_fire_flameparticle effects - for
explodeEnchantment 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>