- ◆ 支持核心
- CatServer,Spigot,PaperSpigot,Magma,Arclight
- ◆ 插件前置
- 无
- ◆ 游戏版本
- 1.18、1.19、1.20、1.21
[MD]
# PhantomControl
PhantomControl是一款功能强大的Minecraft服务器插件,用于管理玩家的幻翼生成,支持Folia和Spigot/Paper服务器。
## 开发由来
在Minecraft高版本中,幻翼是一种夜间生成的敌对生物,会攻击长时间未睡觉的玩家。但对于许多玩家来说,它们往往会带来不必要的困扰:
- 频繁的幻翼攻击会打断玩家的正常游戏体验
- 对于建筑等长时间专注任务的玩家来说,幻翼的干扰尤为明显
- 部分玩家可能不喜欢与幻翼战斗,更倾向于专注于自己喜欢的游戏内容
然而,如果服务器直接禁用所有幻翼,又会剥夺那些需要幻翼的玩家的游戏体验。我自己服务器为了平衡这两种需求,让玩家能够自主选择是否开启幻翼,查阅相关类似功能的开源插件之后,进行了自己这插件的开发,所以诞生了这插件。
这款插件允许玩家根据自己的喜好控制幻翼生成,同时支持管理员进行全局管理,完美解决了服务器中幻翼带来的困扰问题。
- 不过毕竟是我服务器自己想出来的需求,而且本人也是小白,所以插件的功能还有可以完善的地方。如果有什么建议或者问题,欢迎各位大佬提出。
## 功能特性
-
**幻翼生成控制**:允许玩家启用或禁用自己的幻翼生成
-
**管理员命令**:支持管理员管理其他玩家的幻翼设置
-
**数据库支持**:支持FlatFile和MySQL两种数据库存储方式
-
**Folia兼容**:完全支持Folia服务器,自动检测环境并优化调度
-
**世界白名单/黑名单**:可配置指定世界是否启用幻翼控制
-
**自动保存机制**:定期自动保存玩家数据
-
**配置重载**:支持动态重载配置,无需重启服务器
-
**完整的权限系统**:精细的权限控制
-
**多语言支持**:支持中文和英文,可自动根据玩家客户端语言调整
-
**GUI界面**:提供图形化控制界面,方便玩家操作
-
**bStats集成**:提供插件使用情况统计,可在配置文件中控制开启或关闭
## 安装方法
1. 下载最新版本的`PhantomControl.jar`文件
2. 将jar文件放入服务器的`plugins`文件夹中
3. 重启服务器,插件会自动生成配置文件
4. 根据需要修改配置文件,然后使用`/phantomreload`命令重载配置
## 配置说明
插件生成的配置文件位于`plugins/PhantomControl/config.yml`,主要配置项如下:
### 数据库设置
```yaml
database:
type: "flatfile" # 数据库类型,可选值:flatfile, mysql
auto-save-interval: 300 # 自动保存间隔(秒),0表示不启用
mysql:
address: "localhost:3306" # MySQL地址
username: "username" # MySQL用户名
password: "password" # MySQL密码
database: "phantom_control" # 数据库名称
prefix: "phc_" # 表前缀
```
### 世界白名单/黑名单
```yaml
whitelist:
world-whitelist-enabled: false # 是否启用世界白名单
world-blacklist-enabled: true # 是否启用世界黑名单
blacklist:
world-whitelist: [] # 白名单世界列表
world-blacklist: [] # 黑名单世界列表
```
### 多语言设置
```yaml
settings:
message:
# 默认消息显示方式:CHAT, ACTION_BAR, TITLE
default-type: "CHAT"
# 是否在状态变更时显示标题消息
show-title-on-change: false
# 是否在状态变更时显示ActionBar消息
show-actionbar-on-change: false
# 语言设置
language:
# 语言模式: auto, chinese, english
# auto: 自动根据玩家客户端语言选择(默认为英文,如果玩家是简体中文就用中文)
# chinese: 强制使用中文
# english: 强制使用英文
mode: "auto"
# 默认语言文件名称(不含.yml扩展名)
default: "messages_en"
# bStats统计设置
bstats:
# 是否启用bStats统计功能
enabled: true
```
### GUI设置
```yaml
settings:
gui:
# GUI标题
title: "幻翼控制"
# 状态方块材质
status-enabled-material: "GREEN_WOOL"
status-disabled-material: "RED_WOOL"
# 按钮材质
enable-button-material: "LIME_DYE"
disable-button-material: "RED_DYE"
info-button-material: "BOOK"
border-material: "GRAY_STAINED_GLASS_PANE"
```
### 消息配置
消息配置已移至 `messages.yml` 文件,支持多语言设置。
## 命令说明
### 玩家命令
| 命令 | 描述 | 权限 |
|------|------|------|
| `/phantomcontrol enable` 或 `/phantomcontrol on` | 启用幻翼生成 | 无 |
| `/phantomcontrol disable` 或 `/phantomcontrol off` | 禁用幻翼生成 | 无 |
| `/phantomcontrol status` 或 `/phantomcontrol check` | 查看当前幻翼状态 | 无 |
| `/phantomcontrol gui` 或 `/phantomcontrol menu` | 打开图形化控制界面 | 无 |
| `/phantomcontrol help` | 查看帮助信息 | 无 |
### 管理员命令
| 命令 | 描述 | 权限 |
|------|------|------|
| `/phantomcontrol admin enable <玩家名>` | 为指定玩家启用幻翼 | phantomcontrol.admin |
| `/phantomcontrol admin disable <玩家名>` | 为指定玩家禁用幻翼 | phantomcontrol.admin |
| `/phantomcontrol admin status <玩家名>` | 查看指定玩家的幻翼状态 | phantomcontrol.admin |
| `/phantomreload` 或 `/phantomcontrolreload` | 重载插件配置 | phantomcontrol.reload |
| `/phantomcontrol admin batch enable <玩家1> <玩家2> ...` | 批量为多个玩家启用幻翼 | phantomcontrol.admin |
| `/phantomcontrol admin batch disable <玩家1> <玩家2> ...` | 批量为多个玩家禁用幻翼 | phantomcontrol.admin |
| `/phantomcontrol admin server` | 查看服务器幻翼设置统计信息 | phantomcontrol.admin |
## 权限说明
| 权限 | 描述 | 默认 |
|------|------|------|
| `phantomcontrol.use` | 允许使用基本的幻翼控制命令 | 所有玩家 |
| `phantomcontrol.admin` | 允许使用管理员命令管理其他玩家 | OP |
| `phantomcontrol.reload` | 允许重载插件配置 | OP |
## 插件优势
PhantomControl插件具有以下显著优势:
- **模块化架构**:采用清晰的Manager类划分,代码结构清晰,易于维护和扩展
- **完全Folia兼容**:自动检测Folia环境并优化调度,确保在Folia服务器上高效运行
- **性能优化**:使用ConcurrentHashMap缓存玩家数据,优化Folia检查逻辑,提高插件运行效率
- **灵活的数据库支持**:同时支持FlatFile和MySQL两种数据库存储方式,满足不同服务器需求
- **精细的权限控制**:提供完整的权限系统,支持管理员精细管理
- **世界级别的控制**:支持世界白名单/黑名单,可配置指定世界是否启用幻翼控制
- **自动保存机制**:定期自动保存玩家数据,确保数据安全
- **动态配置重载**:支持动态重载配置,无需重启服务器
## PlaceholderAPI支持
PhantomControl插件支持PlaceholderAPI,温馨提示:PlaceholderAPI的2.11.7版本开始支持folia
### 可用占位符
| 占位符 | 描述 | 示例输出 |
|--------|------|----------|
| `%phantomcontrol_enabled%` | 返回玩家幻翼是否启用的布尔值 | `true` 或 `false` |
| `%phantomcontrol_status%` | 返回玩家幻翼状态的中文文本 | `已启用` 或 `已禁用` |
## 常见问题
### Q: 插件支持哪些服务器版本?
A: 插件支持Minecraft 1.19+版本,包括Spigot、Paper和Folia服务器。
### Q: 为什么玩家禁用幻翼后仍然有幻翼生成?
A: 请检查:
1. 玩家所在世界是否在白名单/黑名单中
2. 插件是否有足够的权限
3. 服务器是否有其他插件影响幻翼生成
### Q: 如何查看玩家的TIME_SINCE_REST统计值?
A: 在游戏中的ESC中,有统计信息,可以查看“上次入眠时间”
### Q: 插件支持哪些语言?
A: 插件支持中文和英文,可自动根据玩家客户端语言调整,也可在配置文件中强制使用特定语言。
### Q: 如何控制bStats统计功能?
A: 可以在配置文件中的 `settings.bstats.enabled` 选项中控制开启或关闭bStats统计功能。
## 开发者信息
### 作者
- 作者:CHL_chun
- QQ:2919089965
### 贡献
欢迎提交Issue和Pull Request,帮助改进插件!
### bStats统计页面

