
MenuCleaner
Cleans up the mess in the menus left by having multiple mods installed.ZEPHYR'S MENU CLEANER
ABOUT
QoL MOD focused on cleaning up and adding data-driven ways to sort and organize buttons added by other mods. This is currently limited to the Difficulty Selection and Chapter Selection screens, but will later on allow the creation and customization of layers and levels.
FEATURES
CLEANS UP THE MESS LEFT BY OTHER MODS
I've noticed that some mods don't take the time to make their additions to the main menu look pretty and organized, so every added button now gets sorted into a list with a scroll bar!

PREVENTS THE ACCUMULATION OF NEW BUTTONS FROM ENDING UP OFF SCREEN
When installing larger modpacks, buttons on the Chapter Select screen may end up past the borders of the game window. This mod adds a scroll bar to fix that issue, while allowing mod creators to sort them however they want!

[OPTIONAL] IGNORE UNRELEASED CONTENT FOR IN-GAME RANKING
You can tell the game to ignore unreleased levels when giving chapters a rank. By extension, it also lets you have a rank on the difficulty itself once every level has been played at least once for that difficulty.

"HOW DO I USE THIS FOR MY OWN MOD?"
(I'll make a wiki page for this eventually)
It's really easy to add your own config files to your mod, as you don't need to add this mod as a dependency.
All you need to do is create json files in the same directory as your mod's .dll!
JSON FORMAT
Your file's name needs to follow the format [name].[screen].json.
- [name]: name of your file, can be anything you want
- [screen]: tag used to tell the game which screen is being sorted. Can be either "difficulties" or "chapters"
For example, "example.difficulties.json" would modify the difficulty selection screen, while "example2.chapters.json" would modify the chapter selection screen
From there, the format is always the same:

(You can find this template in the mod files)
HOW DOES IT WORK?
LOADING
The mod looks in the directory of every loaded mod for JSON files with the naming scheme detailed above, and combines all of them into one big shared list. This allows anyone to simply add a JSON (with the right format) to their mod files to add support for this mod.
The JSON files added by other mods only need to contain the content that they want to sort, and don't need to include every single option.
SORTING
In game, the mod checks every active button in the respective menus.
For each existing button, the mod tries to match the name of those buttons with the entries in JSON files (not case sensitive). If it does, it will be sorted accordingly, otherwise that button is put at the bottom of the list.
The mod also checks if its name contains (not case sensitive) one of the entries as a failsafe. For example, if a JSON contains the entry "test" and a button is named "TEST DIFFICULTY", it will still be sorted accordingly.
In the case of duplicate entries, the mod will simply sort it according to the mod that was loaded last. Entries from this mod will always be overriden, rather than being dependant on loading order.
If you have any further questions, feel free to contact me directly!
PRE-SUPPORTED MODS
-
DIFFICULTY SELECTION
-
CHAPTER SELECT
Any mod that isn't listed here will be placed at the bottom of their respective menus unless support is added on their end.
CONTACTS
Any bugs to fix or feature requests? Hit me up on DISCORD!
Username: zephyroff
Server: https://discord.gg/KcsjvKa6jw