Skip to content

Compatibility

okereke-dev edited this page Jul 17, 2026 · 6 revisions

Compatibility

RPGLoot is designed to layer cleanly on top of vanilla mechanics and other plugins. This page documents optional integrations with established plugins.


PlaceholderAPI

If PlaceholderAPI is installed, RPGLoot automatically registers a %rpgloot_*% expansion — no configuration needed. Check the console on startup for:

[RPGLoot] PlaceholderAPI found — registered %rpgloot_*% placeholders

Available placeholders

Placeholder Output Example
%rpgloot_active_set% The player's currently active set name, or None Shadowveil
%rpgloot_active_set_pieces% Equipped pieces out of 5 for the active set 3/5
%rpgloot_active_set_bonus% Formatted current bonus value from the active set +6.1% Dodge Chance
%rpgloot_stat_legendaries_found% Total Legendary items this player has found (see Leaderboard) 7
%rpgloot_stat_sets_completed% Total times this player has completed a full 5-piece set 3

If the player has no active set, active_set returns None, active_set_pieces returns 0/5, and active_set_bonus returns None.

Use cases: scoreboards, tab list, holographic displays, or any GUI plugin that reads PlaceholderAPI placeholders.


mcMMO

Gathering skills — fixed compatibility (v0.4.2+)

Prior to v0.4.2, RPGLoot's Fortune Boost and Auto-Smelt Chance tool stats cancelled the vanilla block-drop event and spawned their own items manually. This silently suppressed mcMMO's Mining (Double Drops, Mother Lode), Woodcutting (Harvest Lumber, Clean Cuts), and Herbalism (Double Drops, Verdant Bounty) bonus drops for every block broken with an RPGLoot tool that rolled either stat — mcMMO's own gathering bonuses route through BlockDropItemEvent, which never fired.

As of v0.4.2, RPGLoot no longer cancels the drop event. Fortune Boost and Auto-Smelt now modify the drop entities directly inside BlockDropItemEvent, at a priority that runs after mcMMO's own handler — so mcMMO's bonus drops are computed first, and RPGLoot's bonuses apply on top of (not instead of) them. This also restores compatibility with any other "Telekinesis-style" enchant plugin that expects BlockDropItemEvent to fire normally.

Combat skills — independent, overlapping mechanics

These are separate RNG systems with no code-level conflict, but can compound in feel:

RPGLoot stat Overlapping mcMMO ability Note
Bleeding (Sword/Axe) Swords "Rupture" mcMMO's Rupture is much weaker per-tick (max 0.3 HP/tick at max rank) than RPGLoot's Bleeding — stacking is rarely a real balance issue, but two independent DoT sources can look chaotic in combat logs
Crit Chance (Axe) Axes "Critical Strikes" Independent RNG, additive power creep in PvP
Dodge Chance + Shadowveil set Acrobatics "Dodge" Both reduce/cancel incoming damage independently — very evasive players are possible if both are maxed

Every bonus-stat range is configurable in config.yml under bonus-stat-ranges (see Configuration). If your server leans heavily into these mcMMO combat skills, consider lowering the corresponding RPGLoot ranges.

Smelting skill — design note, not a bug

RPGLoot's Auto-Smelt converts ore directly to ingots on block break, bypassing the furnace entirely. This means a player using an Auto-Smelt tool never generates a FurnaceSmeltEvent for that ore, so they never train or benefit from mcMMO's furnace-based Smelting skill (Second Smelt, Fuel Efficiency) for that material. Not a conflict — just worth knowing if your server's progression leans on Smelting.

What we chose not to do

We deliberately do not read mcMMO's skill levels or power level to scale RPGLoot's own bonuses — that would couple two independently-versioned plugins' internal balance in a fragile way. mcMMO already exposes its own PlaceholderAPI placeholders (%mcmmo_power_level%, %mcmmo_party_name%, etc.), so admins can combine both plugins' placeholders in the same scoreboard/GUI without RPGLoot needing to depend on mcMMO's API at all.


WorldGuard

If WorldGuard is installed, RPGLoot automatically registers a custom region flag: rpgloot-drops (defaults to ALLOW). Check the console on startup for:

[RPGLoot] WorldGuard found — registered 'rpgloot-drops' region flag

When this flag is set to DENY in a region, RPGLoot skips:

  • Mob drops (regular and boss) inside that region
  • Structure-loot conversion (chests, vaults/trial rewards, archaeology) inside that region

Example — disable RPGLoot drops in your spawn region:

/rg flag spawn rpgloot-drops deny

Everything else about the region (PvP, mob spawning, building, etc.) is untouched — this flag only controls whether RPGLoot adds its own loot on top of what would otherwise happen there. If WorldGuard isn't installed, drops behave exactly as if the flag were always ALLOW.


RPGMood

If RPGMood is installed, its mob-scaling difficulty system can optionally feed into RPGLoot's rarity roll — no dependency between the two plugins at the code level either way.

Opt-in as of v0.15.1

rpgmood-integration.enabled now defaults to false. Earlier versions shipped this integration on by default with a pre-populated level-thresholds block (Uncommon at L10, Rare at L20, Hero at L30, Legendary at L40), so every mob's rarity floor quietly scaled with RPGMood's difficulty level. That coupling is now opt-in — out of the box, every mob level rolls from the same rarity-weights pool, RPGMood installed or not.

How it works when enabled

RPGMood tags every mob it scales with its computed difficulty level via a PersistentDataContainer entry (rpgmood:level). RPGLoot reads that same tag directly — a plain cross-plugin PDC key, not RPGMood's Java API — so there's no load-order requirement and zero effect if RPGMood isn't installed (the tag simply doesn't exist).

To turn it back on, set enabled: true and add your own level-thresholds (the shipped config.yml no longer ships one by default):

rpgmood-integration:
  enabled: true
  level-thresholds:
    UNCOMMON: 10
    RARE: 20
    HERO: 30
    LEGENDARY: 40

When a tagged mob is killed and the integration is enabled, RPGLoot raises the minimum rarity floor for that drop based on the mob's level, instead of rolling from the full rarity-weights pool. Each entry means "at this RPGMood level or higher, the drop's minimum rarity becomes this tier" — the highest threshold the mob's level meets wins, and the roll still uses rarity-weights normally above that floor (so a level 45 mob can't drop Common or Uncommon, but Rare vs. Hero vs. Legendary is still weighted as configured).

With the integration enabled, the deeper you explore in RPGMood's difficulty curve — distance from spawn, dangerous biomes, structure proximity — the better your RPGLoot drops get, without either plugin needing to know the other's internals.


Other plugins

RPGLoot uses Bukkit's native AttributeModifier system (not custom NBT) for all stat bonuses, with namespaced UUID keys (rpgloot_damage, rpgloot_speed, rpgloot_armor, rpgloot_health, etc.) — this minimizes collision risk with other stat/attribute plugins. If you notice a conflict with a specific combat or attribute plugin, please open an issue.

Clone this wiki locally