# Takion
Takion 是一个全面的 Spigot 库,旨在简化 Minecraft 服务器上与文本和聊天相关的插件的开发。它提供了一组强大的工具和实用程序,用于管理消息、日志记录、占位符替换等,使其成为增强 Minecraft 中聊天交互的重要核心。
## 目的
Takion 旨在简化 Minecraft 插件中基于聊天的功能创建和管理。它作为一个基础库,开发者可以利用它来高效地实施高级文本和聊天功能。
## 特性
### 日志记录
- **TakionLogger**: 提供了高级日志记录功能,具有动态消息格式化、着色以及与外部 API(例如 Paper 和 Prismatic)的集成。
- 支持服务器级别和插件特定的日志。
### 频道管理
- **ChannelManager**: 管理通信频道,定义和识别玩家交互的不同频道。
### 标题管理
- **TitleManager**: 配置并向玩家显示标题,具有可自定义的淡入、停留和淡出持续时间。
### 占位符管理
- **PlaceholderManager**: 在消息中动态替换令牌为实际值,从而实现个性化和上下文感知的消息传递。
### 字符管理
- **CharacterManager**: 处理文本对齐和格式化,包括支持小写转换和自定义字符长度。
### 消息传递
- **MessageSender**: 向玩家发送格式化的消息,支持占位符和高级文本处理。
### 文本处理
- 使用 **PrismaticAPI**、**StringApplier** 和相关实用程序进行着色和字符串修改,实现丰富的文本格式化。
## 安装
### Maven
要将 Takion 包含在您的项目中,请将以下存储库和依赖项添加到您的 `pom.xml` 文件中:
```xml
croabeast-repo
https://croabeast.github.io/repo/
me.croabeast
Takion
1.2
me.croabeast
Takion-shaded
1.2
*
*
```
### Gradle
要将 Takion 包含在您的项目中,请将以下内容添加到您的 `build.gradle` 文件中:
```groovy
repositories {
maven {
url 'https://croabeast.github.io/repo/'
}
}
dependencies {
implementation 'me.croabeast:Takion:1.2'
// 如果您想要一个阴影版本,其中包含所有依赖项的编译,请选择此版本
implementation 'me.croabeast:Takion-shaded:1.2'
}
```
## 用法
### 初始化
在您的插件的 `onEnable` 方法中初始化 TakionLib:
```java
@Override
public void onEnable() {
TakionLib lib = new TakionLib(this);
// 其他初始化代码...
}
```
### 发送消息
向玩家发送消息:
```java
lib.getLoadedSender().addPlaceholder("{player}", player.getName())
.send("Hello, {player}! Welcome to our server.");
```
### 显示标题
格式化标题并将其发送给玩家:
```java
lib.getTitleManager().builder("Welcome", "Enjoy your stay!").send(player);
```
### 字符管理
使用 `CharacterManager` 来管理文本对齐和格式化:
```java
String alignedText = lib.getCharacterManager().align("Centered Text");
player.sendMessage(alignedText);
```
### CollectionBuilder
`CollectionBuilder` 的示例:
```java
List list = CollectionBuilder.of("Item1", "Item2", "Item3").toList();
player.sendMessage(String.join(", ", list));
```
## 依赖
Takion 包含几个依赖项,这些依赖项包含在库中(在阴影版本中编译),因此您无需单独添加它们。主要依赖项是:
- [**PrismaticAPI**](https://github.com/CroaBeast/PrismaticAPI): 用于着色和文本修改。
- [**CommandFramework**](https://github.com/CroaBeast/CommandFramework): 用于处理命令。
- [**AdvancementInfo**](https://github.com/CroaBeast/AdvancementInfo): 用于处理进阶信息。
- [**YAML-API**](https://github.com/CroaBeast/YAML-API): 用于 YAML 配置支持。
- [**InventoryFramework**](https://github.com/stefvanschie/IF): 用于管理和与 Minecraft 物品栏进行交互。
> 注意:UpdateChecker 最初由 Choco 创建。更多信息,请参见 [此帖](https://www.spigotmc.org/threads/an-actually-decent-plugin-update-checker.344327/)。
## 可选依赖
虽然以下依赖项是可选的并提供,但它们不是 Takion 核心功能所必需的:
- **VaultAPI**: 用于与外部权限和聊天 API 集成。
- **InteractiveChat**: 用于增强聊天交互。
## 贡献
欢迎贡献!请分叉该存储库并通过提交带有您更改的拉取请求来贡献。对于主要更改,请先打开一个问题以讨论您想要进行的更改。
## 许可证
此项目采用 GNU 通用公共许可证 v3.0 许可。有关详细信息,请参阅 [LICENSE](https://www.gnu.org/licenses/gpl-3.0.html) 文件。