> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/edcompanions/features/integrations.md).

# Plugin Integrations

Every integration is a soft depend — EdCompanions runs with any combination (or none, using its internal currencies). Buff amounts are **multiplier bonuses**: `+0.05` = +5% income on that currency.

## PinnaPrison

* **Buffs** — registered as a live *boost provider*, so the bonus shows inside PinnaPrison's boosters GUI (named via `buffs.booster-display-name`) and stacks with regular boosters. Old PinnaPrison builds without that API automatically fall back to rewriting the currency-change event.
* **Payments** — any PinnaPrison currency (`beacons`, `tokens`, `gems`, ...), async and thread-safe.
* **Placeables** — the `companion-egg` mine placeable type ([Eggs](/p/edcompanions/features/eggs.md)).

## EdTools

* **Buffs** — `EdToolsCurrencyAddEvent.addMultiplier(...)` on every currency gain (`money`, `mine-coins`, `farm-coins`, ...).
* **Payments** — the EdTools currency API (refunds skip boosters).

## EdDungeons

* **Buffs** — `EdDungeonsCurrencyAddEvent.addMultiplier(...)` (`shards`, `essence`, `souls`, ...).
* **Payments** — atomic `removeCurrencyIfEnough`.

## EdPrison 2.0

* **Buffs** — the `EdPrisonAddMultiplierCurrency` event (the same hook EdPrison's own armor multipliers use) — `blocks`, `tokens`, `gems`, ...
* **Payments** — the EdPrison economy API (main-thread, as EdPrison expects).

## Standalone (`provider: edcompanions`)

Internal currencies defined in `config.yml`; balances live on the player data.

{% hint style="info" %}
The buff cache is O(1) on the hot income paths — it rebuilds only on equip changes, login and reload. `%edcompanions_boost_<provider>_<currency>%` exposes the summed bonus.
{% endhint %}
