YUNG-GANG / Paxi

Minecraft mod for automatic global datapack & resource pack loading
GNU Lesser General Public License v3.0
8 stars 4 forks source link

Feature Request: Load Combined Data/Resource packs #18

Open Dan-Mizu opened 1 year ago

Dan-Mizu commented 1 year ago

As a datapack developer, I'd appreciate if there was a way to make it so that Paxi could identify if a zip or directory contained both assets and data folders so that it could load both, without having to place both in each resourcepack and datapack directory within the paxi config folder.

That way, I could speed up development as I wouldn't have to archive my assets and place them into the resourcepack and load them EVERYTIME I make a change. To further this implementation, /reload would work like always to apply data changes, and F3+T should reload the resourcepack and its changes.

There would be the issue of conflicting pack.mcmeta versions, as mojang does not (understandably) keep them in sync between data and resource packs. Perhaps, there could be a custom value in the pack.mcmeta that specifies a version for data and version for resourcepack.

This implementation could be ideal for both developers and end-users/modpack devs as datapack devs could continue to ship datapacks and resourcepacks together in one file simplifying the process for users as they wouldn't have to drop that file in multiple directories and enable them manually.

yungnickyoung commented 11 months ago

Hmm not sure about this one. I understand the convenience factor, but fundamentally Minecraft doesn't seem designed to handle all-in-one data/resource packs given the discrepency in pack.mcmeta version numbers. And I don't feel the onus is really on me to supply that feature.

I imagine supporting such a feature would also be confusing for most users, as it would probably warrant the addition of a third "mixed packs" subfolder in the paxi folder.

Dan-Mizu commented 11 months ago

The way Mojang handles versioning of datapacks/resourcepacks in itself is already confusing but I agree to an extent. Versions are not really telling of a datapacks compatibility as an older pack could still work in a newer version if the commands it uses haven't changed, and the same can go for resourcepacks.

Thats beside the suggestion at hand though. I'd suggest detecting what an archive file provides whether it be data, assets, or both and leave directories up to the end user purely for sorting instead of using directory names to determine what packs provide, as well as trusting the user to have provided the correct files for their versions and ignoring the version property in the pack.mcmeta file.

Minecraft somewhat already functions this way by just providing a warning if version numbers are mismatched, and allowing you to load the packs anyway.

Think this would be the best way to implement the flexibility to cover all use cases.

yungnickyoung commented 10 months ago

Alrighty, this isn't something I plan on adding in the near future but I agree it's a good idea so I'll leave it open as something I might add in future releases