A modern web application designed specifically for game mod management, providing an intuitive visual interface to organize, select, and manage game modification files.
- Multi-source Folder Management - Support configuring multiple mod source directories, unified management of mod files from different sources
- Smart Mod Selection - Visual interface for selecting specific mods to use, supports batch operations
- Real-time Preview Function - Preview detailed information, images, and video content of selected mods
- One-click File Building - Automatically copy selected mod files to target directory with conflict detection
- File Organization Tools - Batch organize and rename mod files, automatically optimize directory structure
- Multi-language Support - Built-in Chinese, English, Japanese, and Korean interfaces
- Responsive Design - Adapts to different screen sizes, supports desktop and mobile devices
- Modern UI - Based on Material Design language, clean and beautiful
- Real-time Status Updates - Operation progress displayed in real-time, error information feedback promptly
- Focus Mode - Focus display on specific folder mod functionality
- Spine Preview Integration - Support for Spine animation preview integration
- Duplicate File Detection - Intelligently detect and handle duplicate or conflicting mod files
- Configuration Management - Flexible configuration options, support for personalized customization
- Logging System - Detailed operation logs for easy troubleshooting
- Python 3.7 or higher
- Windows 10/11, macOS 10.14+, or Linux
- At least 1GB available disk space
-
Clone Repository
git clone https://github.com/X-T-E-R/NikkeModSelector cd NikkeModSelector -
Install Dependencies
pip install -r requirements.txt
-
Run Application
python app.py
-
Set Language - Go to settings page and select your preferred interface language
-
Configure File Paths
- Click the "Settings" button to enter the settings page
- Add mod source folders in "Folder Management"
- Set output directory (mod files will be copied here)
-
Organize File Structure (Optional)
- If your mod file structure is irregular, use the "File Organization" feature
- The system will automatically organize files into the recommended directory structure
mod_root/
โโโ c010_character_name/
โ โโโ mod1/
โ โ โโโ c010_00_standing_xxxx
โ โ โโโ c010_00_cover_xxxx
โ โ โโโ c010_00_aim_xxxx
โ โ โโโ preview_1.png
โ โ โโโ preview_2.gif
โ โ โโโ preview_3.mp4
โ โโโ mod2/
โ โ โโโ c010_00_standing_yyyy
โ โ โโโ c010_00_cover_yyyy
โ โ โโโ preview.png
โ โโโ mod3/
โโโ character_name๏ผID not required๏ผ/
โโโ mod1/
โ โโโ c015_00_standing_zzzz
โ โโโ c015_00_aim_zzzz
โ โโโ preview.mp4
โโโ mod2/
โโโ c015_00_standing_wwww
Structure Description:
- First level: Character categories (doesn't need to start with character ID)
- Second level: Specific mod subfolders
- Third level: Mod files and preview media files
-
Select Mods
- View all configured source folders on the left side of the main page
- Click to expand folder groups and view mod subfolders within
- Check the mods you want to use
-
Preview and Confirm
- The preview area on the right will show detailed information of selected mods
- View preview images and videos (if available)
- Confirm there are no conflicting mod files
-
Execute Build
- Click the "Confirm Build" button
- The system will automatically copy selected files to the output directory
- Wait for operation completion notification
- Enable "Focus On" function in the first column buttons
- Only display mods contained in selected folders
- Generate preview files for Spine viewer on the preview page
- Need to configure Spine viewer file path in settings beforehand
- Supports image, GIF, and video preview
- Right-click on mod items in the second column to open context menu
- Support rename, delete, and other operations
- Batch select and operate on multiple mods
- Frontend Framework: NiceGUI - Python native Web UI framework
- Backend Language: Python 3.7+
- Image Processing: Pillow - For image preview and processing
- Version Control: GitPython - For update functionality
- UI Design: Material Design style
nice_gui/
โโโ app.py # Application entry file
โโโ requirements.txt # Python dependencies
โโโ core/ # Core function modules
โ โโโ mod_selector.py # Mod selector core logic
โ โโโ base_settings.py # Basic settings management
โ โโโ config_settings.py # Configuration file management
โโโ pages/ # Page components
โ โโโ main_page.py # Main page
โ โโโ settings_page.py # Settings page
โ โโโ file_organizer_page.py # File organizer page
โ โโโ help_page.py # Help page
โโโ utils/ # Utility functions
โ โโโ localization.py # Internationalization support
โ โโโ file_helpers.py # File operation helpers
โ โโโ logger.py # Logging system
โโโ locales/ # Language packs
โโโ docs/ # Documentation files
โโโ user_config/ # User configuration directory
- Modular Design - Clear functional layering for easy maintenance and extension
- Responsive UI - Based on web technology, adaptive to different devices
- Plugin Configuration - Flexible configuration system supporting personalized customization
- Safe File Operations - Built-in file operation security checking mechanisms
- Main config file:
user_config/settings.toml - Language configuration: Auto-detect or manually set
- Log files: Under
logs/directory
-
Install Development Dependencies
pip install -r requirements.txt # Install development tools (optional) pip install black flake8 pytest -
Run Development Server
python app.py
-
Code Formatting
black . flake8 .
- Fork this project
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Create Pull Request
- Create new language file in
locales/directory (e.g.,fr.json) - Copy structure of
en.jsonand translate all text - Add language support in
utils/localization.py - Test display effects of new language
Q: "Module not found" error when running?
A: Please confirm all dependencies are correctly installed: pip install -r requirements.txt
Q: Cannot open web interface?
A: Check if port is occupied, can modify port number in settings
Q: Interface display abnormal?
A: Recommend using newer browser versions, Chrome, Firefox, or Edge recommended
Q: File copy failed?
A: Check output directory permissions, confirm sufficient disk space, path contains no special characters
Q: Preview images not displaying?
A: Confirm image format support (JPG, PNG, GIF, etc.), correct file path
Q: Spine preview not working?
A: Check Spine viewer path configuration, confirm version compatibility
This project is licensed under the MIT License - see the LICENSE file for details.
- NiceGUI - Excellent Python Web UI framework
- Material Design - Outstanding design language
- All developers who contributed code and suggestions to this project
- Issue Reports: GitHub Issues
- Feature Suggestions: GitHub Discussions
- Documentation Updates: Welcome to submit PRs to improve documentation
โญ If this project helps you, please give us a star!