Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Aibuild — Auto-Build Plugin for Paper / WorldEdit

基于 WorldEdit 的全自动建筑模板插件 | Author: LuMickZi

适用于 Paper 1.21+ ~ 26.1.x(其他版本未测试)

GitHub: LuMicZi/Aibuild


✨ 特性一览

功能 说明
📚 模板管理 自动扫描 plugins/Aibuild/schematics/ 下的 .schem / .schematic / .litematic 文件
🖥️ 图形界面 (GUI) 54 格 GUI,分页浏览,左键进入编辑模式,右键预览
🏗️ 交互式编辑 粒子线框闪烁预览,走动平移、鼠标旋转/升降、聊天按钮确认
🎨 彩色帮助菜单 可点击执行的彩色指令帮助,支持 Tab 补全
↩️ 撤销支持 每次建造后自动记录区域快照,可一键撤销恢复原始地形
🔭 选区工具 烈焰棒选区工具,左键设点1、右键设点2,对齐建筑到选区
🌐 多语言 内置英文 / 简体中文双语包,运行时可切换,支持 & 颜色码
🔐 权限系统 细粒度权限(build / preview / gui / tool / undo / reload)
快速粘贴 使用 EditSession.fastMode() 避免大型建筑阻塞主线程 watchdog
🧩 Litematic 支持 内置 NBT 解析器,无需额外依赖即可加载 .litematic 格式

📦 快速开始

1. 前置要求

  • Java 21 或更高版本(若使用 WorldEdit 7.4.3 则需 Java 25+)
  • Paper 服务器(1.21+ ~ 26.1.x 已验证)
  • WorldEdit 插件(worldedit-bukkit-7.x.x.jar)

2. 安装

# 1. 构建(如果你是从源码构建)
mvn clean package

# 2. 复制到服务器
cp target/Aibuild-1.0.0.jar /path/to/server/plugins/

# 3. 重启服务器

首次启动后,插件会自动生成以下目录结构:

plugins/
└── Aibuild/
    ├── config.yml                    # 主配置文件(语言、文件夹路径、粒子线框)
    ├── languages/
    │   ├── messages_en.yml           # 英文语言包(可自行翻译/修改)
    │   └── messages_zh_CN.yml        # 中文语言包
    └── schematics/                   # 放你的 .schem / .schematic / .litematic 文件
        ├── 浮空之城.schem
        ├── castle.schematic
        └── ...

3. 添加建筑模板

.schem.schematic.litematic 文件拖到 plugins/Aibuild/schematics/ 目录。

然后执行:

/aibuild reload        # 重新扫描模板

🕹️ 游戏内使用

交互式编辑模式(推荐)

/aibuild gui           # 打开 GUI
# 左键点击模板 → 进入交互式编辑模式

进入编辑模式后:

  • 走动 → 建筑线框跟随你平移
  • 左键(手持工具)→ 顺时针旋转 90°
  • 右键(手持工具)→ 逆时针旋转 90°
  • 潜行+左键 → 建筑升高 1 格
  • 潜行+右键 → 建筑降低 1 格
  • 聊天框显示四个可点击按钮:[对齐视角] [确认建造] [取消建造] [撤销上次建造]

图形界面

/aibuild gui           # 打开模板 GUI
/ab gui                # 简写
  • 左键附魔书 → 进入交互式编辑模式
  • 右键附魔书 → 预览放置位置
  • 底栏:上一页 / 撤销 / 信息 / 确认 / 下一页

命令行 + Tab 补全

所有命令均支持 Tab 补全

命令 权限 说明
/aibuild list aibuild.use 列出所有模板
/aibuild build <名> aibuild.build 在当前位置建造
/aibuild preview <名> aibuild.preview 预览放置位置
/aibuild confirm aibuild.build 确认预览/编辑并建造
/aibuild cancel aibuild.use 取消当前预览/编辑
/aibuild align aibuild.use 对齐玩家视角(编辑模式)
/aibuild gui aibuild.gui 打开图形界面
/aibuild tool aibuild.tool 获取选区工具
/aibuild undo aibuild.undo 撤销上次建造
/aibuild reload aibuild.reload 重新加载配置/模板
/aibuild language <en|zh_cn> aibuild.reload 切换显示语言
/aibuild help aibuild.use 显示彩色可点击帮助

所有命令的简写/ab 代替 /aibuild

输入 /aibuild help 后,每条指令都可点击直接执行,无需手打。

示例工作流

# 1. 打开 GUI,左键点击想建的模板
/ab gui

# 2. 走动调整位置,左键旋转方向,潜行+右键降低高度
#    满意后点击聊天框的 [确认建造]

# 3. 不满意?点击 [撤销上次建造] 或输入 /ab undo
/ab undo

# 4. 重新放了新的 .schem 文件
/ab reload

