# Alpine Core
一个用于开发 Minecraft 服务器插件的现代框架。
[](https://lib.alpn.cloud/javadoc/snapshots/co/crystaldev/alpinecore/latest)
## AlpineCore 是什么?
AlpineCore 受到 [MassiveCore](https://gitlab.massivecraft.team/massivecraft/MassiveCore) 的启发,拥有几个关键目标:
- 减少样板代码
- 集成现代技术
- [Adventure](https://github.com/KyoriPowered/adventure)
- [LiteCommands](https://github.com/Rollczi/LiteCommands)
- [ConfigLib](https://github.com/tomwmth/ConfigLib)
- 保持高兼容性
- Java 8 最低要求
- Minecraft 1.8.8 最低要求
- Spigot 最低要求
## 系统
AlpineCore 由以下核心系统组成:
- 引擎
- 继承自 `AlpineEngine`
- 一个自动注册的事件监听器
- 集成
- 继承自 `AlpineIntegration`
- 只有在可配置的条件下才激活的引擎,例如外部插件的存在
- 配置
- 继承自 `AlpineConfig`
- 一组自动注册和持久化的设置
- 使用 [Exlll's ConfigLib](https://github.com/Exlll/ConfigLib) 的一个分支,为开发者和管理员提供流畅的配置体验
- 与常见配置用例的预写集成,包括与 [Kyori's Adventure](https://github.com/KyoriPowered/adventure) 兼容的消息
- 存储
- 继承自 `AlpineStore`
- 处理由可配置的存储系统支持的持久化键 + 数据对
- 命令
- 继承自 `AlpineCommand`
- 一个自动注册的服务器命令
- 包含更方便的 API,用于注册完成和条件
- 使用 [LiteCommands](https://github.com/Rollczi/LiteCommands) 来实现高效创建复杂命令结构
- 用户界面
- 提供一个高级的库存 GUI 框架,专为简单易用而设计,采用类似食谱的槽位掩码配置,用于元素放置
- 允许高效创建插件中的交互式用户界面
- 使用 `UIHandler` 来初始化菜单以处理用户交互
- 传送
- 由 `TeleportManager` 管理
- 提供一个集中式的点对点传送系统
- 使用 `TeleportTask` 构建器来策划传送序列
- 处理传送请求的生命周期,从初始化到执行
- 添加倒计时、事件处理程序和取消策略
- 事件
- 继承自 `AlpineEvent`
- 一个通用的 Bukkit 事件,去除了样板代码
## 供开发者使用
要使用 AlpineCore,您必须将其作为依赖项添加到您的项目中: