三笠把那栋楼复制下来
客户端Fabric工具,用于将已加载区块中的建筑复制为JSON、NBT、.schem或.litematic。设置两个角点,在后台扫描而不会冻结游戏,跟踪进度和缺失区块,然后导出以便之后粘贴。无需服务器模组。
查看大图Copy That Building
仅客户端 的 Fabric 实用工具,作者 Mikasa,用于从已加载的客户端区块中复制建筑区域并导出为文件。
为建筑玩家、服务器管理员,以及任何想在建筑消失前将其保存下来的人而打造。你可以从任何有权访问的世界中复制堡垒、出生点、竞技场或你自己的作品 —— 之后在你的世界或服务器中重建它们。本模组只负责读取和导出。将建筑粘贴回世界由另一个独立的服务端模组(Place That Building)处理。
为什么要使用 Copy That Building?
- 仅客户端 —— 无需服务端安装,无需权限即可复制。
- 后台扫描 —— 模组在工作线程中读取区块,因此移动和输入保持流畅。
- 进度 HUD —— 一目了然地查看已完成区块、填充百分比、内存占用和预计保存大小。
- 指向缺失区块的路径点 —— 一个穿墙标记会显示你还需要走到哪里才能让区块加载。
- 软取消 —— 暂停扫描并保留进度,而非丢失一切。
- 四种导出格式 —— JSON、原版 NBT、WorldEdit .schem 和 Litematica .litematic。
- 无按键绑定 —— 仅使用命令和菜单,因此模组不会在按键绑定注册表中留下任何痕迹。
- 不强制加载区块 —— 模组只读取已加载的内容,绝不向服务器请求更多。
特性
- 复制由两个角点(点 A / 点 B)以及 Y Min / Y Max 定义的任意长方体区域
- 仅读取完全加载的客户端区块 —— 不强制加载区块
- 后台工作线程 —— 扫描和保存不会卡住移动或输入
- 进度 HUD:已完成区块、填充百分比、内存 / 预计保存大小
- 指向最近的仍需加载区块的路径点(注视它时显示穿墙标记)
- 存储模式:RAM(默认)或 FILE(扫描时实时刷新 JSON)
- 软取消(保留进度)与硬停止(释放内存、删除临时文件)
- 更改 A/B 重建区域:重叠的已扫描区块会保留,其余丢弃,进度更新
- 导出格式:JSON、原版 NBT、WorldEdit .schem、.litematic
- 可通过
commands.json重映射命令 - 英文 UI 标签(菜单)
需求
- Minecraft 26.3
- Fabric Loader ≥ 0.19.3
- Fabric API
- Java 25+
- 仅客户端 —— 无需服务端安装
快速开始
- 看向一个方块 →
/copybuilding setpointA - 看向对角 →
/copybuilding setpointB(两点都设置后开始读取) - 打开菜单 →
/copybuilding openmenu - 如有需要,调整 Y / 过滤器 → Update
- 走动以加载所需的区块(若显示路径点,请跟随它)
- 选择格式 → Save
- 聊天栏显示:
Saved: ctb-yyyyMMdd-HHmmss.<ext> (N%)导出文件位于: .minecraft/config/Mikasa-copy-building/exports/
text
示例场景
你在一个服务器上看到一个想要在自己世界中重建的堡垒。
- 站在一个角上并运行 /copybuilding setpointA。
- 走到对角并运行 /copybuilding setpointB。
- 扫描自动开始。使用 /copybuilding openmenu 打开菜单以调整 Y 范围或过滤器。
- 如果某些区块仍然缺失,跟随屏幕上的路径点直到它们加载。
- 当进度条达到 100% 时,运行 /copybuilding save schem。
- 文件会保存到 .minecraft/config/Mikasa-copy-building/exports/。
- 之后,在你自己的世界中,用 WorldEdit 或 Place That Building 粘贴它。
命令
| 操作 | 默认 |
|---|---|
| 打开菜单 | /copybuilding openmenu |
| 点 A | /copybuilding setpointA |
| 点 B | /copybuilding setpointB |
| 状态 | /copybuilding status |
| 保存 | /copybuilding save json / nbt / schem / litematic |
| 取消 | /copybuilding cancel —— 暂停读取,保留数据 |
| 停止 | /copybuilding stop —— 中止、释放内存、删除临时 JSON |
命令名称可在以下文件中重映射: config/Mikasa-copy-building/commands.json
text
编辑该文件后重启客户端。
扫描如何工作
- 选择区域是由 A/B 在 X/Z 上以及垂直方向上的 Y Min…Y Max 构成的长方体
- 任何剩余的已加载区块都可被读取(不受队列顺序限制)—— 适用于低视距
- 如果没有所需的已加载区块,读取会暂停;进度会保留
- 当你进入所需区块时,它会被读取,进度条前进
- 文件名自动生成:
ctb-yyyyMMdd-HHmmss(会话开始时间)
更改点 A / B
- 构建一个新区域
- 已经扫描过且仍完全覆盖新区域所需内容的区块会保留在内存中
- 新长方体之外的区块会被清除
- 进度变为
kept / newTotal
存储
| 模式 | 行为 |
|---|---|
| RAM(默认) | 将捕获保留在内存中,直到保存 / 停止 |
| FILE | 扫描时定期将实时 JSON 刷新到 exports/ 下 |
停止会清除 RAM 并删除实时 FILE json。点 A/B 会保留。
导出格式
| 格式 | 扩展名 | 备注 |
|---|---|---|
| JSON | .json |
自定义 mikasa-copy-building v1(用于 Place That Building) |
| NBT | .nbt |
类似原版的结构模板 |
| SCHEM | .schem |
Sponge Schematic v2(WorldEdit / FAWE) |
| LITEMATIC | .litematic |
Litematica(单一区域) |
过滤器(菜单)
- 排除空气 / 草 / 花 / 泥土 / 水
- 方块 id 列表,带排除或包含模式
- 示例:
minecraft:stone, minecraft:oak_log
注意
- 不放置方块
- 不使用按键绑定(仅命令 + 菜单)
- 不为你加载未加载的区块 —— 请走动(或提高视距)以使其加载
- 在你被允许复制的世界/服务器上使用
许可证
MIT —— 作者:Mikasa
正在加载版本记录…







正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。