-
Notifications
You must be signed in to change notification settings - Fork 421
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support resource pack filters, overlays and features from pack.mcmeta files in mods. #3312
Conversation
...-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/FabricModResourcePack.java
Outdated
Show resolved
Hide resolved
As suggested by Pepper, it would be best to "flatten" group resource packs instead. |
Can you explain this a bit more, I must have missed the conversation? This PR is basically providing a "flatterned" pack.mcmeta file? I think its very much out of scope to make large changes to this in this PR. |
The conversation is here on Fabricord: https://discord.com/channels/507304429255393322/566276937035546624/1150963915384160416 |
Posting here so its not lost, yeah that seems to make more sense at a high level actually doing it might be easier said than done. I dont know without trying, seems like it would be better suited to go in along with the larger scale resource loader changes. For now I will park this PR. |
Why? This is an internal impl, does it somehow affect the behavior of these features? |
Hey, with 1.20.3 coming out, could this please be revisted and made a higher priority? As a datapack developer, pack overlays not working on Fabric is a severe issue. Myself and many other creators I know of use overlays to have a single datapack for all 1.20.x versions. In 1.20.2 this wasn't an enourmous issue, since the main thing that changed was potion NBT, and overlays are technically avoidable by adding both NBT formats at once. However, 1.20.3 has the Yes, we could technically release make a separate 1.20.3 version of our datapacks to package as mods, and release separately. But this will just cause confusion having a version split in the mod releases, but not the datapacks. It will also be a lot more headache-inducing work for us. And as far as I'm aware, the overlay issue does not exist in Forge/NeoForged - making only Fabric hoding us back. (Please correct me if I'm wrong on this part.) With Mojang making more and more breaking changes in minor version releases, overlays are our saving grace. We would greatly appreciate if this PR could be addressed and merged for 1.20.3. Of course backporting this to 1.20.2 as well would be very nice, but 1.20.3 is much more important at the moment. |
I am looking into this stuff, hopefully I can finish it before the end of this year. Not a guarantee though. |
I've been working on this over at NeoForged - this is the approach I took: neoforged/NeoForge#367 (this is what is meant by the "flattening" in question). Basically, vanilla makes a couple of assumptions that the current system violates, and that's what leads to this issue in general. Those assumptions are (using yarn names):
Obeying these assumptions means that overlays will work, filters will work, any future such features Mojang adds will work, and any similar features mods add will work, all out of the box. What these add up to, basically, is that flattening has to happen at the |
Superseeded by #3473 |
Closes #3302
See: https://www.minecraft.net/en-us/article/minecraft-snapshot-22w11a for more info about filters.
Mods cannot filter each other, but they can filter packs (such as Minecraft its self) that are loaded before. Overlays and features are also supported.