In this scenario, we are trying to make a datapack that will load in both 1.21.5
and 1.21.9
. However, due to some changes unimportant to this report, this datapack needs a single overlay to load properly in 1.21.9
. The datapack/pack.mcmeta
should validate without issue nor errors in both 1.21.5 and 1.21.9.
pack.mcmeta
version 1 (with formats
):
{
"pack": {
"supported_formats": [
71,
88
],
"pack_format": 71,
"min_format": 71,
"max_format": 88,
"description": "hi mcc"
},
"overlays": {
"entries": [
{
"formats": {
"min_inclusive": 88,
"max_inclusive": 88
},
"directory": "1-21-9-overlay",
"min_format": 88,
"max_format": 88
}
]
}
}
In 1.21.5: Datapack validates just fine as expected
In 1.21.9: Datapack does not validate as expected, and gives the following error:
Couldn't load file overlays metadata: Overlay "1-21-9-overlay" key formats is deprecated starting from pack format 82. Remove formats from your pack.mcmeta.
Okay, let’s remove formats
then…
pack.mcmeta
version 2 (without formats
):
{
"pack": {
"supported_formats": [
71,
88
],
"pack_format": 71,
"min_format": 71,
"max_format": 88,
"description": "test"
},
"overlays": {
"entries": [
{
"directory": "1-21-9-overlay",
"min_format": 88,
"max_format": 88
}
]
}
}
In 1.21.5: Datapack validates just fine, however gives an error in console as it cannot understand the overlay entry without formats
:
Couldn't load overlays metadata: DataResult.Error['No key formats in MapLike[{"directory":"1-21-9-overlay","min_format":88,"max_format":88}]': class_8617[overlays=[]]]
In 1.21.9: Datapack validates just fine
Summary
The first setup is what should work - both the old formats
system and the new min_format
/max_format
systems are defined. However, the game refuses to load the overlay in 1.21.9 due to formats
being deprecated, even though it is needed for the overlay to be recognized properly in older versions.
Some extra things to note:
It doesn’t matter if
formats
is defined as a single number (88
), a list ([88, 88]
), or as an object ({"min_inclusive": 88, "max_inclusive": 88}
) - the results are the same.This issue only happens in the scenario where a single overlay is present for pack version
88
. If there’s another overlay that applies to older pack versions (say,61
through88
, then the datapack with the firstpack.mcmeta
setup will validate fine as expected. See below for an example:... { "formats": [ 80, 88 ], "min_format": 80, "max_format": 88, "directory": "1-21-6-overlay" }, { "formats": 88, "min_format": 88, "max_format": 88, "directory": "1-21-9-overlay" } ...
Comments 0
No comments.