一个允许玩家控制生物生成的Spigot插件。
## 特性
- **自动生物存档**: 在配置的间隔内存档所有已加载区块中的生物
- **世界特定文件**: 每个世界都有自己的 JSON 文件(例如 `world_mobs.json`、`the_end_mobs.json`)
- **白名单/黑名单系统**: 配置要存档或排除哪些生物
- **单个生物恢复**: 每个生物都有一个唯一的 ID,以便选择性地生成
- **多个恢复命令**:
- `/recovermobs` - 恢复世界中的所有生物
- `/recovermob spawn [x] [y] [z] [world]` - 在自定义位置生成特定生物,通过ID
- `/recovermob recover ` - 将特定生物恢复到原始位置
- `/recovermob listmobs` - 列出所有存档的生物及其 ID
- `/recovermob reload` - 重新加载插件配置和生物数据
- **权限系统**: 控制谁可以使用恢复命令
- **增强的生物数据**: 保存和恢复全面的生物信息,包括:
- **装备**: 盔甲、武器和带有附魔和元数据的物品
- **实体属性**: 生命值、自定义名称、发光效果等
- **村民数据**: 职业、等级和经验
- **NBT 数据**: 持久性数据容器信息
## 要求
- **JAR:** Java **21** 或更高版本
- **版本:** **1.19.4** 或更高版本
## 安装
1. 下载插件 JAR 文件
2. 将其放入服务器的 `plugins` 文件夹中
3. 重新启动服务器
4. 在 `plugins/RecoverMobs/config.yml` 中配置插件
## 命令
### `/recovermobs [world]`
恢复特定世界的存档的生物。
**用法:**
- `/recovermobs` - 显示带有存档数据的可用世界
- `/recovermobs ` - 恢复指定世界中的生物
**示例:**
- `/recovermobs world` - 恢复“world”维度的生物
- `/recovermobs the_end` - 恢复末地维度中的生物
- `/recovermobs world_nether` - 恢复地狱维度中的生物
### `/recovermob `
使用各种子命令管理单个生物。
#### **`/recovermob spawn [x] [y] [z] [world]`**
通过其唯一 ID 在自定义位置生成特定生物。
**用法:**
- `/recovermob spawn ` - 在您的当前位置生成生物
- `/recovermob spawn ` - 在指定坐标生成生物
- `/recovermob spawn ` - 在特定世界的坐标中生成生物
**示例:**
- `/recovermob spawn abc123-def456` - 在您的位置生成生物
- `/recovermob spawn abc123-def456 100 64 -200` - 在坐标处生成生物
- `/recovermob spawn abc123-def456 100 64 -200 world_nether` - 在地狱维度生成
#### **`/recovermob recover `**
将特定生物恢复到其原始存档位置。
**用法:**
- `/recovermob recover ` - 将生物恢复到其原始位置
**示例:**
- `/recovermob recover abc123-def456` - 将生物恢复到最初保存的位置
#### **`/recovermob listmobs [page]`**
列出所有存档的生物及其 ID 和信息。
**用法:**
- `/recovermob listmobs` - 显示存档生物的第一页
- `/recovermob listmobs ` - 显示存档生物的特定页面
**示例:**
- `/recovermob listmobs` - 显示前 10 个生物
- `/recovermob listmobs 2` - 显示 11-20 个生物
#### **`/recovermob reload `**
在不重启服务器的情况下重新加载插件配置和/或生物数据。
**用法:**
- `/recovermob reload config` - 仅重新加载配置文件
- `/recovermob reload mobsdata` - 仅重新加载文件中的存档的生物数据
- `/recovermob reload all` - 重新加载配置和生物数据
**示例:**
- `/recovermob reload config` - 重新加载 config.yml 中的更改
- `/recovermob reload mobsdata` - 如果文件在外部被修改,则重新加载生物数据
- `/recovermob reload all` - 重新加载所有内容
## 权限
- `recovermobs.recover` - 允许玩家使用 `/recovermobs` 命令 (默认:op)
- `recovermobs.spawn` - 允许玩家使用 `/recovermob` 命令 (默认:op)
- `recovermobs.list` - 允许玩家使用 `/recovermob listmobs` 子命令 (默认:op)
- `recovermobs.reload` - 允许玩家使用 `/recovermob reload` 子命令 (默认:op)
## 配置
### config.yml
```yaml
# 多久存档一次生物数据(以秒为单位)
save-interval: 25
# 要存档的生物的白名单 (留空以存档所有生物)
whitelist:
- ZOMBIE
- SKELETON
- CREEPER
# 按照需要添加更多生物类型
# 不要存档的生物的黑名单
blacklist:
- PLAYER
- ARMOR_STAND
- ITEM_FRAME
# 按照需要添加更多生物类型
# 调试模式(设置为 true 以获得更详细的日志记录)
debug: false
```
### 白名单 vs 黑名单
- **白名单**: 如果不为空,则只会存档此列表中的生物
- **黑名单**: 此列表中的生物永远不会被存档,无论白名单如何
- **空的白名单**: 将存档所有生物(除了黑名单中的生物)
## 故障排除
1. **没有存档生物**: 检查你的白名单/黑名单配置
2. **权限被拒绝**: 确保您拥有 `recovermobs.recover` 权限
3. **找不到世界**: 确保世界名称正确并且世界已加载
4. **没有存档数据**: 等待存档间隔或检查加载区块中是否存在生物