nbtMapper

nbtMapper

一个Fabric客户端模组,能自动根据NBT结构文件构建地图艺术——处理移动、物品栏、方块放置和补给,全程无需手动干预。

自动化

NbtMapper - 自动地图画建造器

声明: 本模组专为地图画建造和创意项目设计。仅在服务器规则允许的情况下,才可在多人服务器上使用。

一个 Fabric 客户端模组,可帮助你根据 NBT 结构文件建造地图画。加载你的结构,设置坐标,模组将协助你完成移动、物品栏管理、方块放置和物资补给。

需求

  • Minecraft 26.2
  • Fabric Loader
  • Fabric API
  • Java 25
  • 一个具有传送命令(例如 /home、/warp)的服务器,用于自动补给

测试服务器

在 mcfox.net 上积极测试——一个 Folia(多线程 Paper)生存服务器。非商业性,无付费赢利,没有任何形式的捐赠或购买。对所有人开放;通过 ViaVersion 支持 Minecraft 1.16 至 26.2,因此你可以使用运行此模组的任何版本加入,并实时观看地图画的建造过程。

安装

  1. 为 Minecraft 1.21.11 安装 Fabric Loader
  2. 下载模组 .jar 文件并将其放入你的 mods/ 文件夹
  3. 确保 Fabric API 也在 mods/ 文件夹中
  4. 启动游戏

快速开始

  1. 将你的 .nbt 结构文件放入 <游戏目录>/nbtmapper/
  2. 在游戏中,按 Z 键打开 GUI
  3. 前往 任务 选项卡,点击一个 NBT 文件进行加载
  4. 在 主 选项卡中,点击 新地点 设置建造原点(自动吸附到 128 格地图网格)
  5. 在 存储 选项卡中配置你的存储箱(每种方块类型的箱子坐标)
  6. 在 设置 选项卡中设置你的传送命令
  7. 点击 开始 — 模组将处理其余所有事情

功能特性

全自动建造

  • 加载 NBT 结构,以优化的蛇形路径放置方块
  • 在放置地毯/表面方块前自动放置圆石底座
  • 在范围内时,预填充附近同类型的方块以提高速度
  • 立即跳过已正确放置的方块

自动补给

  • 检测物品栏中某方块类型数量不足的情况
  • 使用服务器传送命令(例如 /home、/warp)前往你配置的存储区域
  • 批量补给:单次行程获取多种方块类型
  • 获取后合并物品栏中分散的堆叠

自动下一张地图

  • 当一张地图完成时,自动加载下一个 NBT 文件(按字母顺序)
  • 沿 X 轴偏移建造原点,偏移量为上一张地图的宽度
  • 非常适合并排建造多地图画作品
  • 通过主选项卡上的 自动 按钮切换开关

会话持久化

  • 进度每 10 秒自动保存
  • 记住最后加载的文件、原点、设置和运行状态
  • 如果建造处于活动状态,游戏重启后自动恢复

安全特性

  • 循环检测:如果陷入循环则自动暂停,20 秒后恢复
  • 方块验证:检查先前放置的方块以确保正确性
  • 卡住检测:如果在建造过程中卡住,将重新定位玩家
  • 移动和放置尝试的最大重试次数限制
  • 移动过程中的自动错误恢复

GUI 概述

按 Z 键打开。GUI 有 4 个选项卡:

主选项卡

  • 建造原点坐标(只读,通过 新地点 设置)
  • 大型 开始/暂停 按钮
  • 带有手动设置/重置的进度显示
  • 自动 开关(完成后自动加载下一张地图)
  • 调试 开关(显示实时 HUD 覆盖层)

任务选项卡

  • 列出 nbtmapper/ 文件夹中的所有 .nbt 文件
  • 点击加载,X 删除
  • 显示进度计数和已完成地图的 [完成] 标记
  • 打开 NBT 文件夹 按钮,方便快速访问

存储选项卡

  • 将每种方块类型映射到一个箱子位置(X/Y/Z)
  • 直接在 GUI 中编辑坐标
  • 更改时自动保存

设置选项卡

  • 传送到仓库:传送至存储区域的命令
  • 传送到工地:返回建造地点的命令
  • 更新家:在补给行程前更新你家的位置的命令
  • 移动模式:行走 / 疾跑 / 创造飞行 / 持续飞行 / 鞘翅

配置文件

所有配置文件均存储在 <游戏目录>/nbtmapper/ 中:

文件 用途
storage.json 方块到箱子坐标的映射和传送命令
settings.json 原点、移动模式、自动下一张、最后加载的文件、运行状态
<名称>_progress.json 每张地图的建造进度

移动模式

模式 描述
行走 标准地面移动
疾跑 疾跑地面移动
创造飞行 创造模式飞行,到达时禁用
持续飞行 创造模式飞行,始终保持启用
鞘翅 基于鞘翅的飞行

工作原理

模组在每个客户端 tick 上运行一个状态机:

下一步 → 装备 → 移动 → 放置 → 下一步 → ...
                                ↘ 补给(方块不足时)
  • 下一步:查找下一个要放置的方块,批量跳过空气/已完成的方块
  • 装备:将快捷栏切换到正确的方块
  • 移动:导航至目标 4 格范围内
  • 放置:放置方块并预填充附近同类型的方块
  • 补给:传送到存储区域,获取方块,返回

多个状态可以在单个 tick 中链接执行,以实现高效建造。

NBT 文件格式

模组读取标准的 Minecraft 结构 NBT 文件(.nbt)。这些文件可以通过以下方式创建:

  • 游戏内的结构方块
  • 诸如 NBT Studio 或 Amulet Editor 等外部工具
  • 导出为 NBT 格式的地图画生成器
  • 推荐:诸如 MapartCraft 等在线地图画生成器可以将图像转换为 NBT 文件

模组读取 调色板(方块类型)和 方块(位置),仅保留每个 X/Z 列中最顶部的方块。

重要说明

  • 仅限客户端:此模组完全在客户端运行。无需安装服务端。
  • 服务器规则:使用前务必确保你的服务器允许建造辅助工具。
  • 传送命令:补给系统依赖于服务器提供的传送命令(例如 Essentials 的 /home、/warp)。请在设置选项卡中配置这些命令。
  • 创造飞行:默认移动模式需要创造飞行能力。如果在没有飞行权限的生存模式中游玩,请切换到行走/疾跑。
  • 备份:模组会在世界中放置方块。务必对重要建筑进行备份。
  • 首次运行:首次启动时,storage.json 会使用默认的箱子坐标创建,这些坐标不会与你服务器匹配。你必须在存储选项卡中配置自己的箱子位置。

按键绑定

按键 操作
Z 打开/关闭 GUI(打开时自动暂停)

社区