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 formatssystem 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
formatsis 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,61through88, then the datapack with the firstpack.mcmetasetup 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.