Skip to content

feat: package folder management - #756

Open
rozwader wants to merge 2 commits into
mainfrom
feat/package-folder-management
Open

feat: package folder management#756
rozwader wants to merge 2 commits into
mainfrom
feat/package-folder-management

Conversation

@rozwader

Copy link
Copy Markdown
Collaborator

Commit: changed reading mods from cluster folders on launch to having cluster folders symlinks in the shared .minecraft folder where mods stay per given cluster; changed resource packs and shader packs from working per cluster to global, every resource pack and shader pack is now being shared between clusters; added mods disabling whenever a mod is manually removed from the mods folder

Description

It's a big change in the behavior of code and files.

  1. Changed the way how mod loading/managing works. Now it its stored in the shared .minecraft/mods folder. Every cluster has its own folder labeled for example "26.2 Fabric", it's a symlink connected to the clusters mod folder. Mods can be added into the folders and they won't disappear after leaving the game, they will appear as a local file inside the launcher.

  2. Changed resource packs and shader packs behaviour. Now they don't load per cluster, but they are global. For example, adding one resource pack to the 26.2 cluster, will be seenable in all the clusters (also inside those who are incompatible, but user can download correct version for given cluster). Now user can add resourcepack files into this folder and it will be imported as a local file inside launcher.

  • when a user disables a pack inside launcher it's being deleted from the files.
  • when he enables disabled pack it will be added from cache on the next minecraft launch (for every cluster).
    How global works:
  • if a user disables a resource pack inside 26.2 cluster, but is enabled inside 26.1.2 cluster, it's going to still be enabled.
  • if a user disabled a resource pack inside 26.2 cluster (newer version of the file), but it's enabled inside 1.21.1 cluster (older version of the file), the older version of the file will still be inside folders (it won't disable ALL the versions, but only the ones that are compatible with the cluster they are being disabled in)
  1. When a user manually removes a mod from the folder, it is being set to disabled inside launcher and is being cached (as it was before).
  • if a user adds a mod manually and the launcher will save it as a local file, removing it from the files will turn the local mod into a disabled one.

Related Issue(s)

#611

How to test

I tested what I could and I had 0 bugs/problems with it, but it's preferred for someone else/more people to test it

First Feature

  1. Start a Minecraft instance
  2. Go into the Polyfrost files (AppData/Local/Polyfrost/.minecraft/mods)
  3. You'll see a folder (symlink) with the clusters version
  4. You can add mods to it or remove them

Second Feature
Install different packs inside launcher and manually and play with it (disable/enable/remove). If nothing breaks then it is a success (this is not a branch where dynamic packs reloading works, so everytime it will need a restart)

Third Feature

  1. Go into the polyfrost files, delete a mod from a cluster symlink inside shared minecraft mods folder
  2. Check it in the clusters mods list (it should be disabled)

Again, it would be great if more people tested it before it will be pushed to prod (I'll be testing it more too)

Documentation

No

…luster folders symlinks in the shared .minecraft folder where mods stay per given cluster; changed resource packs and shader packs from working per cluster to global, every resource pack and shader pack is now being shared between clusters; added mods disabling whenever a mod is manually removed from the mods folder
@lunaynx

lunaynx commented Aug 21, 2026

Copy link
Copy Markdown

Are you sure this works on Windows without requiring either developer mode or admin permissions? I remember it being pretty strict about creating symlinks.

@rozwader

Copy link
Copy Markdown
Collaborator Author

Im on windows and it worked for me. I'm not done testing it yet either, so if something comes up I'll fix it

@rozwader

Copy link
Copy Markdown
Collaborator Author

Polyio from what i saw is using hardlinks instead of symlinks on windows, but I may be mistaken

…nting to (windows); added a progress bar to the disk storage view in settings
@Wyvest Wyvest moved this to In progress in OneClient/Launcher Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

3 participants