Fabric API

Fabric API

108M Downloads

[Feature Request] Separate pack versions in a pack.mcmeta file

Jab125 opened this issue ยท 7 comments

commented

In 1.18.2 data packs' pack version was bumped from 8 to 9, making the data and resource version different for the first time.
There is only one pack_format in a pack.mcmeta

{
  "pack": {
    "pack_format": 8,
    "description": "Fabric Resource Loader Test Builtin Pack."
  }
}

But we can create a pack with data and assets, so shouldn't we be able to separate data and assets in the pack_version?
Example:

{
  "pack": {
    "fabric:data_format": 9,
    "fabric:assets_format" 8,
    "description": "Fabric Resource Loader Test Builtin Pack."
  }
}

This issue basically mirrors MinecraftForge/MinecraftForge#8563

commented

Is there any reason you don't use two different built-in packs?

Forge requires each mod to explicitly provide a pack.mcmeta file, however Fabric doesn't, hence it doesn't have this problem for mod resource packs. (Which is what the linked Forge issue is about).

commented

But, fabric packs support adding assets and data.

The easiest way to fix it probably is to remove the ability to make a pack supporting both.

commented

Mojang has already removed pack.mcmeta in both client and server jars. We should probably find a way for mod resource and data packs to define their custom metadata; for example, we can still use json, but the path to the data/resource metadata will probably be defined in fabric.mod.json's custom attributes, or we can define it in code.

commented

I'm still not sure why this matters since we don't have a pack.mcmeta file on Fabric for packs? Or is there one for builtin packs added via resource loader?

commented

I'm still not sure why this matters since we don't have a pack.mcmeta file on Fabric for packs? Or is there one for builtin packs added via resource loader?

ones added by fabric resource loader

commented

Ok yeah, seems sensible.

commented

I don't think this is really useful compared to just using separate builtin packs. After all, data packs and resource packs are handled differently by MC.