> For the complete documentation index, see [llms.txt](https://realisticnode.gitbook.io/rnsetups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://realisticnode.gitbook.io/rnsetups/es/rnpsmenu/reference/api.md).

# API para desarrolladores

Eventos y comandos para otros plugins.

## PsMenuActionEvent

`com.realisticnode.rnpsmenu.api.PsMenuActionEvent` se lanza justo antes de que rnPsMenu cambie una región para un jugador, después de que todas las comprobaciones hayan pasado. Cancélalo para detener el cambio.

```java
@EventHandler
public void onAction(PsMenuActionEvent e) {
    if (e.getAction().equals("unclaim") && isInWar(e.getPlayer())) {
        e.setCancelled(true);
    }
}
```

* `getPlayer()`, `getRegion()` (un `PSRegion` de ProtectionStones), `getAction()`, `getDetail()`.
* Acciones: `rename`, `sethome`, `priority`, `add-member`, `add-owner`, `remove-member`, `remove-owner`, `demote`, `leave`, `ban`, `unban`, `expel`, `flag`, `preset`, `copy-flags`, `hide`, `unhide`, `unclaim`, `sell`, `buy`, `lease`, `stop-lease`, `rent`, `stop-renting`, `tax-pay`, `merge`.

## Abrir menús

Desde la consola o desde otro plugin: `/psmenu open <menu> <player> [region]`.
