Skip to content

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
Maven3.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 模块)。

部署到服务器

  1. 将生成的 JAR 文件放入你的 Minecraft 服务器的 plugins/ 文件夹中
  2. 启动或重启服务器
  3. 检查控制台是否有错误信息

开源地址

源码仓库

本项目基于 Spigot Java License 开源,欢迎访问仓库获取完整源码和最新更新。

本站服务于: LG系列插件用户