Repository navigation
Project.Refactoring.en
English | 简体中文
✅ Refactoring completed (October 2026). The planned refactoring scope is complete and was released with Ultimate Scaler 0.4.0. The project now uses the modern Fabric toolchain and mojmap, a V4 configuration system with a rebuilt configuration screen, automated CI/CD, and the new documentation and collaboration workflow. Automated smoke tests and removal of the legacy configuration screen remain follow-up work. See the 0.4.0 changelog for the full list of changes, and the configuration reference for the new configuration system.
This document records the comprehensive refactoring of the Ultimate Scaler project from November 2025 to October 2026. The goal was to upgrade the project from a personal project to a modern, sustainable, and collaborative open ecosystem compliant with current software development standards.
Why Refactor?
- Accumulated Technical Debt: The old codebase is difficult to maintain and extend, hindering the introduction of new features.
- High Collaboration Barrier: Lack of standardized processes makes it difficult for external contributors to participate.
- Cumbersome Release Process: Manual operations are error-prone and do not provide a continuous integration experience.
Refactoring Goals:
- Standardization: Establish clear rules for code commits, version management, and branching strategies.
- Automation: Improve CI/CD pipelines for building, testing, and releasing, freeing up productivity.
- Documentation: Enhance code comments, API documentation, and contributor guides.
- Community Building: Lower collaboration barriers and foster a healthy contributor ecosystem.
| Module | Status | Details/Subtasks |
|---|---|---|
| 1. Version Control and Collaboration Workflow | Completed | - [x] Establish semantic commit and versioning standards - [x] Adopt trunk-based development branching strategy - [x] Create Issue templates and document the Pull Request flow |
| 2. Continuous Integration and Delivery | Completed | - [x] Set up basic CI (AppVeyor) - [x] Implement automatic release - [x] Implement nightly builds - [ ] Integrate automated testing (temporarily deferred) |
| 3. Project Documentation and Community | Completed | - [x] Refactor README.md - [x] Create Wiki homepage and this page - [x] Write CONTRIBUTING.md - [x] Create a contributor list |
| 4. Code Quality and Architecture | Completed | - [x] Add doc comments for core code - [x] Replace obfuscation maps - [x] Standardize dependency management (Gradle) - [x] Reorganize configuration menu |
Since I (INF32768, the author of this mod) lack software engineering practice, this project has been based on my “intuitive” ideas for commits and version releases since its inception. This resulted in pitfalls like big bang commits, making the codebase difficult to maintain and extend.
About three and a half months ago, after releasing a stable version, I hit the pause button. The reason was simple: I needed rest and had to cope with the new semester.
It was during this “interval period” that I had the chance to reflect. Through communication and learning, I encountered modern software engineering practices like atomic commits and trunk-based development. I realized that while the old workflow “worked”, it posed significant risks in code traceability, collaboration norms, and long-term maintenance. Rather than waiting for problems to erupt, it's better to proactively upgrade.
Refactoring during a stable period of the project minimizes costs while maximizing benefits. It’s like replacing the engine of a ship while it’s sailing, just to allow it to voyage further into the future.
Therefore, I decided to launch the refactoring plan for the Ultimate Scaler project and use it as a declaration for the project’s update revival. May the Ultimate Scaler project, after refactoring, become a more standardized, sustainable, and collaborative open-source project.
For the official announcement about the start of the refactoring, see Ultimate Scaler: Refactoring Workflow – A New Chapter Begins (BiliBili, Chinese)
Licensed under CC BY-NC-SA 3.0 license otherwise stated
🧭 用户指南 | User Guide
- 配置全解 | Configuration Reference
- 世界重定位功能详解 | Worldgen Reposition
- 命令/locate pos | /locate pos
- 常见问题 | FAQ
📈 项目治理 | Project Management
📚 参考资料 | References