# AmazingJoin

First, we are going to explore **what** is AmazingJoin:&#x20;

AmazingJoin is a plugin that allows executing predefined actions when a user joins the server using [***formats***](/amazingjoin/general/formats.md); these formats define which actions will be executed when a user joins or leaves.&#x20;

There can be an infinite number of formats, but among so many formats, how does the plugin know which one should be executed for each player? That's where permissions come in; each format has an established permission, and if a user has that permission, then that format will be executed for them. But we enter another question: what happens if the user has permissions for 2 formats? The result is simple; the plugin will choose the ***priority format*** (that is, the format that is established first in descending order in the configuration).

***

### Some other details

* Plugin is available for Paper 1.21+ 📃
* Is compatible with PlaceholderAPI
* Can be hooked to nLogin and Authme&#x20;
* Currently, the plugin has 15 possible actions (More will be added in future updates)
* MiniMessage is used to format all type of messages and actions, **LEGACY IS NOT SUPPORTED**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cubicdev.gitbook.io/amazingjoin/amazingjoin.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
