Modpack Developer Tips
Due to the amount of content, granularity of content Charset provides, as well as my hesitancy to keep ideas which don't meet my standards around for very long, a fairly complex (relative to other mods) configuration system had to be built to faciliate all of this while not harming the experience for modpack developers and end users.
Charset's module configuration system is based around profiles. These provide a sane set of default settings for modpacks. There are four profiles:
- STABLE - This is the default one and the one you should probably be using in production. Features in this one are very unlikely to get removed, at least within the scope of a Minecraft version, and they have also received a fair amount of testing and refinement.
- TESTING - This is the setting I encourage for environments which can deal with content disappearing - including production ones, if any exist. However, the primary environments I foresee using this setting are "Unstable" modpacks, smaller private servers or players who like having access to more experimental features. Features in this one are generally usable, but more bugs may appear and the features may be removed at any time.
- UNSTABLE - Anything which compiles and has a minimum viable set of functionality goes in here. If you want everything, you can use this, but you probably shouldn't be using this in any environment in which world breakage could cause problems.
- VERY_UNSTABLE - Only accessible from a development environment; includes features which are unfinished and/or broken.
The difference between TESTING and UNSTABLE really comes down to the level of initial testing/refinement a feature has received - UNSTABLE is far more likely to include features I consider unpolished. Which one you choose is up to you.
By the way - If you're unsure which profile to pick, you can always ask me!
In addition, you can manually force each module to be enabled or disabled in the "overrides" list - this is especially important as a few "niche" modules are off by default. They are marked as such, but their profile is still visible. The default setting for each override is DEFAULT, which means that Charset will decide whether or not to load the module itself, based on your profile configuration and whether the dependencies for a given module are present.