- 版权类型
- 原创
- 插件中文名称
- 物品保存
- 插件英文名称
- RuItemSave
- 支持的核心(服务端)
- Spigot
- Paper
- 其他核心
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
一个用于保存和管理物品的插件
QQ交流群 642468469
[MD] ## 命令 主命令:`/ruitemsave`,别名 `/itemsave`、`/is` ### 基础命令 | 命令 | 权限 | 说明 | |------|------|------| | `/is` | ruitemsave.use | 显示帮助信息 | | `/is reload` | ruitemsave.admin | 重载插件配置 | ### 物品保存与获取 | 命令 | 权限 | 说明 | |------|------|------| | `/is save <组> <名称>` | ruitemsave.use | 保存手中物品,已存在则覆盖 | | `/is get <组> <名称> [数量] [静默]` | ruitemsave.use | 获取物品,背包满时掉落 | | `/is del <组> <名称>` | ruitemsave.use | 删除物品(需点击确认) | | `/is del group <组名>` | ruitemsave.use | 删除整个组的所有物品 | | `/is give <组> <名称> <玩家> [数量] [静默]` | ruitemsave.admin | 给予玩家物品 | | `/is give group <组名> <玩家>` | ruitemsave.admin | 将整组物品给予玩家 | ### 物品管理 | 命令 | 权限 | 说明 | |------|------|------| | `/is rename <组> <旧名> <新名>` | ruitemsave.admin | 重命名物品 | | `/is move <旧组> <名称> <新组>` | ruitemsave.admin | 移动物品到另一个组 | | `/is fav <组> <名称>` | ruitemsave.use | 切换收藏状态 | | `/is fav` | ruitemsave.use | 查看收藏列表 | ### 浏览与搜索 | 命令 | 权限 | 说明 | |------|------|------| | `/is gui [组名]` | ruitemsave.use | 打开 GUI 物品浏览器 | | `/is list` | ruitemsave.use | 查看所有物品列表 | | `/is list group <组名>` | ruitemsave.use | 查看指定组的物品 | | `/is list search <关键词>` | ruitemsave.use | 搜索物品 | | `/is list page <页数>` | ruitemsave.use | 翻页 | 搜索支持前缀语法: - `material:DIAMOND` — 按材质搜索 - `lore:稀有` — 按 Lore 内容搜索 - 无前缀 — 按物品键名或显示名搜索 ### 物品编辑 | 命令 | 权限 | 说明 | |------|------|------| | `/is toString` | ruitemsave.use | 查看手中物品的 NBT 信息 | | `/is edit` | ruitemsave.use | 打开 GUI 物品编辑器 | ### 导入导出与迁移 | 命令 | 权限 | 说明 | |------|------|------| | `/is export all` | ruitemsave.admin | 导出所有物品到 YAML 文件 | | `/is export <组名>` | ruitemsave.admin | 导出指定组到 YAML 文件 | | `/is import <文件名>` | ruitemsave.admin | 从 YAML 文件导入物品 | | `/is migrate` | ruitemsave.admin | 数据库迁移(备份+引导) | | `/is info` | ruitemsave.admin | 查看统计信息 | 导出文件保存在 `plugins/RuItemSave/export/` 目录下。 **数据库迁移步骤:** 1. 执行 `/is migrate`,自动备份所有数据 2. 修改 `config.yml` 中的 `database.type`(sqlite / mysql) 3. 执行 `/is reload` 4. 执行 `/is import <备份文件名>` ## GUI 物品编辑器 通过 `/is edit` 手持物品时打开,支持以下功能: - **修改名称** — 点击后聊天输入新名称,支持颜色代码 - **修改描述** — 子菜单中查看所有 Lore 行,左键修改、右键删除、添加新行 - **附魔编辑** — 查看当前附魔,左键修改等级、右键移除;可从全部附魔列表中添加新附魔 - **隐藏标志** — 切换 HIDE_ENCHANTS、HIDE_ATTRIBUTES、HIDE_UNBREAKABLE 等 ItemFlag - **无法破坏** — 一键切换 Unbreakable 状态 - **自定义模型数据** — 设置 CustomModelData,输入 0 或 clear 清除 - **可破坏/可放置方块** — 编辑 CanDestroy / CanPlaceOn NBT 列表 - **NBT 编辑器** — 浏览物品 NBT 树结构,进入子层级,修改/添加/删除键值对 所有修改即时生效到手持物品,聊天输入支持 30 秒超时和 `cancel` 取消。 ## GUI 物品浏览器 通过 `/is gui` 打开箱子界面,支持: - 翻页浏览所有物品 - 左上角按钮切换分组筛选 - **左键** — 获取物品 - **右键** — 切换收藏 - **Shift+右键** — 删除(弹出确认窗口) ## 配置文件 ```yaml database: type: sqlite # sqlite 或 mysql mysql: host: localhost port: 3306 user: root password: 123456 database: minecraft page-size: 10 # 列表每页显示数量 max-group-length: 20 # 组名长度限制 max-name-length: 30 # 物品名长度限制 sound-enabled: true # 音效开关 log-enabled: true # 操作日志开关 messages: # 所有消息均可自定义,支持 {变量} 占位符 save-new: "§a物品 §f{group} {name} §a已保存(新物品)" save-overwrite: "§e物品 §f{group} {name} §e已更新(覆盖旧物品)" get-success: "§a获取物品成功" get-not-found: "§c未找到该物品" del-success: "§a物品已删除" del-confirm: "§e确认删除 §f{group} {name}§e?点击 §a[确认] §e或等待10秒自动取消" no-item: "§f§l[§6§l!§f§l] §6§l手中没有物品!" rename-success: "§a物品已重命名: {old} -> {new}" move-success: "§a物品已移动: {oldGroup} -> {newGroup}" fav-add: "§a已收藏 {group} {name}" fav-remove: "§a已取消收藏 {group} {name}" batch-del-success: "§a已删除组 §f{group} §a下的 {count} 个物品" batch-give-success: "§a已将组 §f{group} §a下的 {count} 个物品给予 {player}" inventory-full: "§c背包已满,物品已掉落在地上" ``` ## 操作日志 开启 `log-enabled: true` 后,所有操作记录写入 `plugins/RuItemSave/logs/` 目录,按天分文件。 日志格式: ``` [2024-01-01 12:00:00] [PlayerName] SAVE weapons sword (new) [2024-01-01 12:01:00] [PlayerName] DELETE weapons sword [2024-01-01 12:02:00] [PlayerName] GIVE weapons sword -> TargetPlayer [2024-01-01 12:03:00] [PlayerName] EXPORT all -> all_20240101_120300.yml (15 items) [2024-01-01 12:04:00] [PlayerName] IMPORT all_20240101_120300.yml (15 items) ``` 记录的操作类型:`SAVE`、`GET`、`DELETE`、`DELETE_GROUP`、`RENAME`、`MOVE`、`GIVE`、`GIVE_GROUP`、`EXPORT`、`IMPORT`、`MIGRATE` ## 权限 | 权限 | 说明 | |------|------| | `ruitemsave.use` | 基本使用权限(save/get/del/list/edit/gui/fav) | | `ruitemsave.admin` | 管理权限(reload/give/rename/move/export/import/migrate) | [/MD]
开源地址:https://github.com/CoderKuo/RuItemSave
更多教程请查看Wiki https://bukkit.wiki/plugins/plugins/ruitemsave/
QQ交流群 642468469
[MD] ## 命令 主命令:`/ruitemsave`,别名 `/itemsave`、`/is` ### 基础命令 | 命令 | 权限 | 说明 | |------|------|------| | `/is` | ruitemsave.use | 显示帮助信息 | | `/is reload` | ruitemsave.admin | 重载插件配置 | ### 物品保存与获取 | 命令 | 权限 | 说明 | |------|------|------| | `/is save <组> <名称>` | ruitemsave.use | 保存手中物品,已存在则覆盖 | | `/is get <组> <名称> [数量] [静默]` | ruitemsave.use | 获取物品,背包满时掉落 | | `/is del <组> <名称>` | ruitemsave.use | 删除物品(需点击确认) | | `/is del group <组名>` | ruitemsave.use | 删除整个组的所有物品 | | `/is give <组> <名称> <玩家> [数量] [静默]` | ruitemsave.admin | 给予玩家物品 | | `/is give group <组名> <玩家>` | ruitemsave.admin | 将整组物品给予玩家 | ### 物品管理 | 命令 | 权限 | 说明 | |------|------|------| | `/is rename <组> <旧名> <新名>` | ruitemsave.admin | 重命名物品 | | `/is move <旧组> <名称> <新组>` | ruitemsave.admin | 移动物品到另一个组 | | `/is fav <组> <名称>` | ruitemsave.use | 切换收藏状态 | | `/is fav` | ruitemsave.use | 查看收藏列表 | ### 浏览与搜索 | 命令 | 权限 | 说明 | |------|------|------| | `/is gui [组名]` | ruitemsave.use | 打开 GUI 物品浏览器 | | `/is list` | ruitemsave.use | 查看所有物品列表 | | `/is list group <组名>` | ruitemsave.use | 查看指定组的物品 | | `/is list search <关键词>` | ruitemsave.use | 搜索物品 | | `/is list page <页数>` | ruitemsave.use | 翻页 | 搜索支持前缀语法: - `material:DIAMOND` — 按材质搜索 - `lore:稀有` — 按 Lore 内容搜索 - 无前缀 — 按物品键名或显示名搜索 ### 物品编辑 | 命令 | 权限 | 说明 | |------|------|------| | `/is toString` | ruitemsave.use | 查看手中物品的 NBT 信息 | | `/is edit` | ruitemsave.use | 打开 GUI 物品编辑器 | ### 导入导出与迁移 | 命令 | 权限 | 说明 | |------|------|------| | `/is export all` | ruitemsave.admin | 导出所有物品到 YAML 文件 | | `/is export <组名>` | ruitemsave.admin | 导出指定组到 YAML 文件 | | `/is import <文件名>` | ruitemsave.admin | 从 YAML 文件导入物品 | | `/is migrate` | ruitemsave.admin | 数据库迁移(备份+引导) | | `/is info` | ruitemsave.admin | 查看统计信息 | 导出文件保存在 `plugins/RuItemSave/export/` 目录下。 **数据库迁移步骤:** 1. 执行 `/is migrate`,自动备份所有数据 2. 修改 `config.yml` 中的 `database.type`(sqlite / mysql) 3. 执行 `/is reload` 4. 执行 `/is import <备份文件名>` ## GUI 物品编辑器 通过 `/is edit` 手持物品时打开,支持以下功能: - **修改名称** — 点击后聊天输入新名称,支持颜色代码 - **修改描述** — 子菜单中查看所有 Lore 行,左键修改、右键删除、添加新行 - **附魔编辑** — 查看当前附魔,左键修改等级、右键移除;可从全部附魔列表中添加新附魔 - **隐藏标志** — 切换 HIDE_ENCHANTS、HIDE_ATTRIBUTES、HIDE_UNBREAKABLE 等 ItemFlag - **无法破坏** — 一键切换 Unbreakable 状态 - **自定义模型数据** — 设置 CustomModelData,输入 0 或 clear 清除 - **可破坏/可放置方块** — 编辑 CanDestroy / CanPlaceOn NBT 列表 - **NBT 编辑器** — 浏览物品 NBT 树结构,进入子层级,修改/添加/删除键值对 所有修改即时生效到手持物品,聊天输入支持 30 秒超时和 `cancel` 取消。 ## GUI 物品浏览器 通过 `/is gui` 打开箱子界面,支持: - 翻页浏览所有物品 - 左上角按钮切换分组筛选 - **左键** — 获取物品 - **右键** — 切换收藏 - **Shift+右键** — 删除(弹出确认窗口) ## 配置文件 ```yaml database: type: sqlite # sqlite 或 mysql mysql: host: localhost port: 3306 user: root password: 123456 database: minecraft page-size: 10 # 列表每页显示数量 max-group-length: 20 # 组名长度限制 max-name-length: 30 # 物品名长度限制 sound-enabled: true # 音效开关 log-enabled: true # 操作日志开关 messages: # 所有消息均可自定义,支持 {变量} 占位符 save-new: "§a物品 §f{group} {name} §a已保存(新物品)" save-overwrite: "§e物品 §f{group} {name} §e已更新(覆盖旧物品)" get-success: "§a获取物品成功" get-not-found: "§c未找到该物品" del-success: "§a物品已删除" del-confirm: "§e确认删除 §f{group} {name}§e?点击 §a[确认] §e或等待10秒自动取消" no-item: "§f§l[§6§l!§f§l] §6§l手中没有物品!" rename-success: "§a物品已重命名: {old} -> {new}" move-success: "§a物品已移动: {oldGroup} -> {newGroup}" fav-add: "§a已收藏 {group} {name}" fav-remove: "§a已取消收藏 {group} {name}" batch-del-success: "§a已删除组 §f{group} §a下的 {count} 个物品" batch-give-success: "§a已将组 §f{group} §a下的 {count} 个物品给予 {player}" inventory-full: "§c背包已满,物品已掉落在地上" ``` ## 操作日志 开启 `log-enabled: true` 后,所有操作记录写入 `plugins/RuItemSave/logs/` 目录,按天分文件。 日志格式: ``` [2024-01-01 12:00:00] [PlayerName] SAVE weapons sword (new) [2024-01-01 12:01:00] [PlayerName] DELETE weapons sword [2024-01-01 12:02:00] [PlayerName] GIVE weapons sword -> TargetPlayer [2024-01-01 12:03:00] [PlayerName] EXPORT all -> all_20240101_120300.yml (15 items) [2024-01-01 12:04:00] [PlayerName] IMPORT all_20240101_120300.yml (15 items) ``` 记录的操作类型:`SAVE`、`GET`、`DELETE`、`DELETE_GROUP`、`RENAME`、`MOVE`、`GIVE`、`GIVE_GROUP`、`EXPORT`、`IMPORT`、`MIGRATE` ## 权限 | 权限 | 说明 | |------|------| | `ruitemsave.use` | 基本使用权限(save/get/del/list/edit/gui/fav) | | `ruitemsave.admin` | 管理权限(reload/give/rename/move/export/import/migrate) | [/MD]
开源地址:https://github.com/CoderKuo/RuItemSave
更多教程请查看Wiki https://bukkit.wiki/plugins/plugins/ruitemsave/