enjarai / shared-resources

A Minecraft mod to easily share resources between multiple game instances.
https://www.curseforge.com/minecraft/mc-mods/shared-resources
GNU Lesser General Public License v3.0
31 stars 3 forks source link

✨[Feature Request] Separate configuration options for sending/receiving data from global directory #42

Closed User4716 closed 4 months ago

User4716 commented 4 months ago

⚠️The problem:

As of now, the config file controls that what parts of the global directory will the client use and modify.

If there's a change in the equipped resourcepacks from another modpack that shares the global resourcepacks, All other modpacks that link the resourcepacks will have that change as well.

I kinda want to have seperate resourcepacks enabled for each modpack, but still have the left side list of all of my resourcepacks be the same to save storage space. (Since all of my resourcepacks are in the same folder, and not copied to each modpack seperately)

I share my global resourcepack folder to my heavily modded modpack to get the normal resourcepacks there as well. But when I have some custom resourcepacks enabled in the heavily modded modpack, it will get activated on the vanilla side as well. And it's annoying to disable any modded resourcepacks in my vanilla instances every time I have played my modded modpacks.

💡The smart solution

To fix this I came up with a creative idea. Basically, as of now we can configure what resources we want to share. Meaning if the option is enabled in the list below, if you make changes to it in that area locally, all other linked instances will get that change. And if another instance has made changes, you would replace your possible local changes with the global changes. And all I'm trying to ask for, is to allow us to control incoming and outgoing changes. (Explained more below the image) image

So what I mean by allowing us to "control incoming and outgoing changes" Well it would mean that we would have 2 lists of "what we want to share"

‎ ‎

🎨Here's a little demonstration image I made in Paint

As you can see, if we pretend that "Modpack 2" is my modded modpack, I could use all of the global resourcepacks in there, but the changes I make in that modpack locally would never translate to the global file. Also keep in mind that each option can have a different configuration profile, the image below only demonstrates one option and how it could work. sharedResources

enjarai commented 4 months ago

I see what you're suggesting, but this isn't really something thats globally applicable. For one, imagine how this would work with worlds. If the game would read worlds from one directory, and write them to another, that would mean any changes you make to a world would be saved separately from the actual world. Then when you close and reopen the world, it resets to the state in the reading directory, and overwrites any changes in the writing directory.

Aside from that, you're misunderstanding how selected resource packs are stored. While the resource packs themselves are all inside the resource packs folder, the selected packs are actually loaded from options.txt. So disabling syncing of that should actually have the effect you're looking for already.

User4716 commented 4 months ago

Agreed, when I made this post I didn't think how it would affect the other settings. And if the options.txt controls the active resourcepack then the "incoming/outgoing control for resourcepacks" is unneeded in my opinion. And I'll probably disable the sharing for the options.txt so that each instance has unique settings.

Let's see if the ability to control incoming/outgoing data would be useful in any of the other places:

So as you can see this feature I came up with turned out to be just a weird idea that has no good use for it 🙄😅