# 5. 想切中文?
/ab language zh_cn

🔐 权限节点

默认所有权限仅 OP 可用。用权限管理插件(如 LuckPerms / PermissionsEx)授予玩家:

权限节点 控制内容 默认
aibuild.use 基础使用权限(总开关) op
aibuild.build 建造模板(放置方块) op
aibuild.preview 预览建筑放置位置 op
aibuild.gui 打开图形界面 op
aibuild.tool 获取和使用选区工具 op
aibuild.undo 撤销建造 op
aibuild.reload 重新加载配置 / 切换语言 op

🌐 语言与本地化

所有消息支持 & 颜色码(如 &a 绿色、&c 红色、&e 黄色)。

切换语言:

/aibuild language en          # 切换为英文
/aibuild language zh_cn       # 切换为中文

修改语言包:直接编辑 plugins/Aibuild/languages/ 下的 YAML 文件,/aibuild reload 生效。


⚙️ 配置文件 (config.yml)

language: "en"
schematic-folder: schematics

frame:        # 选区粒子线框
  enabled: true
  density: 2
  color: [255, 40, 40]
  size: 1.0

preview:      # 预览粒子线框
  enabled: true
  density: 1
  color: [40, 255, 80]
  size: 1.5

editor:       # 编辑模式闪烁线框
  enabled: true
  density: 1
  color: [255, 200, 0]
  size: 1.8
  blink-on: 4
  blink-off: 3

🛠️ 从源码构建

git clone https://github.com/LuMicZi/Aibuild.git
cd Aibuild/
mvn clean package

# 输出位置
target/Aibuild-1.0.0.jar

依赖(Maven 会自动下载):

依赖 用途
io.papermc.paper:paper-api Bukkit/Paper 插件 API
com.sk89q.worldedit:worldedit-core + :worldedit-bukkit 模板解析 + 编辑会话

📂 项目结构

Aibuild/
├── pom.xml                                   # Maven 构建配置
└── src/main/
    ├── java/com/aibuild/
    │   ├── Aibuild.java                      # 插件主类(启动、语言、配置)
    │   ├── command/AibuildCommand.java       # 命令处理 + Tab 补全 + 彩色帮助
    │   ├── gui/SchematicGui.java             # GUI:附魔书 + 编辑模式入口
    │   └── manager/
    │       ├── SchematicManager.java         # 粘贴 + 撤销 + 预览
    │       ├── PlacementEditor.java           # 交互式编辑:旋转/平移/对齐/确认
    │       ├── FrameRenderer.java             # 粒子线框渲染(选区/预览/编辑)
    │       ├── SelectionManager.java          # 选区工具(编辑模式优先)
    │       └── LitematicLoader.java          # Litematic 格式加载器
    └── resources/
        ├── plugin.yml                        # 插件描述 + 权限 + GitHub 地址
        ├── config.yml                        # 用户配置
        ├── messages_en.yml                   # 英文语言包
        └── messages_zh_CN.yml                # 中文语言包

❓ 常见问题

Q: 服务器启动报 "Aibuild requires WorldEdit"?
A: 你的 plugins/ 目录下没有 WorldEdit。安装 worldedit-bukkit-7.x.x.jar 后重启。

Q: 编译报错 "class file has wrong version 69"?
A: WorldEdit 7.4.3 使用 Java 25 编译(class version 69)。需要 JDK 25+ 编译,或降级 pom.xml 中 WorldEdit 版本为 7.3.10(兼容 JDK 21)。

Q: 建筑位置不对?
A: 编辑模式下走动即可平移建筑,左键旋转,潜行+左右键升降。满意后点击 [确认建造]

Q: 大型建筑粘贴时服务器卡死?
A: 已通过 editSession.setFastMode(true) 优化。超大建筑(50万+方块)建议拆分。

Q: 撤销能多次撤销吗?
A: 目前是一次撤销。建造时自动快照原始方块,撤销时完整恢复地形。


📝 更新日志

v1.0.0

  • ✅ 支持 Paper 1.21+ ~ 26.1.x
  • ✅ GUI 54 格图形界面(分页浏览)
  • ✅ 交互式编辑模式(粒子闪烁线框 + 走动平移 + 旋转/升降 + 聊天按钮)
  • ✅ 命令行建造 / 预览 / 撤销
  • ✅ Tab 补全 + 彩色可点击帮助菜单
  • ✅ 中英双语(运行时切换,支持 & 颜色码)
  • ✅ 权限系统(细粒度控制)
  • ✅ 选区工具(对齐到选区一角)
  • ✅ Litematic 格式支持(内置 NBT 解析器)
  • EditSession.fastMode() 快速粘贴
  • ✅ 自动生成配置 + 语言文件

👤 作者

LuMickZi
GitHub: LuMicZi/Aibuild

About

快速调用建筑模板

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages