HMCL icon indicating copy to clipboard operation
HMCL copied to clipboard

添加服务器管理界面

Open CaaMoe opened this issue 1 month ago • 6 comments

image

在实例管理tab中新增服务器管理界面

CaaMoe avatar Dec 10 '25 05:12 CaaMoe

不要使用 ImageIO 来加载图片。请参阅 FXUtils 以查看图片替代方案

burningtnt avatar Dec 10 '25 14:12 burningtnt

图标可以考虑下这个:

Image

3gf8jv4dv avatar Dec 11 '25 07:12 3gf8jv4dv

假如有多个实例的「版本隔离」为「默认」,且 .minecraft 目录下有 servers.dat文件。

这时候切到另一个实例的「服务器管理」列表,勾选「显示全部」,会显示多个重复的条目。

这种情况是否需要解决?

3gf8jv4dv avatar Dec 11 '25 12:12 3gf8jv4dv

假如有多个实例的「版本隔离」为「默认」,且 .minecraft 目录下有 servers.dat文件。

这时候切到另一个实例的「服务器管理」列表,勾选「显示全部」,会显示多个重复的条目。

这种情况是否需要解决?

这看起来的确是个问题, 已经整改好了, 确保他们不会重复读取和显示。

CaaMoe avatar Dec 11 '25 13:12 CaaMoe

我看了一下。建议:

  1. 对于当前实例会使用的条目,标签显示为「当前实例」或类似内容。
    这样,对于有大量实例用户,可以快速区分。

  2. 说实话, server.tag.public 这个文本语义不明。 类似于第一条。如果能显示会使用它的实例,那么会更明了。

    以下是我的设想:

    .minecraft\servers.dat 存在时:

    • A 实例「版本隔离」为「各版本独立」,附带 servers.dat
    • B 实例「版本隔离」为「默认」
    • C 实例「版本隔离」为「各版本独立」,附带 servers.dat
    • D 实例「版本隔离」为「默认」

    这时在 C 实例的「服务器管理」页,勾选「显示所有」:

    • A 实例附带的 servers.dat 内条目,标签显示为「Name-A」
    • B、D 实例会使用的 .minecraft\servers.dat 内条目,标签不是含糊的「默认」,而是清晰显示「Name-B」「Name-D」两个标签
    • C 实例附带的 servers.dat 内条目,标签显示为「当前实例」

    如果进入 B 实例的「服务器管理」页,勾选「显示所有」:

    • A 实例附带的 servers.dat 内条目,标签显示为「Name-A」
    • B、D 实例会使用的 .minecraft\servers.dat 内条目,标签显示为「当前实例」和「Name-D」
    • C 实例附带的 servers.dat 内条目,标签显示为「Name-C」

3gf8jv4dv avatar Dec 11 '25 16:12 3gf8jv4dv

我看了一下。建议:

  1. 对于当前实例会使用的条目,标签显示为「当前实例」或类似内容。 这样,对于有大量实例用户,可以快速区分。

  2. 说实话, server.tag.public 这个文本语义不明。 类似于第一条。如果能显示会使用它的实例,那么会更明了。 以下是我的设想: 当 .minecraft\servers.dat 存在时:

    • A 实例「版本隔离」为「各版本独立」,附带 servers.dat
    • B 实例「版本隔离」为「默认」
    • C 实例「版本隔离」为「各版本独立」,附带 servers.dat
    • D 实例「版本隔离」为「默认」

    这时在 C 实例的「服务器管理」页,勾选「显示所有」:

    • A 实例附带的 servers.dat 内条目,标签显示为「Name-A」
    • B、D 实例会使用的 .minecraft\servers.dat 内条目,标签不是含糊的「默认」,而是清晰显示「Name-B」「Name-D」两个标签
    • C 实例附带的 servers.dat 内条目,标签显示为「当前实例」

    如果进入 B 实例的「服务器管理」页,勾选「显示所有」:

    • A 实例附带的 servers.dat 内条目,标签显示为「Name-A」
    • B、D 实例会使用的 .minecraft\servers.dat 内条目,标签显示为「当前实例」和「Name-D」
    • C 实例附带的 servers.dat 内条目,标签显示为「Name-C」

我根据你的描述重新设计了holder, 这是效果: image

image

CaaMoe avatar Dec 12 '25 02:12 CaaMoe