You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
N/A (the distribution does not matter; please explain why if it's not obvious)
Bug description
Minecraft 1.20.2 has introduced a new overlay feature for resource and data packs. This feature allows authors to distribute a single pack that works across different versions of Minecraft without compatibility issues, by instructing the game to use a set of the pack files from one or more overlays as appropriate.
I was unaware of this new feature until several Discord users reported it after the 1.20.2 release (thanks for the heads up!), in the context of PackSquash omitting overlay directories because it was not designed with them in mind, and thus breaking their packs.
PackSquash should never break packs, especially considering how fatal this circumstance can be to packs that use overlays, and how quickly users reacted to it. I think pushing a new release with overlay support as soon as possible is warranted.
However, PackSquash is built on the assumption that a pack targets a single version of Minecraft, which is a necessary piece of information to determine which assets to optimize and what optimizations and protection techniques are possible. PackSquash couldn't offer the features it currently does without collecting some accurate metadata about the pack it's dealing with, or bothering the user with additional specific options that have proven time and time again to already have a learning curve. So PackSquash needs to be changed to work with overlays, and that change means reconsidering its internal design, which will take some time.
Reproduction steps
Run PackSquash on a pack that uses overlays.
Observe that the result pack omits overlays entirely, potentially breaking it.
Expected behavior
PackSquash should not break packs and deal with overlays just fine.
Additional context
As workarounds until PackSquash supports pack overlays, users can:
Consider not using this new feature, and instead rely on ad-hoc tools to create different versions of a pack for different versions of the game. While this approach has a significant upfront cost, it's my understanding that several established resource pack projects use it, and it's likely that they will continue to use it, because it allows them to distribute a leaner pack to end users with only the content that their version of Minecraft will actually use, in line with the size optimization goals that PackSquash is designed to help implement. Overlays don't simplify the QA process for a pack that targets different Minecraft versions, which is likely to have more significant recurrent costs than dedicated tooling.
Use the force_include file-specific option to include overlay directories, at the cost of giving up on optimizations specific to file formats.
To help with the implementation of a lasting solution to this situation, it is possible to:
Set up an automated and curated feed of Minecraft changes to packs that's convenient for developers to check, and includes snapshots. Frankly, it's disappointing to find out about breaking changes after an update has been released, when it's a little late and users may expect things to just work. Such a feed would allow development work to begin earlier, minimizing disruption when final Minecraft releases are made.
Collaborate with the project to test packs that use overlays once candidate implementations are made, share ideas on how to implement the necessary support, submit a PR with the necessary support, etc. There have always been many ways for to can contribute to PackSquash, and I have always welcomed contributions. Don't be shy, and feel free to join our Discord server if you are interested! 😉
The text was updated successfully, but these errors were encountered:
Distribution
N/A (the distribution does not matter; please explain why if it's not obvious)
Bug description
Minecraft 1.20.2 has introduced a new overlay feature for resource and data packs. This feature allows authors to distribute a single pack that works across different versions of Minecraft without compatibility issues, by instructing the game to use a set of the pack files from one or more overlays as appropriate.
I was unaware of this new feature until several Discord users reported it after the 1.20.2 release (thanks for the heads up!), in the context of PackSquash omitting overlay directories because it was not designed with them in mind, and thus breaking their packs.
PackSquash should never break packs, especially considering how fatal this circumstance can be to packs that use overlays, and how quickly users reacted to it. I think pushing a new release with overlay support as soon as possible is warranted.
However, PackSquash is built on the assumption that a pack targets a single version of Minecraft, which is a necessary piece of information to determine which assets to optimize and what optimizations and protection techniques are possible. PackSquash couldn't offer the features it currently does without collecting some accurate metadata about the pack it's dealing with, or bothering the user with additional specific options that have proven time and time again to already have a learning curve. So PackSquash needs to be changed to work with overlays, and that change means reconsidering its internal design, which will take some time.
Reproduction steps
Expected behavior
PackSquash should not break packs and deal with overlays just fine.
Additional context
As workarounds until PackSquash supports pack overlays, users can:
force_include
file-specific option to include overlay directories, at the cost of giving up on optimizations specific to file formats.To help with the implementation of a lasting solution to this situation, it is possible to:
The text was updated successfully, but these errors were encountered: