promotional bannermobile promotional banner
premium banner
A lightweight event-driven API for mod developers to hook into RPGMobs — listen to events, query mob state, and customize behaviour at runtime.

Description

RPGMobs API

A lightweight event-driven API for mod developers who want to hook into RPGMobs - listen to events, query elite mob state, spawn elites programmatically, and customize behaviour at runtime.

Docs GitHub Discord


Who Needs This?

Mod developers only. This jar is a compile-time dependency for building mods that integrate with RPGMobs. It does not go in the /mods folder and should not be listed as a required CurseForge dependency for your mod.

  • Server owners: You only need the RPGMobs server plugin. Do not download this API jar.
  • Mod developers: Download this jar, place it in your libs/ folder, and add it as a compileOnly dependency in your build.gradle.

If your mod fully integrates with RPGMobs, mark the server plugin (not this API) as a required dependency in your CurseForge Project Settings.


Setup

build.gradle:

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

manifest.json:

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

What's In the API?

Class / Interface Purpose
RPGMobsAPI Main entry point - register listeners, query state, spawn elites
IRPGMobsEventListener Listener interface with default no-op handlers for all 12 event types
IRPGMobsQueryAPI Read-only inspection of elite tier, scaling, combat state, abilities
IRPGMobsSpawnAPI Programmatically spawn elites and promote existing NPCs
ICancellable Interface for events that support cancellation

Events (12 total)

Event What it fires on
RPGMobsSpawnedEvent Elite spawns (cancellable)
RPGMobsDeathEvent Elite dies, with killer ref and position
RPGMobsDropsEvent Loot drops (cancellable, mutable drop list)
RPGMobsDamageDealtEvent Elite deals damage (adjustable multiplier)
RPGMobsDamageReceivedEvent Elite receives damage
RPGMobsAbilityStartedEvent Ability activates (cancellable)
RPGMobsAbilityCompletedEvent Ability finishes
RPGMobsAbilityInterruptedEvent Ability interrupted
RPGMobsAggroEvent Elite enters combat
RPGMobsDeaggroEvent Elite leaves combat
RPGMobsScalingAppliedEvent Tier scaling applied (health, damage, model)
RPGMobsReconcileEvent Config reload syncs existing elites

Quick Example

public final class MyModPlugin extends JavaPlugin {

    @Override
    protected void setup() {
        RPGMobsAPI.registerListener(this, new IRPGMobsEventListener() {
            @Override
            public void onDrops(RPGMobsDropsEvent event) {
                // Add a bonus drop for T5 elites
                if (event.getTierIndex() >= 4) {
                    event.getDrops().add(myBonusItem);
                }
            }

            @Override
            public void onDeath(RPGMobsDeathEvent event) {
                // Track elite kills
                myStats.recordKill(event.getEntityUuid(), event.getTierIndex());
            }
        });
    }
}

See the documentation for the full API reference.


Additional Files

The download includes the -javadoc.jar and -sources.jar alongside the main API jar. Place all three in your libs/ folder for full IDE support (autocomplete, inline docs, click-to-source).