LGLibrary
Minecraft 插件基础库
信息
- 性质: 免费
- 支持核心: Bukkit/Spigot/Paper/Folia
- 插件前置: 无
- 游戏版本: 1.13.2+
- 下载方式: 链接
温馨提示
- 本插件是一个基础库,为其他 LG 系列插件提供核心功能支持
- 支持传统的 Bukkit/Spigot 服务器和新兴的 Folia 服务器
- 提供完善的 API 接口,方便开发者进行插件开发
插件介绍
- LGLibrary 是一个现代化的 Minecraft 插件基础库,专为简化插件开发而设计。
- 提供全面的功能集,包括命令处理、配置管理、监听器、任务调度等核心功能。
- 同时支持传统的 Bukkit/Spigot 服务器和新兴的 Folia 服务器。
- 高性能、易用性、跨平台、模块化的架构设计,是现代 Minecraft 服务器插件开发的理想选择。
核心优势
- 高性能 - 优化的代码结构,确保服务器运行流畅
- 易用性 - 简洁的 API 设计,降低开发复杂度
- 跨平台 - 兼容多种 Minecraft 服务器平台
- 完善文档 - 详细的使用说明和示例代码
- 模块化 - 高度模块化的架构,便于扩展和维护
开发环境
| 项目 | 版本 |
|---|---|
| Java 版本 | 1.8 |
| Maven | 3.x |
| IDE 推荐 | IntelliJ IDEA / Eclipse |
| 构建工具 | Maven |
| 基础依赖 | Spigot API (1.13.2-R0.1-SNAPSHOT) |
项目结构
LGLibrary (多模块 Maven 项目)
├── API/ # 跨平台公共接口定义
│ └── src/main/java/lg/minecraft/plugin/library/task/
│ ├── LGRunnable.java # 可停止的可运行接口
│ └── LGTask.java # 可取消的任务接口
├── Bukkit/ # Bukkit/Spigot 平台实现
│ ├── src/main/java/lg/minecraft/plugin/library/
│ │ ├── LGLibrary.java # 主插件类
│ │ ├── LGPlugin.java # 插件基类
│ │ ├── command/ # 命令系统相关类
│ │ ├── config/ # 配置文件加载与管理
│ │ ├── input/ # 输入处理器
│ │ ├── inventory/ # 界面交互逻辑
│ │ ├── item/ # 物品构建器
│ │ ├── listener/ # 事件监听器
│ │ ├── security/ # 安全功能
│ │ ├── task/ # 任务实现
│ │ ├── thread/ # 线程管理
│ │ └── util/ # 工具类
│ └── src/main/resources/
│ └── plugin.yml
└── Folia/ # Folia 服务器支持
├── src/main/java/lg/minecraft/plugin/library/
│ ├── folia/ # Folia 服务端调度器
│ │ └── FoliaScheduler.java
│ └── task/
│ └── FoliaTask.java # Folia 任务适配器
└── pom.xml功能特性
跨平台支持
- Bukkit/Spigot/Paper: 传统服务器平台的完整支持
- Folia: 对新兴异步服务器架构的兼容性支持
- 版本兼容: 支持从 1.13.2 到最新版本的 Minecraft
命令系统
- 灵活的命令框架: 支持子命令、参数类型验证
- 上下文感知: 基于玩家权限和状态的智能命令执行
- 易于扩展: 简单的命令注册和管理机制
配置管理
- 自动创建: 自动创建和初始化配置文件
- 多格式支持: 支持多种配置格式(YAML 等)
- 实时重载: 支持配置文件的热重载
任务调度
- 统一接口: 为不同服务器平台提供一致的任务调度 API
- 异步支持: 完整的异步任务处理能力
- 生命周期管理: 任务的自动清理和资源释放
界面管理
- 库存界面: 简单易用的自定义界面创建
- 交互处理: 直观的点击事件处理机制
- 响应式设计: 动态界面内容更新
安全功能
- FakeOp 管理: 安全的权限管理机制
- 输入验证: 防止恶意输入和命令注入
- 访问控制: 精细的权限控制
添加依赖
Maven 集成
在你的项目的 pom.xml 文件中添加以下内容:
添加仓库
xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>添加依赖
xml
<dependency>
<groupId>com.gitee.langle123</groupId>
<artifactId>LGLibrary</artifactId>
<version>dev</version>
</dependency>使用示例
创建一个简单的命令
java
public class MyCommand extends LGCommand {
public MyCommand(LGPlugin plugin) {
super(plugin, "mycommand", "myplugin.command");
}
@Override
public boolean execute(CommandContext context) {
context.getPlayer().sendMessage("Hello from LGLibrary!");
return true;
}
}配置文件使用
java
@ConfigProperty(name = "config.yml")
public class MyConfig extends LGConfig {
@ConfigurationField(path = "database.host")
private String host = "localhost";
@ConfigurationField(path = "database.port")
private int port = 3306;
}快速开始
构建插件
在项目根目录下运行以下命令来构建项目:
bash
mvn clean package生成的 .jar 文件位于各模块的 target/ 目录中(Bukkit、Folia 模块)。
部署到服务器
- 将生成的 JAR 文件放入你的 Minecraft 服务器的
plugins/文件夹中 - 启动或重启服务器
- 检查控制台是否有错误信息
开源地址
源码仓库
本项目基于 Spigot Java License 开源,欢迎访问仓库获取完整源码和最新更新。
