RPGMobs - API

RPGMobs - API

一个轻量级的事件驱动API,供模组开发者挂钩RPGMobs——监听事件、查询怪物状态,并在运行时自定义行为。

实用

RPGMobs API

一个轻量级的事件驱动API,专为模组开发者设计,用于接入 RPGMobs - 监听事件、查询精英怪状态、程序化生成精英怪,并在运行时自定义行为。

文档 GitHub Discord


谁需要这个?

仅限模组开发者使用。 此 jar 是构建与 RPGMobs 集成的模组时的编译时依赖项。它不应该放在 /mods 文件夹中,也不应被列为你的模组在 CurseForge 上的必需依赖项。

  • 服务器管理员: 你只需要 RPGMobs 服务器插件。不要下载此 API jar。
  • 模组开发者: 下载此 jar,将其放入你的 libs/ 文件夹,并在 build.gradle 中将其添加为 compileOnly 依赖项。

如果你的模组完全集成了 RPGMobs,请在 CurseForge 项目设置中将服务器插件(而非此 API)标记为必需依赖项。


设置

build.gradle

dependencies {
    compileOnly files('libs/RPGMobs-API-1.3.0.jar')
}

manifest.json

{
  "Dependencies": {
    "Frotty27:RPG Mobs": ">=4.260326.7"
  }
}

API 包含什么?

类 / 接口 用途
RPGMobsAPI 主入口点 - 注册监听器、查询状态、生成精英怪
IRPGMobsEventListener 监听器接口,包含所有 12 种事件类型的默认无操作处理程序
IRPGMobsQueryAPI 只读检查精英层级、缩放、战斗状态、技能
IRPGMobsSpawnAPI 程序化生成精英怪,并将现有 NPC 提升为精英怪
ICancellable 支持取消的事件接口

事件(共 12 个)

事件 触发时机
RPGMobsSpawnedEvent 精英怪生成时(可取消)
RPGMobsDeathEvent 精英怪死亡时,包含击杀者引用和位置
RPGMobsDropsEvent 战利品掉落时(可取消,掉落列表可修改)
RPGMobsDamageDealtEvent 精英怪造成伤害时(倍数可调整)
RPGMobsDamageReceivedEvent 精英怪受到伤害时
RPGMobsAbilityStartedEvent 技能激活时(可取消)
RPGMobsAbilityCompletedEvent 技能完成时
RPGMobsAbilityInterruptedEvent 技能中断时
RPGMobsAggroEvent 精英怪进入战斗时
RPGMobsDeaggroEvent 精英怪离开战斗时
RPGMobsScalingAppliedEvent 层级缩放应用于(生命值、伤害、模型)时
RPGMobsReconcileEvent 配置重载时同步现有精英怪

快速示例

public final class MyModPlugin extends JavaPlugin {

    @Override
    protected void setup() {
        RPGMobsAPI.registerListener(this, new IRPGMobsEventListener() {
            @Override
            public void onDrops(RPGMobsDropsEvent event) {
                // 为 T5 精英怪添加额外掉落物
                if (event.getTierIndex() >= 4) {
                    event.getDrops().add(myBonusItem);
                }
            }

            @Override
            public void onDeath(RPGMobsDeathEvent event) {
                // 追踪精英怪击杀
                myStats.recordKill(event.getEntityUuid(), event.getTierIndex());
            }
        });
    }
}

有关完整的 API 参考,请参阅 文档


附加文件

下载内容包括主 API jar 以及 -javadoc.jar-sources.jar 文件。将这三个文件都放入你的 libs/ 文件夹,以获得完整的 IDE 支持(自动补全、内联文档、点击跳转源码)。