RedLib

RedLib - :简化Spigot插件开发的强大开源库

一个功能强大、文档完善且开源的库,旨在简化Spigot插件开发。
Bukkit / Spigot 作者 boxbeam 支持版本 1.8 - 1.19
服务器使用量
未统计
服务玩家数
未统计
下载量
11,743
插件详细介绍

RedLib 是一款免费开源的 Spigot 插件开发库,提供了丰富的工具集,旨在让开发者更轻松地构建功能强大的插件。它包含高级命令管理器、配置管理器、物品构建器、区域保护库、自定义附魔与方块库等众多模块,所有工具都设计得直观易用且功能强大。

核心特性

RedLib 专为开发者设计,默认情况下在游戏中没有任何交互功能。启用开发者模式后,它会提供一些游戏内工具来辅助开发。

主要工具模块

  • 命令管理器:通过注解和简洁的描述文件来定义命令,自动处理参数解析、类型转换、权限检查、发送者验证和标签补全。
  • 配置管理器:通过注解将配置文件的值直接加载到代码变量中,支持配置节点,简化配置的读取与保存。
  • 物品与 GUI:提供物品构建器和库存 GUI API,方便创建自定义物品和交互界面。
  • 结构与区域:包含多方块结构库和区域保护库,用于处理复杂结构和区域权限。
  • 数据与事件:提供 SQL 助手、可配置消息助手和内联事件监听器,简化数据操作和事件处理。
  • NMS 与扩展:包含 NMS 助手、自定义附魔和自定义方块库,方便进行底层操作和添加游戏内容。

使用入门

开发者资源

  • 支持 Discord:https://discord.gg/agu5xGy2YZ
  • 开发维基:https://github.com/Redempt/RedLib/wiki
  • Java 文档:https://redempt.dev/javadoc/com/github/Redempt/RedLib/index.html

联系作者

如果在使用中需要帮助,或有任何反馈与建议,欢迎联系:

  • Discord: Redempt#0001

注意事项

  • 该库仅面向插件开发者,不为玩家或管理员提供直接的游戏内功能。
  • 其设计目标是兼顾易用性与功能性,力求让开发过程更加顺畅。

RedLib 文档

RedLib 是一个为 Minecraft 插件开发者设计的强大工具库,旨在简化开发流程,提供一系列实用功能,如命令创建、配置管理、物品序列化、区域操作等,帮助开发者更高效地构建插件。

核心功能

RedLib 提供了多种工具来增强插件开发体验。

命令框架

  • 使用 CommandHook 注解轻松创建复杂的命令结构,支持子命令、标签补全和权限检查。
  • 自动生成命令帮助信息。

配置管理

  • 支持 YAML、JSON 和 TOML 格式的配置文件。
  • 提供 ConfigManager 类,支持自动保存、注释和内存中的配置修改。

物品序列化

  • 使用 ItemUtils 将 ItemStack 序列化为字符串或 Base64,便于存储和传输。
  • 支持从序列化字符串还原 ItemStack。

区域与位置工具

  • Region 类用于定义和检查世界内的立方体区域。
  • LocationUtils 提供位置计算、视线检测等实用方法。

其他工具

  • Pagination 用于在聊天中分页显示列表。
  • EntityHider 用于对特定玩家隐藏实体。
  • Task 类简化了异步和同步任务的调度。

命令创建

使用注解系统可以快速定义命令。

基本命令

在方法上使用 @CommandHook 注解来注册命令。方法参数可以接收 CommandSenderString[] 等类型。

@CommandHook("mycommand")
public void myCommand(CommandSender sender, String[] args) {
    sender.sendMessage("命令已执行!");
}

子命令与权限

通过注解参数定义子命令、权限和描述。

@CommandHook(value = "mycommand sub", permission = "myplugin.use", description = "这是一个子命令")
public void mySubCommand(Player player) {
    player.sendMessage("子命令已执行!");
}

配置管理

使用 ConfigManager 可以轻松处理配置文件。

初始化配置

ConfigManager manager = new ConfigManager(plugin, "config.yml");
manager.init();
  • 配置文件会自动创建并保存到插件的数据文件夹中。
  • 支持从 JAR 内复制默认配置。

访问与修改配置

// 获取值
String value = manager.getConfig().getString("path");
// 设置值(内存中)
manager.getConfig().set("path", "newValue");
// 保存到磁盘
manager.save();

物品序列化

使用 ItemUtils 处理物品的存储。

序列化为字符串

ItemStack item = new ItemStack(Material.DIAMOND_SWORD);
String serialized = ItemUtils.toBase64(item);
// 将 serialized 字符串保存到配置或数据库

从字符串还原

String savedString = ...; // 从配置或数据库读取
ItemStack restoredItem = ItemUtils.fromBase64(savedString);

常见问题

如何添加 RedLib 依赖?

  • Maven: 将 RedLib 仓库和依赖添加到 pom.xml
  • Gradle: 在 build.gradle 中添加仓库和依赖 implementation 'com.github.Redempt:RedLib:VERSION'
  • 也可以直接下载 JAR 文件并放入服务器的 plugins 文件夹。

RedLib 需要单独安装吗?

是的,RedLib 必须作为插件安装在服务器的 plugins 文件夹中,你的开发插件才能正常使用其功能。

支持哪些 Minecraft 版本?

RedLib 支持 Spigot 1.14+ 及更高版本。部分功能可能在不同版本间有差异,请查阅对应版本的文档。

如何获取更多帮助?

  • 查看 GitHub Wiki 获取完整文档。
  • 在 GitHub 仓库的 Issues 部分报告问题或寻求支持。
测试支持版本
1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19
版本分布
基本信息
插件名称 RedLib
作者 boxbeam
平台 Bukkit / Spigot
支持版本 1.8 - 1.19
点赞数 3
最近版本
暂无数据 -