FactionsBridge

FactionsBridge - 插件桥梁

连接插件与API之间的桥梁。
Bukkit / Spigot 作者 Callum 支持版本 1.7 - 1.21
服务器使用量
61
服务玩家数
296
下载量
5,439
插件详细介绍

FactionsBridge

FactionsBridge 是一个旨在弥合不同领地插件 API 之间差异的桥梁插件。由于各类领地插件实现方式各异,开发者若想在自己的项目中支持多种领地插件,往往需要编写大量适配代码或只能选择支持特定分支。本项目致力于解决这一问题,为开发者提供一个统一的接口,使其能够便捷地处理不同的领地 API,而无需关心底层实现细节。

支持的插件

截至 1.3.7 版本,FactionsBridge 支持多达 17 种不同的领地插件(包含 KingdomsX 的两个主要版本):

  • FactionsX
  • FactionsUUID
  • SavageFactions (已弃用)
  • SupremeFactions
  • KingdomsX
  • KingdomsX 1.14+
  • MassiveFactions
  • FactionsBlue
  • Atlas Factions
  • SaberFactions
  • MedievalFactions
  • LegacyFactions
  • UltimateFactions
  • Towny
  • KoreFactions/Golfing8‘s Factions
  • Improved Factions
  • VulcanFactions

请前往 GitHub 页面查看各插件的购买或文档链接。

资源链接

  • JavaDocs: <redacted>
  • GitHub 仓库: https://github.com/CallumJohnson/FactionsBridge
  • bStats 统计: https://bstats.org/plugin/bukkit/FactionsBridge/11893
  • Discord 社区: http://discord.customenchantsdevelopment.ovh

如何使用 API

配置插件依赖

首先,你需要从你的插件依赖中移除具体的领地插件,FactionsBridge 旨在完全替代它们。如果发现功能缺失,请提交 Issue 或联系开发者以添加所需功能。

在你的 plugin.yml 中添加 FactionsBridge 依赖,以确保正确挂钩:

name: YourProject
main: com.yourname.yourproject.YourProject
version: 1.0-Snapshot-of-the-century

# 如果你将 FactionsBridge 库打包(Shading)进自己的插件,请包含以下软依赖:
softdepend: [Factions, FactionsX, FactionsBlue, KingdomsX, Kingdoms, LegacyFactions, MedievalFactions, UltimateFactions, Towny, ImprovedFactions]

# 如果你依赖独立的 FactionsBridge 插件,请包含以下依赖(根据你的需求选择 softdepend 或 depend):
depend: [FactionsBridge] # 或使用 softdepend

连接与初始化

如果你将 FactionsBridge 库打包进自己的插件,请确保在代码中进行连接,并建议使用重定位(relocations)以避免冲突。

如何连接(Shading 方式)?

// 创建 FactionsBridge 实例
FactionsBridge bridge = new FactionsBridge();

// 连接到你的插件主类对象(适用于 1.0.0 及以上版本)
bridge.connect(yourPluginObject);

// 或者,使用带参数的连接方法(适用于 1.1.2 及以上版本)
// connect(plugin, consoleOutput, requiresFactions)
bridge.connect(yourPluginObject, true, false);

获取 API 实例

连接成功后,你可以通过以下方式获取统一的 API 接口:

// 获取 FactionsAPI 实例
FactionsAPI api = FactionsBridge.getFactionsAPI();

// 现在你可以使用 api 对象调用所有统一的方法

事件支持

FactionsBridge 还桥接了来自不同领地插件的事件,你可以在自己的插件中监听这些统一的事件:

FactionClaimEvent        # 当领地声称土地时 (1.2.0)
FactionUnclaimAllEvent   # 当领地放弃所有土地时 (1.2.0)
FactionUnclaimEvent      # 当领地放弃一块土地时 (1.2.0)
FactionCreateEvent       # 当领地创建时 (1.2.0)
FactionDisbandEvent      # 当领地解散时 (1.2.0)
FactionRenameEvent       # 当领地重命名时 (1.2.0)
FactionLeaveEvent        # 当玩家离开或被踢出领地时 (1.2.0)
FactionJoinEvent         # 当玩家加入领地时 (1.2.0)

注意事项

  • 此 API 目前仍处于不稳定阶段,是一个基础的概念实现。后续更新将着重提升稳定性和修复问题。
  • 独立的 FactionsBridge 插件使用 bStats 来统计使用情况。
  • 如果你在使用过程中遇到任何不支持的功能,请通过 GitHub 或 Discord 联系开发者。
测试支持版本
1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.20.6 1.21
版本分布
基本信息
插件名称 FactionsBridge
作者 Callum
平台 Bukkit / Spigot
支持版本 1.7 - 1.21
点赞数 6
最近版本
1.4.0 22
1.3.8 19
1.3.9 6
6.1.0 3
1.3.6 3
1.5.6 2
6.7.8 1
2.3.1 1
1.5.7 1
1.5.5 1
1.5.4 1
1.3.3 1