Skip to content

Conversation

@Mine-diamond
Copy link
Contributor

@Mine-diamond Mine-diamond commented Nov 18, 2025

为世界管理界面与功能进行了一些更新,包括

  1. 把原存在在世界管理列表界面右键菜单的“导出此世界”和“删除此世界”也添加到“世界管理”中
  2. 添加了复制世界功能
  3. 现在世界管理标题显示的世界名称不再含有可能的颜色代码了
  4. 现在当世界被占用时,会额外禁用快速进入世界,导出世界,复制世界和删除世界的功能
  5. 为“世界信息页面”加入了如下功能
  • 现在世界名称可以更改了
  • 添加“世界图标”信息项,并支持修改
  • 修改种子信息项现在种子按钮至右边
  • 添加“难度锁定”信息项
  • 修复了在25w07a后无法显示玩家重生点的错误
  1. 修复了在1.16之后无法获取世界是否为放大化世界的问题
  2. 修复了愚人节版本 20w14infinite 的世界无法被正确加载的问题
  3. 获取levelDatTag不再是获取一个新的levelDatTag而是共用同一个levelDatTag,这使得如果未来有多个页面( feat:添加游戏规则设置界面 #4807 )要操作level.dat不会造成相互覆盖
image
bandicam.2025-11-22.15-28-47-681.mp4

@Mine-diamond Mine-diamond marked this pull request as ready for review November 21, 2025 12:45
Copy link
Contributor

Copilot AI left a 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants