配置编辑器渲染

配置编辑器渲染

一个modmenu的改进,支持modmenu,让你可以像文本编辑器一样直接编辑配置文件,这个模组在加入时能减少卡顿

游戏机制

配置编辑器

无需离开游戏即可编辑你的模组配置文件。

配置编辑器是一个 Fabric 客户端模组,为你提供功能齐全的文本编辑器、可视化 JSON 编辑器、AI 助手,以及方块信息悬浮层——全部可通过快捷键在游戏内访问。


功能

📝 游戏内配置编辑器

直接从游戏内打开 .minecraft/config 文件夹中的任何配置文件。无需再切换到记事本或 VS Code。

  • 为 JSON、TOML、YAML、Properties、CFG 和纯文本提供语法高亮
  • 行号、水平和垂直滚动条
  • 查找与替换(Ctrl+F),支持上一个/下一个导航
  • 自动保存并带文件锁定——如果文件被占用,最多重试 3 次
  • 尝试关闭时提示未保存的更改
  • 备份按钮,可在编辑前为整个配置目录创建快照
  • 打开文件夹按钮,可在文件管理器中显示配置目录
  • 深色 / 浅色 / 自动主题,带切换按钮

🖱️ 可视化 JSON 编辑器

切换到针对 JSON 文件的点击式界面。无需记住语法。

  • 添加、重命名、删除和重新排序字段
  • 一键更改值类型(字符串 / 数字 / 布尔值 / 空值 / 对象)
  • 支持嵌套对象,可展开/折叠
  • 使用上/下按钮滚动浏览大型文件

🤖 AI 聊天助手(需要 Ollama)

无需离开游戏即可向 AI 询问有关配置文件的问题。

  • 一键将文件或整个文件夹加载到对话中
  • 使用本地 Ollama 服务器(默认:localhost:11434,模型:tinyllama)
  • 打开时检查服务器可用性——如果 Ollama 未运行,会显示清晰的离线消息
  • 可滚动的聊天历史

� 方块信息悬浮层

一个 Jade/WTHIT 风格的 HUD 元素,在你游玩时显示在屏幕顶部。

  • 显示你准星所指方块的方块名称和注册表 ID(例如 minecraft:stone)
  • 在名称旁显示方块的物品图标
  • 半透明背景搭配简洁边框
  • 仅在游戏内可见——打开任何界面时消失
  • 可通过配置文件(show_block_overlay)完全开关

📦 NBT 查看器

将准星指向方块实体或实体,按下 NBT 按键,即可打开查看器,以格式化 JSON 显示其 NBT 数据。可使用自定义文件名将其保存到 saved_nbt/。

🔌 插件 API

其他模组可以通过实现 ApiEntrypoint 接口来扩展编辑器。内置插件包括:

插件 功能
撤销/重做 跟踪编辑历史
文本统计 显示字符数、单词数和行数
日期/时间显示 在编辑器工具栏中显示当前时间
自动括号补全 自动补全 (、[、{、"

可在编辑器内通过 插件 按钮管理哪些插件处于激活状态。

⚡ 性能优化

  • 加入/离开世界时的 GC 提示——在新世界开始分配内存之前触发一次垃圾回收,减少导致加入世界卡顿的 RAM 峰值。实际可释放数百 MB 内存。
  • 关卡设置时清除粒子——在新世界加载之前,从旧世界中丢弃过期的粒子对象。
  • 配置最多每 2 秒从磁盘读取一次,而不是每一帧或每次按键都读取。

安装

  1. 安装 Fabric Loader 和 Fabric API
  2. 将 config_editor-*.jar 放入你的 mods/ 文件夹
  3. 启动游戏

要求:

  • Minecraft 26.1
  • Fabric Loader ≥ 0.18.2
  • Fabric API
  • Java ≥ 21

AI 聊天功能还需要在本地运行 Ollama 并拉取模型(例如 ollama pull tinyllama)。


使用方法

三个快捷键默认均未绑定。请在 选项 → 控制 → 游戏玩法 中分配它们。

快捷键 操作
打开编辑器 打开配置文件编辑器
打开 AI 聊天 打开 AI 聊天助手
NBT 显示 为目标方块/实体打开 NBT 查看器

配置文件

模组自身的设置存储在 .minecraft/config/editor_config.json,既可在游戏内编辑,也可用任何文本编辑器编辑。

{
  "readonly_mode": false,
  "hint": true,
  "theme": "DARK",
  "doRenderBackground": false,
  "doSuggestions": true,
  "show_block_overlay": true
}
键 类型 默认值 描述
readonly_mode boolean false 阻止编辑文件(仅查看模式)
hint boolean true 自动补全括号和引号
theme string "DARK" 编辑器主题:DARK、LIGHT 或 AUTO
doRenderBackground boolean false 在编辑器后方绘制主题背景
doSuggestions boolean true 输入时显示自动补全建议
show_block_overlay boolean true 显示方块信息 HUD 悬浮层

面向模组开发者——插件 API

你可以通过实现 ApiEntrypoint,并在你的 fabric.mod.json 中通过 Fabric 入口点系统注册它,来为编辑器添加自定义行为:

"entrypoints": {
  "config_editor": [
    "com.example.yourmod.YourEditorPlugin"
  ]
}
public class YourEditorPlugin implements ApiEntrypoint {
    @Override
    public void init() { }

    @Override
    public void renderButton(GuiGraphicsExtractor context, int mouseX, int mouseY, float delta) {
        // Draw custom HUD elements over the editor
    }

    @Override
    public InteractionResult onType(int keyCode, int scanCode, int modifiers) {
        // Intercept keystrokes — return FAIL to consume the event
        return InteractionResult.PASS;
    }
}

链接


许可证

Apache License 2.0