-
Notifications
You must be signed in to change notification settings - Fork 807
feat:优化世界管理界面和世界信息界面 #4823
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat:优化世界管理界面和世界信息界面 #4823
Conversation
# Conflicts: # HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldManagePage.java
# Conflicts: # HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldInfoPage.java # HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldManagePage.java
Co-authored-by: 3gf8jv4dv <3gf8jv4dv@gmail.com>
# Conflicts: # HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java # HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldManagePage.java
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR enhances the world management interface with new functionality for managing Minecraft worlds, including copying worlds, editing world properties, and improving compatibility with recent Minecraft versions.
Key changes:
- Added world duplication feature with validation for world names and directory conflicts
- Implemented world icon editing functionality with 64×64 PNG validation
- Extended world info page with editable world name, difficulty lock toggle, and fixed player respawn point display for snapshot 25w07a
- Fixed large biomes detection for Minecraft versions 1.16 and later
- Introduced shared level.dat access through a cached CompoundTag to prevent data conflicts across multiple pages
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| HMCLCore/src/main/java/org/jackhuang/hmcl/game/World.java | Added levelData caching, setWorldName method, copy method, and improved largeBiomes detection for 1.16+ |
| HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties | Added Chinese localization strings for world duplication and icon management features |
| HMCL/src/main/resources/assets/lang/I18N_zh.properties | Added Traditional Chinese localization strings for new features |
| HMCL/src/main/resources/assets/lang/I18N_uk.properties | Added Ukrainian localization strings for world duplication error messages |
| HMCL/src/main/resources/assets/lang/I18N_ru.properties | Added Russian localization strings for world duplication error messages |
| HMCL/src/main/resources/assets/lang/I18N_es.properties | Added Spanish localization strings for world duplication error messages |
| HMCL/src/main/resources/assets/lang/I18N.properties | Added English localization strings for all new features |
| HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldManageUIUtils.java | New utility class centralizing world management operations (delete, export, copy) with session lock handling |
| HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldManagePage.java | Integrated management popup menu with export/delete/copy options and improved session lock lifecycle management |
| HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItemSkin.java | Added export, delete, and duplicate menu items to world list context menu with lock-based disabling |
| HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java | Refactored to delegate world operations to WorldManageUIUtils |
| HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldInfoPage.java | Added editable world name field, world icon management, difficulty lock toggle, fixed respawn point display for 25w07a, and refactored UI construction with helper methods |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
为世界管理界面与功能进行了一些更新,包括
bandicam.2025-11-22.15-28-47-681.mp4