*统计数据每30分钟更新一次,数据来源:[bStats.org](https://bstats.org/)*
## 联系方式
- 如有问题或建议,请在我发的平台评论中提出
- 或通过QQ联系:2919089965
---
感谢使用PhantomControl插件!如有任何问题,请随时联系我。
[/MD]
# PhantomControl
PhantomControl是一款功能强大的Minecraft服务器插件,用于管理玩家的幻翼生成,支持Folia和Spigot/Paper服务器。
## 开发由来
在Minecraft高版本中,幻翼是一种夜间生成的敌对生物,会攻击长时间未睡觉的玩家。但对于许多玩家来说,它们往往会带来不必要的困扰:
- 频繁的幻翼攻击会打断玩家的正常游戏体验
- 对于建筑等长时间专注任务的玩家来说,幻翼的干扰尤为明显
- 部分玩家可能不喜欢与幻翼战斗,更倾向于专注于自己喜欢的游戏内容
然而,如果服务器直接禁用所有幻翼,又会剥夺那些需要幻翼的玩家的游戏体验。我自己服务器为了平衡这两种需求,让玩家能够自主选择是否开启幻翼,查阅相关类似功能的开源插件之后,进行了自己这插件的开发,所以诞生了这插件。
这款插件允许玩家根据自己的喜好控制幻翼生成,同时支持管理员进行全局管理,完美解决了服务器中幻翼带来的困扰问题。
- 不过毕竟是我服务器自己想出来的需求,而且本人也是小白,所以插件的功能还有可以完善的地方。如果有什么建议或者问题,欢迎各位大佬提出。
## 功能特性
-
-
-
-
-
-
-
-
-
-
-
## 安装方法
1. 下载最新版本的`PhantomControl.jar`文件
2. 将jar文件放入服务器的`plugins`文件夹中
3. 重启服务器,插件会自动生成配置文件
4. 根据需要修改配置文件,然后使用`/phantomreload`命令重载配置
## 配置说明
插件生成的配置文件位于`plugins/PhantomControl/config.yml`,主要配置项如下:
### 数据库设置
```yaml
database:
type: "flatfile" # 数据库类型,可选值:flatfile, mysql
auto-save-interval: 300 # 自动保存间隔(秒),0表示不启用
mysql:
address: "localhost:3306" # MySQL地址
username: "username" # MySQL用户名
password: "password" # MySQL密码
database: "phantom_control" # 数据库名称
prefix: "phc_" # 表前缀
```
### 世界白名单/黑名单
```yaml
whitelist:
world-whitelist-enabled: false # 是否启用世界白名单
world-blacklist-enabled: true # 是否启用世界黑名单
blacklist:
world-whitelist: [] # 白名单世界列表
world-blacklist: [] # 黑名单世界列表
```
### 多语言设置
```yaml
settings:
message:
# 默认消息显示方式:CHAT, ACTION_BAR, TITLE
default-type: "CHAT"
# 是否在状态变更时显示标题消息
show-title-on-change: false
# 是否在状态变更时显示ActionBar消息
show-actionbar-on-change: false
# 语言设置
language:
# 语言模式: auto, chinese, english
# auto: 自动根据玩家客户端语言选择(默认为英文,如果玩家是简体中文就用中文)
# chinese: 强制使用中文
# english: 强制使用英文
mode: "auto"
# 默认语言文件名称(不含.yml扩展名)
default: "messages_en"
# bStats统计设置
bstats:
# 是否启用bStats统计功能
enabled: true
```
### GUI设置
```yaml
settings:
gui:
# GUI标题
title: "幻翼控制"
# 状态方块材质
status-enabled-material: "GREEN_WOOL"
status-disabled-material: "RED_WOOL"
# 按钮材质
enable-button-material: "LIME_DYE"
disable-button-material: "RED_DYE"
info-button-material: "BOOK"
border-material: "GRAY_STAINED_GLASS_PANE"
```
### 消息配置
消息配置已移至 `messages.yml` 文件,支持多语言设置。
## 命令说明
### 玩家命令
| 命令 | 描述 | 权限 |
|------|------|------|
| `/phantomcontrol enable` 或 `/phantomcontrol on` | 启用幻翼生成 | 无 |
| `/phantomcontrol disable` 或 `/phantomcontrol off` | 禁用幻翼生成 | 无 |
| `/phantomcontrol status` 或 `/phantomcontrol check` | 查看当前幻翼状态 | 无 |
| `/phantomcontrol gui` 或 `/phantomcontrol menu` | 打开图形化控制界面 | 无 |
| `/phantomcontrol help` | 查看帮助信息 | 无 |
### 管理员命令
| 命令 | 描述 | 权限 |
|------|------|------|
| `/phantomcontrol admin enable <玩家名>` | 为指定玩家启用幻翼 | phantomcontrol.admin |
| `/phantomcontrol admin disable <玩家名>` | 为指定玩家禁用幻翼 | phantomcontrol.admin |
| `/phantomcontrol admin status <玩家名>` | 查看指定玩家的幻翼状态 | phantomcontrol.admin |
| `/phantomreload` 或 `/phantomcontrolreload` | 重载插件配置 | phantomcontrol.reload |
| `/phantomcontrol admin batch enable <玩家1> <玩家2> ...` | 批量为多个玩家启用幻翼 | phantomcontrol.admin |
| `/phantomcontrol admin batch disable <玩家1> <玩家2> ...` | 批量为多个玩家禁用幻翼 | phantomcontrol.admin |
| `/phantomcontrol admin server` | 查看服务器幻翼设置统计信息 | phantomcontrol.admin |
## 权限说明
| 权限 | 描述 | 默认 |
|------|------|------|
| `phantomcontrol.use` | 允许使用基本的幻翼控制命令 | 所有玩家 |
| `phantomcontrol.admin` | 允许使用管理员命令管理其他玩家 | OP |
| `phantomcontrol.reload` | 允许重载插件配置 | OP |
## 插件优势
PhantomControl插件具有以下显著优势:
- **模块化架构**:采用清晰的Manager类划分,代码结构清晰,易于维护和扩展
- **完全Folia兼容**:自动检测Folia环境并优化调度,确保在Folia服务器上高效运行
- **性能优化**:使用ConcurrentHashMap缓存玩家数据,优化Folia检查逻辑,提高插件运行效率
- **灵活的数据库支持**:同时支持FlatFile和MySQL两种数据库存储方式,满足不同服务器需求
- **精细的权限控制**:提供完整的权限系统,支持管理员精细管理
- **世界级别的控制**:支持世界白名单/黑名单,可配置指定世界是否启用幻翼控制
- **自动保存机制**:定期自动保存玩家数据,确保数据安全
- **动态配置重载**:支持动态重载配置,无需重启服务器
## PlaceholderAPI支持
PhantomControl插件支持PlaceholderAPI,温馨提示:PlaceholderAPI的2.11.7版本开始支持folia
### 可用占位符
| 占位符 | 描述 | 示例输出 |
|--------|------|----------|
| `%phantomcontrol_enabled%` | 返回玩家幻翼是否启用的布尔值 | `true` 或 `false` |
| `%phantomcontrol_status%` | 返回玩家幻翼状态的中文文本 | `已启用` 或 `已禁用` |
## 常见问题
### Q: 插件支持哪些服务器版本?
A: 插件支持Minecraft 1.19+版本,包括Spigot、Paper和Folia服务器。
### Q: 为什么玩家禁用幻翼后仍然有幻翼生成?
A: 请检查:
1. 玩家所在世界是否在白名单/黑名单中
2. 插件是否有足够的权限
3. 服务器是否有其他插件影响幻翼生成
### Q: 如何查看玩家的TIME_SINCE_REST统计值?
A: 在游戏中的ESC中,有统计信息,可以查看“上次入眠时间”
### Q: 插件支持哪些语言?
A: 插件支持中文和英文,可自动根据玩家客户端语言调整,也可在配置文件中强制使用特定语言。
### Q: 如何控制bStats统计功能?
A: 可以在配置文件中的 `settings.bstats.enabled` 选项中控制开启或关闭bStats统计功能。
## 开发者信息
### 作者
- 作者:CHL_chun
- QQ:2919089965
### 贡献
欢迎提交Issue和Pull Request,帮助改进插件!
### bStats统计页面

*统计数据每30分钟更新一次,数据来源:[bStats.org](https://bstats.org/)*
## 联系方式
- 如有问题或建议,请在我发的平台评论中提出
- 或通过QQ联系:2919089965
---
感谢使用PhantomControl插件!如有任何问题,请随时联系我。
[/MD]