## 关于
聊天功能很棒,玩家可以互相交流。但是,有没有办法让它更具互动性呢?
有了这个插件,你就能向你的朋友展示你手中的物品、物品栏内容和末影箱内容了!甚至可以在你的全球联机聊天中与朋友互动!
这个插件还允许你为你的玩家创建自定义的互动关键词,他们在聊天中使用!
**InteractiveChat 的设计是建立在你现有的聊天格式化插件之上,而不是替代它!**
***
###  使用 [DiscordSRV](https://modrinth.com/plugin/discordsrv/)?
查看 [**这个增值插件**](https://modrinth.com/plugin/interactivechat-discordsrv-addon/),它允许你在 Discord 上显示占位符和来自 InteractiveChat 的物品栏!
你还可以将从 Discord 发送的图像预览在地图上显示,并将附件美化为游戏中可点击和悬停的文本!
***
## 功能
由 [Server.pro](https://www.youtube.com/channel/UCeQW27n9FmeYcMJrUjusnHg) 制作的视频,展示了 **InteractiveChat 的旧版本 (v2)**
### 1. 物品显示功能
- 在聊天中输入 **[item]** 来展示你手中的物品!
- 输入 **[inv]** 来展示你的物品栏
- 输入 **[ender]**,你猜对了!来展示你的末影箱!
*(这些功能都可以通过在配置文件中进行切换,并更改他们的关键词)*



*^ 你可以选择的两种物品栏显示布局类型 (布局 0 & 1)*
### 2. 自定义互动聊天关键词
- 你可以创建任何你想要的占位符,并在聊天中替换关键词
- 或者,你也可以简单地为关键词添加悬停消息和点击操作
- 或者两者都做!
- 支持多行悬停文本*v [pos] 是一个默认示例自定义互动关键词*

*v 默认配置中包含的默认自定义占位符,可以删除或更改 (1 - 3 是物品显示占位符)*

### 3. 互动玩家名称
- 将聊天中出现的全部玩家名称替换为互动内容,例如悬停消息和点击操作!
*(支持 [URL='https://www.spigotmc.org/resources/essentialsx.9089/']Essentials [/URL] 的昵称! 你可以通过 API 创建插件来支持你自己的昵称插件。)*

### 4. 玩家提及
- 如果其他玩家提及了某个玩家的名称,他们将会收到声音和消息的通知!
- 使用标题/副标题/动作栏/BossBar/Toast 通知该玩家,如果 Minecraft 版本支持(每个都可以通过配置文件禁用)
*(在配置文件中可以进行切换!)*

### 5. 联机和 Velocity 支持! 所有功能均可在你的网络上工作!
如果你使用支持联机的聊天管理插件,你可以通过在 Spigot 和联机/Velocity 上安装插件,并在所有 Spigot 服务器的配置文件中启用联机模式来启用联机模式!
启用联机模式后,所有占位符,包括 [item]、[inv] 等自定义占位符都将在服务器之间工作。提及和其他所有功能也在服务器之间工作!
### 6. 易于使用的 RGB 和 字体*[1.16 或更高版本]*
你可以在支持颜色的配置文件的任何部分中使用 RGB 代码! 你甚至可以在 _聊天_ 中使用它们!
```
&x&f&f&f&f&f&f
```
或者
```
[color=#123456]
```
或者
```
fe34d5
```
如果你有一个自定义资源包,其中包含不同的字体,你甚至可以使用它们就像颜色代码一样! _适用于聊天中的任何消息,包括其他插件的聊天消息。_
```
[font=uniform]
```
### 7. 多语言支持!
当然! 你可以修改发送给玩家的所有消息以适应你的服务器!
物品材质名称将自动翻译成每个用户的客户端语言!
**该插件在包级别更改消息,因此它应该能够在其他聊天插件之上工作** *(除非它们也这样做)*。
## 依赖项 *(这些依赖项在代理服务器上不是必需的)*
- [ProtocolLib](https://www.spigotmc.org/resources/protocollib.1997/) *(请安装与你的服务器版本兼容的最新版本)*
- [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/)
- [Vault](https://www.spigotmc.org/resources/vault.34315/)
## 安装
1. 将 InteractiveChat.jar 放入插件文件夹,以及所需的依赖项
(如果你计划在联机或 velocity 上使用该插件,请在联机/velocity 上安装该插件,并在所有 spigot 服务器的 InteractiveChat 配置文件中启用联机选项! 在联机上不需要依赖项,是的,只需使用同一 jar 文件)
2. 启动服务器
3. *编辑配置文件(如果需要)*
4. *更改配置文件后重启服务器 (第 3 步)*
## 开发版本

**[Jenkins](https://ci.loohpjames.com/job/InteractiveChat/)**
## 演示服务器
想试用这个插件吗?
```
IP: mc.loohpjames.com
```

## 命令
### Minecraft 服务器 (Spigot、Paper 等) 命令:
/interactivechat reload - 重新加载插件 (或 /ic reload)
/interactivechat update - 检查更新 (或 /ic update)
/interactivechat chat - 使用占位符和玩家名称自动完成发送聊天消息 (或 /ic chat)
/interactivechat list - 列出你可以使用的所有占位符 (或 /ic list)
/interactivechat mentiontoggle - 切换你自己的提及 (或 /ic mentiontoggle)
/interactivechat setinvdisplaylayout - 设置你自己的首选物品栏显示布局 (或 /ic setinvdisplaylayout)
### 代理服务器 (Bungeecord / Velocity) 命令:
/interactivechatproxy backendinfo - 列出你代理服务器上的 InteractiveChat 信息 (或 /icp backendinfo)
## 问答
### 我的占位符不起作用!它们显示为类似 %player_name% 的东西!我该怎么办?
[PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) 需要你下载扩展才能正常工作,你可以查看不同的扩展和它们的占位符 [在此处 (点击我)](https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders)。
例如,如果你想让 **%player_name%**起作用:
1. 运行 /papi ecloud download player
2. 运行 /papi reload
### 我的玩家收到 "You are sending too many packets!" 的踢出消息,我该怎么办?
踢出消息:“You are sending too many packets!” 可能来自 ViaVersion。
尝试在 ViaVersion 配置文件中增加或 _将 GLOBAL PACKET LIMITER 设置为 -1_ [在 bungeecord/velocity (如果你已经安装了它) 和后端服务器(例如 spigot)中]
## 权限
```yaml
interactivechat.reload:
description: 允许你重新加载插件
default: op
interactivechat.backendinfo:
description: 允许你检查联机服务器的状态
default: op
interactivechat.cooldown.bypass:
description: 允许你绕过冷却
default: op
interactivechat.module.item:
description: 允许你使用物品占位符
default: true
interactivechat.module.inventory:
description: 允许你使用物品栏占位符
default: true
interactivechat.module.inventory.setlayout:
description: 允许你设置你偏好的物品栏显示布局
default: true
interactivechat.module.inventory.setlayout.others:
description: 允许你设置其他玩家的首选物品栏显示布局
default: op
interactivechat.module.enderchest:
description: 允许你使用末影箱占位符
default: true
interactivechat.module.custom:
description: 允许你使用聊天中的自定义占位符
default: true
interactivechat.mention.player:
description: 允许你提及其他人
default: true
interactivechat.mention.here:
description: 允许你提及你服务器上的所有玩家
default: op
interactivechat.mention.everyone:
description: 允许你提及所有人
default: op
interactivechat.mention.toggle:
description: 允许你切换你自己的提及
default: true
interactivechat.mention.toggle.others:
description: 允许你切换其他玩家的提及
default: op
interactivechat.list:
description: 列出你可以使用的所有占位符
default: true
interactivechat.list.all:
description: 列出所有占位符
default: op
interactivechat.parse:
description: 让你尝试你拥有权限的所有占位符
default: true
interactivechat.chat:
description: 让你使用 interactivechat 聊天命令
default: true
interactivechat.chatcolor.translate:
description: 允许你使用不同的颜色代码
default: true
interactivechat.customfont.translate:
description: 允许你使用字体格式化代码
default: true
interactivechat.update:
description: 允许你收到更新通知
default: op
interactivechat.bedrock.events:
description: 允许 floodgate geyser bedrock 玩家访问聊天事件菜单
default: true
```
## API
**InteractiveChat 提供 API,允许开发者自定义或使用其功能**
**https://github.com/LOOHP/InteractiveChat/tree/master/common/src/main/java/com/loohp/interactivechat/api**
更多描述在此链接中提供
**使用 InteractiveChat 注册你自己的昵称**
请查看此页面:https://github.com/LOOHP/InteractiveChat/wiki/Registering-your-own-nickname-provider
## 默认配置
**[最新版本的带描述的配置](https://github.com/LOOHP/InteractiveChat/blob/master/common/src/main/resources/config.yml)**
## 数据使用
使用统计信息位于 https://bstats.org/plugin/bukkit/InteractiveChat,其中包含你服务器的公共可见的统计信息。不会发送你服务器的任何私人信息。
更新检查也通过 https://api.loohpjames.com 进行,以便在发布新版本时通知你。不会发送你服务器的任何私人信息。


