# Welcome!

Embark on an unparalleled Minecraft journey with our suite of plugins, meticulously designed to enhance your server's gameplay experience.

### Get started

Navigate through our documentation for detailed guides on each plugin, ensuring a smooth setup and usage. If questions arise, our FAQ section is a handy resource, or you can reach out to us for more personalized support.

### Join Our Community

We are continually refining our plugins to bring you the best possible experience. To stay abreast of the latest developments and join the conversation, [step into our Discord community.](https://discord.com/invite/S8GjzxWjmP) It's the perfect place to receive updates, share your insights, and connect with fellow enthusiasts.

Your journey with AnotherLevel Plugins is just beginning, and we are excited to be a part of it. See how our plugins can redefine your Minecraft world, and let's build something extraordinary together!


# Outposts

Add avamposts in your server!

<figure><img src="https://3067097874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ9IRlbZGFV9BglNLT9MA%2Fuploads%2Fmbya1wsBxCUjmnKZ9Mso%2Favampost%201y.png?alt=media&amp;token=833c6599-5845-4e8e-9c86-d3a0fa8babc1" alt=""><figcaption><p>Avampost logo</p></figcaption></figure>

#### Description:

Avampost is an innovative Minecraft plugin designed for server admins, offering dynamic combat zones filled with unique monsters. It enhances server engagement with easy customization and robust features like intuitive ConfigGUI and outpost cooldowns, elevating your Minecraft experience to new levels.


# Versions

Choose between our Free and Premium versions based on your requirements.

### Free version

* **Avampost Limit**: Allows creation of one avampost.
* **Download Links**:
  * [SpigotMC](https://www.spigotmc.org/resources/avampost-free-version.109786/)
  * [Polymart](https://polymart.org/resource/avampost-free-version.4087)

### Premium Version

* **Avampost Limit**: Create unlimited avamposts.
* **Support**: Receive dedicated support for plugin configuration on Discord.
* **Early Access**: Obtain the 'Buyer' role for exclusive access to early plugin versions, letting you experience new features ahead of others.
* **Download Links**:
  * [SpigotMC](https://www.spigotmc.org/resources/avampost.110586/)
  * [BuiltByBit](https://builtbybit.com/resources/avampost.28468/)
  * [Polymart](https://polymart.org/resource/avampost.3677/)


# Dependencies

To properly set up and run Avampost, ensure you meet the following requirements:

### Compatibility:

* **Paper**: Recommended for best performance. [Download here](https://papermc.io/downloads/paper).
* **Spigot**:[ Download here](https://getbukkit.org/download/spigot).

### Required Plugins:

* **MythicMobs**: Essential for Avampost functionalities. [Download MythicMobs](https://mythiccraft.io/index.php?ewr-porta/).
* **WorldGuard**: Ensure territory boundaries. [Download WorldGuard](https://dev.bukkit.org/projects/worldguard).

### Soft dependencies:

* **KingdomsX**: Enables a specialized outpost for kingdom conquests. Ensure you have KingdomsX if you wish to utilize this feature. [Download KingdomsX](https://www.spigotmc.org/resources/kingdomsx.77670/).


# Commands

Here's a breakdown of commands for the Avampost plugin:

### Console commands:

* `/avampost reload`: Reload all plugin files.
* `/avampost help`: Display the list of available commands.

### Player commands:

* `/avampost help`: Display the list of available commands.
* `/avampost admin reload`: Reload all plugin files.
* `/avampost admin edit`: Open the GUI Editor for avamposts.
* `/avampost admin start [nameOfAvampost]`: Force-start a specific avampost.
* `/avampost admin cooldown [nameOfAvampost]`: Reset the cooldown for a specific avampost.

### Permissions:

* `avampost.admin`: Grants access to all admin commands.


# Requirements

Configuring custom permissions for Avampost interactions.

## Settings Avampost requirements

Within the Avampost configuration, you can specify custom permissions. These permissions dictate user actions such as entering, starting, or claiming rewards from the Avampost.

#### **How to Set Custom Permissions**:

1. Navigate to **ConfigGUI**.
2. Select the desired outpost.
3. Go to **Requirements**.
4. Choose the permission type you wish to set.

This configuration can be found within the `avamposts.yml` file:

```yaml
    requirements:
      requirements-to-join:
        enabled: false
        permission: 'avampost.test' #Permission to enter in the Avampost
      requirements-to-start:
        enabled: false
        permission: 'avampost.test' #Permission to start the Avampost
      requirements-to-get-rewards:
        enabled: false
        permission: 'avampost.test' #Permission to get rewards
```

{% hint style="info" %}
**Note**: For the `requirements-to-join` setting, ensure that the flag for the set region is configured to **ALLOW** with the format: `flag: avampost-join-requirement: ALLOW`.
{% endhint %}


# Configuration

Follow the steps below to set up an Avampost:

{% embed url="<https://youtu.be/9UpA__a6YrE>" %}
Avampost configuration video.
{% endembed %}

## 1. Define the Avampost region.

* Ensure you have **WorldGuard** installed.
* Set two positions using `//wand`.
* Define the region using the command: `/region define [name]`.
* Activate the avampost system by setting the flag with: `/region flag [name] avampost-system true`.

## 2. Define the Avampost File

* Duplicate the example "avamposto" (which refers to the OutPostID) provided in the initial file.
* Rename the `outpostID` to a unique identifier.
* Update the region to match the name you set up in the previous step.
* Update the MythicMobs entry with a mob that exists in your MythicMobs configuration.

Once done, you're ready to play and capture the Avampost!

## Setting up Avampost rewards:

Rewards are executed as console commands, allowing the use of the variable `%player%`:

* Execute `/avampost admin edit` and select "modify avampost".
* Choose the avampost you wish to modify and navigate to "Rewards".
* Click "Add new Reward" and input the desired console command (omit the initial '/').
  * Example: To send a message, input: `say %player% has conquered the Avampost!`

<figure><img src="https://3067097874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ9IRlbZGFV9BglNLT9MA%2Fuploads%2FQhxY6azi98ZdfSs77wPe%2F2023-08-07_17.41.49.png?alt=media&amp;token=1a6441d8-7dfb-4023-bfdc-17f0ecabfed2" alt=""><figcaption><p>Avampost rewards editor menu</p></figcaption></figure>


# Placeholders

The following placeholders provide essential information about outposts for use in conjunction with KingdomsX. They are designed to retrieve various details about a specific outpost, identified by its

#### Placeholder List

1. **Cooldown Placeholder**\
   `%outpost_<outpostname>_cooldown%`\
   Returns the cooldown period (in seconds) for the specified outpost. This is useful for tracking wait times between uses.
2. **Name Placeholder**\
   `%outpost_<outpostname>_name%`\
   Retrieves the display name of the outpost. This name is typically used for identification in commands and user interfaces.
3. **Description Placeholder**\
   `%outpost_<outpostname>_description%`\
   Provides a brief description of the outpost. This can include information about its purpose, benefits, and any unique features.
4. **Claim Status Placeholder** (Only for KingdomsX)\
   `%outpost_<outpostname>_claim%`\
   Indicates which kingdom or player has claimed the outpost. This is particularly important for tracking control and ownership in-game.


# AnotherLevelShop


# Dowload links

Where you can dowload AnotherLevelShop

**Polymart**: <https://polymart.org/resource/anotherlevelshop.3678&#x20>;

**BuiltByBit**: <https://builtbybit.com/resources/anotherlevelshop.28521/> (Coming soon)&#x20;

**SpigotMC**: <https://www.spigotmc.org/resources/anotherlevelshop.109648/&#x20>;

**Bukkit**: <https://dev.bukkit.org/projects/anotherlevelshop&#x20>;

**Curseforge**: <https://www.curseforge.com/minecraft/bukkit-plugins/anotherlevelshop>


# Dependencies

Requirements to start AnotherLevelShop

## Download the plugin

* Polymart: <https://polymart.org/resource/anotherlevelshop.3678>
* SpigotMC: <https://www.spigotmc.org/resources/anotherlevelshop.109648/>
* BuiltByBit: <https://builtbybit.com/resources/anotherlevelshop.28521/>

## Platform requirements

1. For work fine, you need to install Paper from: <https://papermc.io/downloads/paper>

## Plugin requirements

1. Vault, you can download it from: <https://www.spigotmc.org/resources/vault.34315/>
2. Any Economy plugin: example <https://www.spigotmc.org/resources/xconomy.75669/>

## How to start AnotherLevelShop

1. Put AnotherLevelShop.jar to plugins folder
2. Restart your server


# Commands

## Console commands

1. /anotherlevelshop reload - reload all files of plugins
2. /anotherlevelshop help - return the list of commands&#x20;
3. /anotherlevelshop open \<shopname> \<playername> - to open a shop to a player (the player need to have the permission to open it you can find on Permissions section)

## Player commands

1. /anotherlevelshop help - return the list of commands
2. /anotherlevelshop shop \<shopname> - open the shop (it required the permission)
3. /anotherlevelshop editor - open the editor of shops
4. /anotherlevelshop reload - reload all files of plugin


# Permissions

1. anotherlevelshop.shop.shopidname - allow to open shop&#x20;
2. anotherlevelshop.anotherlevelshop.editor - allow player to access editor to create and remove shops
3. anotherlevelshop.reload - allow player to reload all files
4. anotherlevelshop.admin - allow player to have in tab complete (editor & reload)


# Messages file

The messages file uses MiniMessage. You can find the documentation here: <https://docs.advntr.dev/minimessage/format.html>

```yaml
reload-success: ' <gradient:#27E3FB:#277AFB:blue>[AnotherLevelShop]</gradient> <#26C4FF>You reloaded all files with success!'
reload-failure: ' <gradient:#27E3FB:#277AFB:blue>[AnotherLevelShop]</gradient> <red>Something gone wrong on reloading all files!'
no-permission: ' <gradient:#27E3FB:#277AFB:blue>[AnotherLevelShop]</gradient> <red>You don''have permission to do this!'
help-message:
  - ' <gradient:#27E3FB:#277AFB:blue>[AnotherLevelShop]</gradient> <#26C4FF>Command list '
  - ' <#26C4FF>/shop shop/open <shop> <#26C4FF>Open a shop'
  - ' <#26C4FF>/shop editor <#26C4FF>Open shop editor to create & modify shops'
  - ' <#26C4FF>/shop reload <#26C4FF>Reload all files'
shop-item-lore:
  - ''
  - ' <#26C4FF>Buy price: <gold>%buyprice%'
  - ' <#26C4FF>Sell price: <gold>%sellprice%'
  - ''
buy-sell-gui-title: "<#26C4FF>Sell or buy?"
buy-item-name: '<#26C4FF>Buy'
sell-item-name: '<#26C4FF>Sell'
quantity-info-name: '<#26C4FF>Quantity %quantity%'
quantity-plus-name: '<#26C4FF>Add %quantity%'
quantity-minus-name: '<#26C4FF>Remove %quantity%'
quantity-plus-message: ' <#26C4FF>You have added <gold>%quantity% <#26C4FF>items'
quantity-minus-message-error: ' <red>You cannot set the quantity to less than 1'
quantity-minus-message: ' <#26C4FF>You have removed <gold>%quantity% <#26C4FF>items'
quantity-info-message: ' <#26C4FF>You are buying <gold>%quantity% <#26C4FF>items'
buy-message: ' <#26C4FF>You have purchased <gold>%quantity% <#26C4FF>items <#26C4FF>for <gold>%price% <#26C4FF>coins'
sell-message: ' <#26C4FF>You have sold <gold>%quantity% <#26C4FF>items <#26C4FF>for <gold>%price% <#26C4FF>coins'
sell-error-message: ' <red>You do not have enough items to sell'
shop-not-found: ' <red>Shop with name: <gold>%shop% <red>does not exist'
shop-open-usage: ' <red>Use <gold>/shop open <shop>'
not-enough-space-message: ' <red>You do not have enough space in your inventory'
not-enough-money-message: ' <red>You do not have enough coins'
not-enough-items-message: ' <red>You do not have enough items'
shop-main-editor-gui-title: '<#26C4FF>Shop Editor'
shop-main-editor-create-item-name: '<#26C4FF>Create a new shop'
shop-main-editor-create-item-lore:
  - '<#26C4FF>Click to create a new shop'
  - '<#26C4FF>Once clicked, you will'
  - '<#26C4FF>be prompted to type the name in chat'
shop-main-editor-write-shop-name: '<#26C4FF>Type the name of the shop'
shop-main-editor-shop-created: '<#26C4FF>You have successfully created the shop <gold>%shop%</gold>'
shop-main-editor-shop-created-error: '<red>An error occurred while creating the shop <gold>%shop%</gold>'
shop-editor-gui-title: '<#26C4FF>Editing shop..'
shop-main-editor-shop-create-cancel: '<red>Shop creation canceled!'
shop-editor-add-item-name: '<#26C4FF>Add an item'
shop-main-editor-write-item: '<#26C4FF>Select the item in your main hand that you want to add to the shop, then type <yellow>item</yellow> to add it'
shop-main-editor-item-create-cancel: '<red>Item creation canceled!'
shop-main-editor-item-added: '<#26C4FF>You have successfully added the item'
shop-editor-item-gui-title: '<#26C4FF>Editing item..'
shop-editor-item-gui-buy-item: '<#26C4FF>BuyPrice: %price%</#26C4FF>'
shop-editor-item-gui-buy-item-lore:
  - '<#26C4FF>Click to set the price'
shop-editor-item-gui-sell-item: '<#26C4FF>SellPrice: %price%</#26C4FF>'
shop-editor-item-gui-sell-item-lore:
  - '<#26C4FF>Click to set the price'
shop-main-editor-item-buyprice-set: '<#26C4FF>You have set the purchase price to <gold>%price%</gold>'
shop-main-editor-item-sellprice-set: '<#26C4FF>You have set the selling price to <gold>%price%</gold>'
```


# Config

Config.yml file

```yaml
# if this is active the plugin add example.yml shop
# file to your plugin folder if don't exist.
enable-default-shop-example: true

# if you don't know what you're doing, leave this as false
enable-debug: false

# if you don't know what you're doing, leave this as false
override-messages-file: false
```


# Shop configuration

## How to create a shop

1. "do /shop editor" - This command opens a GUI where you can see all shops.
2. Click "Create Shop."
3. Type the name of the shop in the chat.
4. You have created your shop!


# AnotherLevelBungeeList


# Dowload links

Where you can download AnotherLevelBungeeList

SpigotMC: <https://www.spigotmc.org/resources/anotherlevelbungeelist.102589/>


# Commands

Commands list of AnotherLevelBungeeList

## Console commands

1. /list - Allow viewing the list of players on each server.

## Player commands

1. /list - Allow viewing the list of players on each server. (need permission)

##


# Permissions

Permission list of AnotherLevelBungeeList

1. anotherlevelbungeelist.list - Allow viewing the list of players on each server.


# Customnames

How work custom names?

In the config.yml, you can add custom server names. This allows you to change the default name of a server to a custom one. For example, you can replace the default name "lobby" in the Bungee config with "Lobby-1".

```yaml
enable-debug: false

customservernames:
  lobby: '<#67BB37>Lobby-1<#67BB37>'
```


# Shrine

<figure><img src="https://3067097874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ9IRlbZGFV9BglNLT9MA%2Fuploads%2FXu84U1W3uOeTCStmcmY8%2Fshrines%20png_Tavola%20disegno%201%20(1)%20(1).png?alt=media&amp;token=dc7ceaa9-c024-4ef3-bd12-2bc092ba6640" alt=""><figcaption></figcaption></figure>

Shrines is a plugin that allows you to add shrines throughout your map. These shrines can be unlocked through a permission, giving you the ability to connect them to any plugin. Additionally, it will support future quest or dungeon plugins, allowing you to link them together.

To create a shrine, simply type "/shrines editor" to open a GUI that enables you to create and modify all the parameters of your shrine. Furthermore, there is a teleportation menu. Once a shrine is unlocked, players can teleport to the unlocked shrine.


# Dowload Links

### Premium resource links:

{% embed url="<https://polymart.org/resource/shrines.4119>" %}

{% embed url="<https://builtbybit.com/resources/shrine.28954/>" %}

### Free resource links:

{% embed url="<https://polymart.org/resource/shrines-free-version.4140>" %}


# Dependencies & Installation

## Download the plugin:

Download the plugin from Download Links

{% content-ref url="/pages/Iqj4Xjfjy70HVSGhKVrZ" %}
[Dowload Links](/documentation/shrine/dowload-links)
{% endcontent-ref %}

## Platform requirements

1. For work fine, you need to install Paper from: <https://papermc.io/downloads/paper>

## Plugin requirements

{% embed url="<https://luckperms.net/download>" %}

{% embed url="<https://dev.bukkit.org/projects/worldguard>" %}

## How to start Shrine

1. Put Shrine.jar to plugins folder
2. Restart your server

##


# Commands & Permissions

Explore the detailed usage, permissions, and functionalities of in-game shrine commands in this concise yet comprehensive guide.

### Console commands:

This section provides details on the available commands and permissions for managing shrines in the game. These commands are currently under development and are subject to change in future updates.

### Player commands:

1. **/shrines help**
   * **Description**: Displays a list of all available commands.
   * **Permissions**: Differentiates between admin and normal user commands. To view the admin command list, the `shrine.admin.help` permission is required.
2. **/shrines editor**
   * **Description**: Opens the editor interface for creating and managing shrines.
   * **Permissions**: Requires `shrines.editor` permission.
3. **/shrines teleport**
   * **Description**: Opens the teleportation GUI. Players can unlock shrines based on the permissions configured in the shrine file.
   * **Permissions**: Requires `shrines.teleport` for accessing the menu.
4. **/shrines reload**
   * **Description**: Reloads all configuration files. Check the console for any errors or warnings.
   * **Permissions**: Requires `shrines.reload`.
5. **/shrines set \<player> \<shrine> \[true/false]**
   * **Description**: Sets a shrine as completed or not completed for a specific player.
   * **Permissions**: Requires `shrine.admin`.

### Permission Overview

* **/shrines editor**
  * Required permission: `shrine.editor`
* **/shrines reload**
  * Required permission: `shrine.reload`
* **/shrines set**
  * Required permission: `shrine.admin`
* **/shrines help**
  * Admin commands: Requires `shrine.admin.help`
* **Admin Tab Completer**
  * Required permission: `shrine.admin.tabcompleter`


# Messages file

The messages file support Hexcolor, with MiniMessage format you can find more about in this link

{% embed url="<https://docs.advntr.dev/minimessage/format.html>" %}

```yaml
# messages
help:
  - '<gradient:#27E3FB:#277AFB:blue>[Shrines] <gray>commands:'
  - ' <gradient:#27E3FB:#277AFB:blue>/shrines help <gray>- <aqua>Shows this help message'
  - ' <gradient:#27E3FB:#277AFB:blue>/shrines editor <gray>- <aqua>Opens the shrines editor'
  - ' <gradient:#27E3FB:#277AFB:blue>/shrines reload <gray>- <aqua>Reloads the plugin'
  - ' <gradient:#27E3FB:#277AFB:blue>/shrines teleport <gray>- <aqua>Opens the shrines teleport gui'
reload: ' <gradient:#27E3FB:#277AFB:blue>[Shrines] <green>Plugin reloaded!'
shrine-location-not-found: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <red>Shrine location not found!'
shrine-teleport-successful: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <green>Teleported to shrine!'
insert-shrine-name: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <green>Insert shrine name! <red>Write cancel if you want to cancel the operation.'
editor-cancelled: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <red>Operation cancelled!'
insert-new-value: ' <gradient:#27E3FB:#277AFB:blue>[Shrines] <green>Insert %type% <green>in chat to assign new value. <newline> <gray>Write <red>cancel <gray>if you want to cancel the operation.'
admin-config-message-set-value: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <green>Value set!'
admin-config-message-set-error: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <red>Value not set (error)!'
shrine-created: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <green>Shrine created!'
shrine-parameter-inserted: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <green>Shrine parameter inserted!'
no-permission: ' <gradient:#27E3FB:#277AFB:blue>[Shrines] <red>You don''t have the permission to do this!'
shrine-not-in-region: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <red>You can execute this command only in a Shrine'
shrine-teleport-no-permission: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <red>You don''t have completed this Shrine!'
insert-any-value: '<gradient:#27E3FB:#277AFB:blue>[Shrines] <green>Insert any value in chat to assign new value (like a, or location, or confirm). <newline> <gray>Write <red>cancel <gray>if you want to cancel the operation. '

# gui
gui-editor-title: '<black>Shrines Editor'
gui-editor-create-shrine: '<gradient:#27E3FB:#277AFB:blue>Create Shrine'
gui-editor-modify-shrine: '<gradient:#27E3FB:#277AFB:blue>Modify Shrine'
gui-teleport-title: '<black>Shrines Teleport'
gui-modify-list-title: '<black>Select shrine to modify'
gui-modify-selected-shrine: '<black>Modify shrine'
gui-item-shrines-modify-inserted: '<green>Inserted'
gui-item-shrines-modify-empty: '<red>Empty'

```


# Configuration

## Editor GUI Configuration

{% hint style="info" %}
You can open the in-game editor with the command: **/shrine editor.**
{% endhint %}

### Create Shrine

To create a new Shrine, you can use the command **/shrine editor.** Once you have opened the editor, click on "**Create Shrine.**" After clicking, you will need to **enter the desired ID name** for the shrine, such as shrine-1.

<figure><img src="https://3067097874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ9IRlbZGFV9BglNLT9MA%2Fuploads%2Fvd7lwaxLowafoGnl43Jq%2F2023-05-28_00.23.10.png?alt=media&amp;token=8100bf76-a8b4-4d81-93aa-2cec34c94b03" alt="" width="324"><figcaption></figcaption></figure>

### Modify your Shrine

Congratulations! You have created your shrine! Now let's see what we need to do to modify it.

Open the /shrine editor. Once you have opened the editor, **click on "Modify Shrine."**

<figure><img src="https://3067097874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ9IRlbZGFV9BglNLT9MA%2Fuploads%2FohdI9g4lgQdhv2cqGw8f%2F2023-05-28_00.26.17.png?alt=media&amp;token=df3657e0-7197-4b92-91a7-251d85eaef37" alt="" width="375"><figcaption></figcaption></figure>

After clicking, **select the shrine you want edit**

<figure><img src="https://3067097874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ9IRlbZGFV9BglNLT9MA%2Fuploads%2F0q3JKXDytGbUtcJOquBU%2F2023-05-28_00.26.10.png?alt=media&amp;token=bc1cc944-4749-4f73-aa8b-f6d53a3877a9" alt="" width="287"><figcaption></figcaption></figure>

After clicking, you will have access to the selected Shrine editor, where you can edit all parameters of your shrine.

<figure><img src="https://3067097874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ9IRlbZGFV9BglNLT9MA%2Fuploads%2FjOUO3BtHt17NKIlUbmpv%2F2023-05-28_00.33.21.png?alt=media&amp;token=0146d794-8ec9-445a-9484-b9de0cbee1f9" alt=""><figcaption></figcaption></figure>

## File configuration&#x20;

{% hint style="info" %}
Configuration files can be found in the plugins folder → Shrines → shrines.yml
{% endhint %}

Default configuration file with explainations:

```yaml
shrines:
  shrines-1: #SHRINES ID
    permission: 'shrines.shrines-1' #If player have the permission he can use the shrine
    item:
      completed:
        icon: STONE_BRICKS #Icon of the shrine teleport GUI
        displayname: '<yellow>Shrine 1 item' #Display name of the shrine
        lore:
          - '<rainbow>This is a custom lore!' #Lore of the shrine teleport GUI
        custom-model-data: 1000 #Custom model data of the shrine teleport GUI
        slots: # you can set the item for one or more slots
          - 0
          - 1
          - 2
          - 3
      incomplete:
        icon: STONE_BRICKS #Icon of the shrine teleport GUI
        displayname: '<yellow>Shrine 1 item' #Display name of the shrine
        lore:
          - '<rainbow>This is a custom lore!' #Lore of the shrine teleport GUI
        custom-model-data: 1000 #Custom model data of the shrine teleport GUI
        slots: # you can set the item for one or more slots
          - 0
          - 1
          - 2
          - 3
    displayname: '<yellow>Shrine 1' #Display name of the shrine
    region: 'shrines-1' #Region name of the shrine
    teleport-location:
      x: 0 #X coordinate
      y: 0 #Y coordinate
      z: 0 #Z coordinate
      world: 'world' #World where the shrine is
    completed: # message you get if you have completed the shrine
      welcome-message-chat: '<gray>Shrine shrines-1!'
      welcome-message-title: '<gray>Shrine shrines-1!'
      welcome-message-subtitle: '<gray>You have completed Shrine shrines-1!'
    unlocked:
      welcome-message-chat: '<gray>Congratulations! You have unlocked the Shrine shrines-1!'
      welcome-message-title: '<gray>Congratulations!'
      welcome-message-subtitle: '<gray>You have unlocked the Shrine!'
    incomplete: # message you get if you have not completed the shrine
      welcome-message-chat: '<gray>Welcome to the Shrine shrines-1!'
      welcome-message-title: '<gray>Welcome to the Shrine shrines-1!'
      welcome-message-subtitle: '<gray>Incompleted Shrine shrines-1!'
```


# Teleport System

## Teleport on Enter feature

This feature open the teleport menu upon entering the Shrine.

{% hint style="info" %}
You can edit this value on the file: config.yml&#x20;

Plugins folder -> Shrines -> config.yml
{% endhint %}

If it is set to true, the teleport GUI will open when the player enters a shrine. Leave it false if you don't want this feature enabled.

{% code title="config.yml" %}

```yaml
open-teleport-on-enter: false # open the teleport gui when you enter in a shrine
```

{% endcode %}

## Types of teleportation system

There are two different types of teleportation systems that you can configure in the config.yml.

### **Connected:**&#x20;

The shrines are interconnected, allowing you to use them as travel points within the world. Therefore, the teleportation menu I use can automatically open when entering the shrines, instead of requiring a command. Additionally, the command "/shrines teleport" can only be accessed when you are within the Shrines region.

### **Default:**&#x20;

The default system only requires the "shrines.teleport" permission to execute the "/shrines teleport" command and can be executed anywhere you want.

{% code title="config.yml" %}

```yaml
teleport-type: "connected"
```

{% endcode %}

## Teleport GUI settings

### Edit the size of Telport GUI

{% hint style="info" %}
You can edit the size of teleport gui size in **config.yml**
{% endhint %}

You can set only the values **9,18,27,36,45,54**

{% code title="config.yml" %}

```yaml
# teleport gui options
teleport-gui-size: 54 # <- here you can change the size of telport GUI
```

{% endcode %}

### Edit the icons of Telport GUI

All items can be modified using the shrine editor system, which allows for changing the display icon in the GUI through its configuration.

{% hint style="info" %}
You can edit this parameters on shrines.yml OR EditorGUI
{% endhint %}

{% code title="shrines.yml" %}

```yaml
    item:
      completed:
        icon: STONE_BRICKS #Icon of the shrine teleport GUI
        displayname: '<yellow>Shrine 1 item' #Display name of the shrine
        lore:
          - '<rainbow>This is a custom lore!' #Lore of the shrine teleport GUI
        custom-model-data: 1000 #Custom model data of the shrine teleport GUI
        slots: # you can set the item for one or more slots
          - 0
          - 1
          - 2
          - 3
      incomplete:
        icon: STONE_BRICKS #Icon of the shrine teleport GUI
        displayname: '<yellow>Shrine 1 item' #Display name of the shrine
        lore:
          - '<rainbow>This is a custom lore!' #Lore of the shrine teleport GUI
        custom-model-data: 1000 #Custom model data of the shrine teleport GUI
        slots: # you can set the item for one or more slots
          - 0
          - 1
          - 2
          - 3
```

{% endcode %}

### Edit the title of teleport GUI

{% hint style="info" %}
You can edit the title of teleport GUI on the messages.yml file.
{% endhint %}

{% code title="messages.yml" %}

```yaml
gui-teleport-title: '<black>Shrines Teleport'
```

{% endcode %}


# Battlepass

Description of Battlepass plugin.

<figure><img src="https://3067097874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ9IRlbZGFV9BglNLT9MA%2Fuploads%2F8sRIlNTpDTymHxgM8PVe%2Fmodel.png?alt=media&amp;token=15fb0b2c-1ef0-4496-88f4-71944843af46" alt=""><figcaption></figcaption></figure>

Introducing AnotherLevelBattlePass: A groundbreaking in-game GUI Editor that empowers you to craft and manage multiple BattlePasses seamlessly. With just a single click, you can effortlessly switch between active BattlePasses. Whether you're designing a BattlePass with a handful of levels or an extensive ladder, our intuitive rewards interface adapts instantly, ensuring a smooth and engaging player experience.


# Dowload Links

Interested in trying BattlePass Ultimate before making a purchase? Or perhaps you're content with the free version? We've got you covered! You can easily download BattlePass Ultimate from a variety of platforms. Below are the links for both the free and premium versions.

### Free Version Download

If you're looking to try out BattlePass Ultimate without any cost, you can download the free version from the following platforms:

* **BuiltByBit**: [BattlePass Ultimate - Free Version](https://builtbybit.com/resources/battlepass-ultimate-free-version.34923/)
* **Polymart**: [BattlePass Ultimate - Free Version](https://polymart.org/resource/battlepass-ultimate-free-version.4795)
* **SpigotMC**: [BattlePass Ultimate - Free Version](https://www.spigotmc.org/resources/battlepass-ultimate-free-version.112633)

### Premium Version Download

For those interested in the full array of features, the premium version of BattlePass Ultimate is available for purchase. You can find it at the following links:

* **SpigotMC**: [BattlePass Ultimate - Premium (Discounted Price)](https://www.spigotmc.org/resources/battlepass-ultimate-premium-discounted-price.112327/)
* **BuiltByBit**: [BattlePass Ultimate - Premium Version](https://builtbybit.com/resources/battlepass-ultimate.31532/)
* **Polymart**: [AnotherLevelBattlePass - Premium Version](https://polymart.org/resource/anotherlevelbattlepass.4710)

<br>


# Commands

## BattlePass Plugin Commands Guide

### Overview

This guide provides detailed explanations of the commands available in the BattlePass plugin, divided into Admin and Player commands. Additionally, information on customizing command aliases is included.

### Admin Commands

Admin commands require specific permissions to execute. They are essential for managing the BattlePass experience for players.

### Console Commands

* **Add Experience**: `/battlepassadmin add <playerName> <exp>`
  * *Description*: Adds experience points to a player's BattlePass.
  * *Usage*: This command is usable from the console.

### Player admin Commands

Player commands related to BattlePass administration require the `albattlepass.admin` permission.

* **Add Experience**: `/battlepassadmin add <playerName> <exp>`
  * *Description*: Adds experience points to a player's BattlePass.
* **Reload Messages**: `/battlepassadmin reload`
  * *Description*: Reloads the `messages.yml` file.
* **Open Editor**: `/battlepassadmin editor`
  * *Description*: Opens the in-game BattlePass editor.
* **Help**: `/battlepassadmin help`
  * *Description*: Displays a list of available admin commands.
* **Report**: `/battlepassadmin report`
  * *Description*: Provides information useful for developers, aiding in diagnostics and troubleshooting.

### Player Commands

Regular player commands for interacting with BattlePass.

* **Help**: `/battlepass help`
  * *Description*: Shows a list of available player commands.
* **Rewards GUI**: `/battlepass rewards`
  * *Description*: Opens the BattlePass rewards graphical interface.
* **Personal Info**: `/battlepass info`
  * *Description*: Displays information about your own BattlePass.
* **Others' Info**: `/battlepass info <playerName>`
  * *Description*: Displays information about another player's BattlePass.
  * *Permission Required*: `anotherlevel.battlepass.info.other`

### Command Aliases

Customize command aliases through the `config.yml` file. This feature is particularly useful for servers using Paper: [Download Paper](https://papermc.io/downloads/paper).

#### Example Aliases

```yaml
# Paper aliases, you can change it if you
# are using Paper: https://papermc.io/downloads/paper
aliases:
  - pp
  - ppass
  - pass
  - passbattaglia
  - bp
```


# Messages File

The messages file supports Hexcolors. You can learn more about the MiniMessage format at this link.

{% embed url="<https://docs.advntr.dev/minimessage/format.html>" %}

```yaml
#
# AnotherLevelBattlePass messages.yml file
# Do not use Legacy colors like: &b &d and other
# Use modern colors! with Minimessage!
# https://docs.advntr.dev/minimessage/format.html
#
gui-editor-main-title: "<black>Battlepass Editor"
gui-editor-main-battlepass-name: "<gradient:#FFE678:#FEDC30>Battlepass: %battlepass%"
gui-editor-main-new-battlepass: "<gradient:#FFE678:#FEDC30>Create new Battlepass"
battlepass-editor-created: "<gradient:#FFE678:#FEDC30>Succesfully created battlepass: %battlepass%"
battlepass-editor-created-error: "<gradient:#FFE678:#FEDC30>Failed to create battlepass... check console"
gui-editor-selected-battlepass-title: "<black>Editing battlepass"
gui-editor-rewards-title: "<black>Select reward type: Premium/Free"
gui-editor-selected-battlepass-invalid-date: "<gradient:#FFE678:#FEDC30>Invalid date format! Use: dd-mm-yyyy"
gui-editor-free-rewards-title: "<black>Editing free rewards"
gui-editor-premium-rewards-title: "<black>Editing premium rewards"
gui-editor-selected-item-title: "<black>Editing item"
gui-editor-selected-item-commands-title: "<black>Editing commands"
gui-editor-main-set-active-battlepass: "<gradient:#FFE678:#FEDC30>You have successfully set the active battlepass to: %battlepass%"
no-rewards-section: "<gradient:#FFE678:#FEDC30>There are no rewards in this battlepass!"
no-permission: "<gradient:#FFE678:#FEDC30>You don't have permission to use this command!"
help:
  - " <gradient:#FFE678:#FEDC30>BattlePass commands list:"
  - " <gradient:#FFE678:#FEDC30>/battlepass help - Shows this help page"
  - " <gradient:#FFE678:#FEDC30>/battlepass rewards - Opens the rewards GUI"
  - " <gradient:#FFE678:#FEDC30>/battlepass info - See your statistics and progress"
help-admin:
  - " <gradient:#FFE678:#FEDC30>BattlePassAdmin commands list:"
  - " <gradient:#FFE678:#FEDC30>/bpa help - Shows this help page"
  - " <gradient:#FFE678:#FEDC30>/bpa editor - Opens the battlepass editor"
  - " <gradient:#FFE678:#FEDC30>/bpa add <NickName> <Points> - Add points to a player"
  - " <gradient:#FFE678:#FEDC30>/bpa reload - Reloads the plugin"
reward-already-claimed: "<gradient:#FFE678:#FEDC30>You have already claimed this reward!"
no-premium-permission: "<gradient:#FFE678:#FEDC30>You need to be a premium user to claim this reward! Store: storelink"
level-not-reached: "<gradient:#FFE678:#FEDC30>You have not reached the required level to claim this reward!"
premium-reward-claimed: "<gradient:#FFE678:#FEDC30>You have claimed the premium reward"
premium-free-claimed: "<gradient:#FFE678:#FEDC30>You have claimed the free reward"
admin-exp-added: "<gradient:#FFE678:#FEDC30>You have added %exp% to %player%"
admin-cmd-add-exp-usage: "<gradient:#FFE678:#FEDC30>Usage: /bpa add <NickName> <Points>"
admin-reload-error: "<gradient:#FFE678:#FEDC30>Failed to reload the plugin... check console"
admin-reload-finished: "<gradient:#FFE678:#FEDC30>Plugin reloaded!"
exp-added: "<gradient:#FFE678:#FEDC30>You received %exp% experience!"
level-up: "<gradient:#FFE678:#FEDC30>Congratulations you have reached level %level%!"
operation-cancelled: "<gradient:#FFE678:#FEDC30>Operation cancelled!"
free-version-limit: "<gradient:#FFE678:#FEDC30>Free version limit reached! (You can have only one battlepass, and max 10 rewards)"
gui-editor-create-new-battlepass: " <gradient:#FFE678:#FEDC30>Type the name of the battle pass you want to create."
gui-editor-delete-battlepass-success: " <gradient:#FFE678:#FEDC30>Successfully deleted battlepass: %battlepass%"
gui-editor-action-start-date-set-value: " <gradient:#FFE678:#FEDC30>Write in chat start date value: [Ex. 20(days)-10(months)-2023(year)] <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-end-date-set-value: " <gradient:#FFE678:#FEDC30>Write in chat end date value: [Ex. 20(days)-10(months)-2023(year)] <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-state-set-value: " <gradient:#FFE678:#FEDC30>Write in chat state value: [Ex. true/false] <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-max-level-set-value: " <gradient:#FFE678:#FEDC30>Write in chat max level value: [Ex. 20] <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-exptable-set-value: " <gradient:#FFE678:#FEDC30>Write in chat exptable value: [Ex. 20] <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-start-free-items-set-value: " <gradient:#FFE678:#FEDC30>Write in chat start free items value: [Ex. 20] <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-start-premium-items-set-value: " <gradient:#FFE678:#FEDC30>Write in chat start premium items value: [Ex. 20] <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-gui-title-set-value: " <gradient:#FFE678:#FEDC30>Write in chat the title of gui you want to set <yellow>(Write 'cancel' if you want to cancel this action)"
get-editor-action-generic: " <gradient:#FFE678:#FEDC30>Write the new value of %action% <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-add-reward: " <gradient:#FFE678:#FEDC30>Write confirm to add a new reward <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-add-command: " <gradient:#FFE678:#FEDC30>Write the command you want to add, remember you can use %player% <yellow>(Write 'cancel' if you want to cancel this action)"
gui-editor-action-edit-command: " <gradient:#FFE678:#FEDC30>You are editing an existing command write the new command, remember you can use %player% <yellow>(Write 'cancel' if you want to cancel this action)"
placeholder_loading: "Loading.."
invalid-material: " <gradient:#FFE678:#FEDC30>Invalid material, replaced with BARRIER."
battlepass-info-admin: " <gradient:#FFF978:#FFCB19>You are looking battlepass player information of %target%"
battlepass-info-title: " <gradient:#FFF978:#FFCB19>Battlepass information:"
battlepass-level-info: " <gradient:#FFF978:#FFCB19>Level: %level%"
battlepass-experience-info: " <gradient:#FFF978:#FFCB19>Experience: %exp%/%required_experience%"
# descriptions
description-start-date:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Start date of the battlepass"
  - " <gradient:#FFF978:#FFCB19>People can start the battlepass"
  - " <gradient:#FFF978:#FFCB19>on this date."
  - " <red>Actually in development"
description-end-date:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>End date of the battlepass"
  - " <gradient:#FFF978:#FFCB19>People can't use battlepass"
  - " <gradient:#FFF978:#FFCB19>after this date."
  - " <red>Actually in development"
description-state:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>State of the battlepass"
  - " <gradient:#FFF978:#FFCB19>You can disable this battlepass"
  - " <gradient:#FFF978:#FFCB19>if is active, and people"
  - " <gradient:#FFF978:#FFCB19>can't use it."
  - " <red>Actually in development"
description-maxlevel:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Max level of the battlepass"
  - " <gradient:#FFF978:#FFCB19>People can't level up when "
  - " <gradient:#FFF978:#FFCB19>they reach max level"
  - " <red>Actually in development"
description-exptable:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Exptable of the battlepass"
  - " <gradient:#FFF978:#FFCB19>You can define the curve of"
  - " <gradient:#FFF978:#FFCB19>experience gain."
  - " <red>Actually in development"
description-start-free-items:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Start free items of the battlepass"
  - " <gradient:#FFF978:#FFCB19>Here you can define the start slot of"
  - " <gradient:#FFF978:#FFCB19>free items in rewards gui."
description-start-premium-items:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Start premium items of the battlepass"
  - " <gradient:#FFF978:#FFCB19>Here you can define the start slot of"
  - " <gradient:#FFF978:#FFCB19>premium items in rewards gui."
description-gui-size:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Gui size of the battlepass"
  - " <gradient:#FFF978:#FFCB19>Here you can define the size of"
  - " <gradient:#FFF978:#FFCB19>gui in rewards gui."
description-gui-title:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Gui title of the battlepass"
  - " <gradient:#FFF978:#FFCB19>Here you can define the title of"
  - " <gradient:#FFF978:#FFCB19>gui in rewards gui."
description-battlepass-permission:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Permission of the battlepass"
  - " <gradient:#FFF978:#FFCB19>Here you can define the permission"
  - " <gradient:#FFF978:#FFCB19>of battlepass that allow player to"
  - " <gradient:#FFF978:#FFCB19>access to premium rewards."
description-rewards:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Here you can define the rewards"
  - " <gradient:#FFF978:#FFCB19>of the battlepass (premium and free)."
description-premium-rewards:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Here you can define premium rewards"
  - " <gradient:#FFF978:#FFCB19>of the battlepass."
description-free-rewards:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Here you can define free rewards"
  - " <gradient:#FFF978:#FFCB19>of the battlepass."
description-add-reward:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Add new rewards to your Battlepass."
  - " <gradient:#FFF978:#FFCB19>Applicable to both free and premium tiers."
  - " <gradient:#FFF978:#FFCB19>Ensure to customize for each category."
description-commands:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Add command to this level"
  - " <gradient:#FFF978:#FFCB19>When a player complete the level"
  - " <gradient:#FFF978:#FFCB19>these commands being executed from console."
  - " <gradient:#FFF978:#FFCB19>You can use %player% placeholder!"
description-material:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Material of the reward"
  - " <gradient:#FFF978:#FFCB19>Here you can define the material"
  - " <gradient:#FFF978:#FFCB19>of the reward."
  - " <gradient:#FFF978:#FFCB19>(This configuration is about the display item)"
description-customdata:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Customdata of the reward"
  - " <gradient:#FFF978:#FFCB19>Here you can define the customdata"
  - " <gradient:#FFF978:#FFCB19>of the reward."
  - " <gradient:#FFF978:#FFCB19>(This configuration is about the display item)"
description-name:
  - ""
  - "<gradient:#FFF978:#FFCB19><bold>Description:"
  - " <gradient:#FFF978:#FFCB19>Displayname of the reward"
  - " <gradient:#FFF978:#FFCB19>Here you can define the name"
  - " <gradient:#FFF978:#FFCB19>of the reward."
  - " <gradient:#FFF978:#FFCB19>(This configuration is about the display item)"
description-lore:
  - ""
  - " <gradient:#FFF978:#FFCB19>(Left click) Add new lore line"
  - " <gradient:#FFF978:#FFCB19>(Right click) Remove last lore line"
editing-item-action-material: " <gradient:#FFF978:#FFCB19>Write the value of the material (write cancel to cancel)"
editing-item-action-lore: " <gradient:#FFF978:#FFCB19>Write the value of the new string of lore (write cancel to cancel)"
editing-item-action-name: " <gradient:#FFF978:#FFCB19>Write the value of the name (write cancel to cancel)"
editing-item-action-customdata: " <gradient:#FFF978:#FFCB19>Write the value of the customdata (write cancel to cancel)"
lore-removed-line: " <gradient:#FFF978:#FFCB19>Lore line removed"
```


# PlaceholderAPI support

Placeholder api explainations

## BattlePass Installation Guide

### Step 1: Download PlaceholderAPI

First, download PlaceholderAPI from its official source. Ensure you have the correct version compatible with your server.

### Step 2: Install PlaceholderAPI

* **Installation**:
  * Locate the downloaded `PlaceholderAPI.jar` file.
  * Move this file into your server's `plugins` folder.
* **Server Restart**:
  * After placing the file, restart your server to complete the installation process.

### Step 3: Using Placeholders

BattlePass integrates seamlessly with PlaceholderAPI, providing various placeholders to enhance your server experience.

#### Testing Placeholders

* To test a placeholder, use the command: `/papi parse me <placeholder>`
  * Example: `/papi parse me %albattlepass_exp%`

#### List of Placeholders

* **Player Experience**: `%albattlepass_exp%`
  * *Description*: Returns the player's current experience points.
* **Player Level**: `%albattlepass_level%`
  * *Description*: Shows the player's current BattlePass level.
* **Experience for Level Up**: `%albattlepass_required_exp%`
  * *Description*: Indicates the amount of experience required for the next level.

### Customization

You can personalize user experience by modifying messages in the `messages.yml` file.

#### Editing Loading Messages

* Locate `messages.yml` in the BattlePass plugin folder.
* Modify the `placeholder_loading` entry to change the loading message.
  * Example:

```yaml
# in messages.yml file
placeholder_loading: "Loading.."
```


# Battlepass configuration

## Installation:

### Step 1: Download BattlePass

To install BattlePass, first, you need to download it. You can find the download links in the [Download Links](/documentation/battlepass/dowload-links) section.

### Step 2: Install the plugin

* **Plugin Installation**:
  * After downloading, locate the BattlePass file.
  * Move this file to your server's `plugins` folder.
* **Server Restart**:
  * Restart your server. Once restarted, BattlePass will be ready for use!

## Creating a Battlepass

### Step 1: Accessing the Editor

* To start creating a BattlePass, execute the command: `/battlepassadmin editor`.
* For more information about commands, refer to the [Commands](/documentation/battlepass/commands) section.

### Step 2: Create a New Battlepass

* Once the menu opens, click on 'Create new battlepass'.
* Enter the name of your BattlePass in the chat when prompted.

<figure><img src="https://3067097874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ9IRlbZGFV9BglNLT9MA%2Fuploads%2FQOtNUccl7YU8f70DJXI7%2Fbattlepass_creation.png?alt=media&amp;token=d97e989d-997e-48a4-9fc9-327481e3acb1" alt=""><figcaption></figcaption></figure>


# Motels

Motel brings the exciting addition of motel rooms to your Minecraft server. With its innovative rental system, you have the freedom to rent as many rooms as you desire. Each room features a virtual storage space, providing a convenient way to store your items.

{% embed url="<https://youtu.be/tAeTd9rr8SQ>" %}


# Commands

### Admin Commands

All admin commands start with `/moteladmin`.

General Management:

* `/moteladmin check` (Permission: anotherlevel.motels.admin.check) Verifies if motel bookings have expired.
* `/moteladmin reload` (Permission: anotherlevel.motels.admin.reload) Reloads all plugin configurations.
* `/moteladmin menu` (Permission: anotherlevel.motels.admin.menu) Opens the motel administration menu.
* `/moteladmin help` (Permission: anotherlevel.motels.admin.help) Displays help information for admin commands.
* `/moteladmin bugreport` (Permission: anotherlevel.motels.admin.bugreport) Generates a bug report for the plugin.

Motel Management:

* `/moteladmin add <regionId> <price> <displayName>` (Permission: anotherlevel.motels.admin.add) Creates a new motel with specified region ID, price, and display name.
* `/moteladmin remove <motelRegionId>` (Permission: anotherlevel.motels.admin.remove) Deletes an existing motel.
* `/moteladmin set-location <motelRegionId>` (Permission: anotherlevel.motels.admin.set-location) Sets the location of a motel.
* `/moteladmin change-type <motelId> <type>` (Permission: anotherlevel.motels.admin.change-type) Changes the type of a motel.
* `/moteladmin set-expiration-date <motelId> <day> <month> <year>` (Permission: anotherlevel.motels.admin.set-expiration-date) Sets the expiration date for a motel.
* `/moteladmin set-displayname <motelId> <displayName>` (Permission: anotherlevel.motels.admin.set-displayname) Sets or changes the display name of a motel.

Player Management:

* `/moteladmin vault <playerName> <motelName>` (Permission: anotherlevel.motels.admin.vault) Checks the vault of a specified player at a specific motel.

### Player Commands

All player commands start with `/motel`.

Motel Interaction:

* `/motel buy [motelName]` (Permission: anotherlevel.motel.buy) Buys a motel room. The motel name is optional.
* `/motel sell` (Permission: anotherlevel.motel.sell) Sells the player's motel.
* `/motel info` (Permission: anotherlevel.motel.info) Displays detailed information about the motel.
* `/motel vault` (Permission: anotherlevel.motel.vault) Opens the player's motel room vault.
* `/motel visitable` (Permission: anotherlevel.motel.visitable) Toggles whether the motel is visitable by other players.

Rental Management:

* `/motel rent <action>` (Permission: anotherlevel.motel.rent) Manages rental payments and extensions. Actions: pay, extend, info
* `/motel rent info` (Permission: anotherlevel.motel.rent) Shows details about the player's current rental.

Navigation and Exploration:

* `/motel gps [room]` (Permission: anotherlevel.motel.gps) Starts GPS navigation to a motel room.
* `/motel visit <targetPlayer>` (Permission: anotherlevel.motel.visit) Visits another player's motel if visitable.
* `/motel teleport` (Permission: anotherlevel.motel.teleport) Teleports to your own motel.
* `/motel explore [group]` (Permission: anotherlevel.motel.explore) Opens the explore motel interface. Optionally specify a group.

Miscellaneous:

* `/motel menu` (Permission: anotherlevel.motel.command) Opens a menu encompassing all motel-related functions.
* `/motel help` (Permission: anotherlevel.motel.help) Displays help information for player commands.
* `/motel expired` (Permission: anotherlevel.motel.expired) Shows a list of the player's expired motels.

Note: Some commands may require the player to be inside a motel region to function properly. The availability of certain features (like GPS navigation) may depend on server configuration and compatible plugins.


# Placeholders

The Motels plugin integrates with PlaceholderAPI to offer various placeholders related to motel management in the game. These placeholders provide dynamic information about motels and can be used in various contexts.

### General Placeholder Syntax

* Placeholder format: `%almotel_<identifier>%`
* The `<identifier>` is replaced with specific placeholders as outlined below.

### Motel-Specific Placeholders

These placeholders provide information about specific motels.

#### Status Placeholder

* **Syntax**: `%almotel_<motel_id>_status%` or `%almotel_<motel_id>_state%`
* **Description**: Retrieves the current status (available or occupied) of a specified motel.
* **Example**: `%almotel_123_status%` returns the status of the motel with ID 123.
* **Possible values**:
  * Available (configurable in `messages.yml` as `motel_status_available`)
  * Occupied (configurable in `messages.yml` as `motel_status_occupied`)

#### Price Placeholder

* **Syntax**: `%almotel_<motel_id>_price%`
* **Description**: Returns the price of the selected motel.
* **Example**: `%almotel_456_price%` shows the price for motel ID 456.

#### Expiration Date Placeholder

* **Syntax**: `%almotel_<motel_id>_expireDate%`
* **Description**: Provides the expiration date of the motel's listing or service.
* **Example**: `%almotel_789_expireDate%` will display the expiration date for motel ID 789.
* **Note**: If there's no expiration date set, it will return a configurable message (set in `messages.yml` as `motel_no_expire_date`).

#### Owner Placeholder

* **Syntax**: `%almotel_<motel_id>_owner%`
* **Description**: Retrieves the name of the owner of a specified motel.
* **Example**: `%almotel_101_owner%` would return the owner of the motel with ID 101.
* **Note**: If there's no owner, it will return a configurable message (set in `messages.yml` as `motel_no_owner`).

#### Display Name Placeholder

* **Syntax**: `%almotel_<motel_id>_displayname%`
* **Description**: Retrieves the display name of a specific motel.
* **Example**: `%almotel_123_displayname%` would return the display name of the motel with ID 123.
* **Default**: If no display name is set, it returns "Not set".

### Player-Specific Placeholders

These placeholders provide information about motels owned by a specific player.

#### Motel Amount

* **Syntax**: `%almotel_amount%`
* **Description**: Returns the number of motels owned by a player.
* **Example**: `%almotel_amount%` might return "3" if the player owns three motels.

#### Player's Motel Expiration Date

* **Syntax**: `%almotel_expiredate_<index>%`
* **Description**: Shows the expiration date of the player's motel at the specified index.
* **Example**: `%almotel_expiredate_0%` returns the expiration date of the first motel owned by the player.
* **Note**: Index starts at 0. If the index is invalid, it returns "Invalid index".

#### Player's Motel Display Name

* **Syntax**: `%almotel_displayname_<index>%`
* **Description**: Retrieves the display name of the player's motel at the given index.
* **Example**: `%almotel_displayname_1%` returns the display name of the second motel owned by the player.
* **Note**: If no display name is set, it returns "No displayname".

#### Player's Motel Price

* **Syntax**: `%almotel_price_<index>%`
* **Description**: Provides the price of the player's motel at the specified index.
* **Example**: `%almotel_price_2%` returns the price of the third motel owned by the player.

**Note**: For player-specific placeholders, `<index>` represents the index number of the motel in the player's list of motels, starting from 0. If a player has no motels, these placeholders will return "No motels".


# Discord Integration

The Motels plugin offers Discord integration, allowing you to send notifications about various motel-related events to your Discord server using webhooks.

### Configuration

To set up the Discord integration, you need to configure the `discord-hook` section in your `config.yml` file. Here's a breakdown of the configuration options:

```yaml
discord-hook:
  enabled: false
  messages:
    # Event configurations...
```

#### General Settings

* `enabled`: Set to `true` to enable Discord integration, or `false` to disable it.

#### Event Configurations

For each event type, you can configure the following settings:

```yaml
event-name:
  webhook-url: "your_webhook_url_here"
  enabled: true
  title: "Embed Title"
  subtitle: "Embed Subtitle"
  msg: "Embed Message"
```

* `webhook-url`: The Discord webhook URL for this specific event.
* `enabled`: Set to `true` to enable notifications for this event, or `false` to disable them.
* `title`: The title of the Discord embed.
* `subtitle`: The subtitle or field name in the Discord embed.
* `msg`: The main message content of the embed.

### Available Events

#### 1. Motel Purchase

```yaml
buy:
  webhook-url: "webhookurl"
  enabled: true
  title: "Motels"
  subtitle: "Motel bought"
  msg: "Player: %buyer% bought motel %region% for %price% coins"
```

#### 2. Motel Sale

```yaml
sell:
  enabled: true
  webhook-url: "webhookurl"
  title: "Motels"
  subtitle: "Motel sold"
  msg: "Player: %seller% sold the motel %region%"
```

#### 3. Motel Expiration

```yaml
expired:
  webhook-url: "webhookurl"
  enabled: true
  title: "Motels"
  subtitle: "Motel expired"
  msg: "Motel: %region% expired in: %date% and was owned by: %owner%"
```

#### 4. Rent Extension

```yaml
extend:
  webhook-url: "webhookurl"
  enabled: true
  title: "Motels"
  subtitle: "Motel rent extended"
  msg: "Player: %owner% extended motel: %region% rent to %date%"
```

#### 5. Expired Vault Access

```yaml
expired-vault-logs:
  webhook-url: "webhookurl"
  enabled: true
  title: "Expired Vault: %vaultnumber% | Room: %motelid% | (%action%)"
  subtitle: "Expired Vault Access"
  msg: "Player: %player% %action%ed the expired vault.\nContents:\n%contents%"
```

#### 6. Vault Access

```yaml
vault-logs:
  webhook-url: "webhookurl"
  enabled: true
  title: "Vault: %vaultnumber% | Room: %motelid% | Owner: %owner% | (%action%)"
  subtitle: "Vault Access"
  msg: "Player: %player% %action%ed the vault.\nContents:\n%contents%"
```

### Placeholders

Each event type supports specific placeholders that will be replaced with actual values when the notification is sent:

* `%buyer%`: The name of the player buying a motel
* `%seller%`: The name of the player selling a motel
* `%owner%`: The name of the motel owner
* `%region%`: The motel region or ID
* `%price%`: The price of the motel
* `%date%`: The expiration or extension date
* `%player%`: The name of the player accessing a vault
* `%action%`: The action performed (e.g., "Open" or "Close")
* `%motelid%`: The ID of the motel
* `%vaultnumber%`: The number of the vault
* `%contents%`: The contents of the vault

### Note on Vault Contents

When logging vault access, the plugin will format the list of items in the vault. Each item will be listed with its name (or type if no custom name) and quantity. For expired vaults, all formatting will be stripped from item names.

Remember to replace `"webhookurl"` with your actual Discord webhook URLs for each event you want to enable.


# Database Configuration

The Motels plugin supports multiple database options to store and manage motel data. You can choose between local storage (SQLite or H2) or an external MySQL database.

### Configuration

The database configuration is managed in the `config.yml` file. Here's a breakdown of the available options:

```yaml
# LOCAL DATABASE OPTIONS
local-database-options:
  use-sqlite: true

# EXTERNAL DATABASE
mysql:
  enabled: false
  development: false
  dev-database:
    HOST: "localhost"
    PORT: 3306
    DATABASE: "dbname"
    USER: "root"
    PASSWORD: "password"
  production-database:
    HOST: "localhost"
    PORT: 3306
    DATABASE: "dbname"
    USER: "root"
    PASSWORD: "password"
```

### Local Database Options

By default, the plugin uses a local database for data storage. You can choose between SQLite and H2 databases.

* `use-sqlite`: Set to `true` to use SQLite, or `false` to use H2 database.

When using a local database:

* SQLite database file will be created as `database.sqlite` in the plugin's data folder.
* H2 database files will be created with the prefix `localdb` in the plugin's data folder.

### External MySQL Database

To use an external MySQL database, you need to configure the following settings:

1. Set `mysql.enabled` to `true`.
2. Choose between development and production database configurations:
   * Set `mysql.development` to `true` for development database, `false` for production.

#### Development Database Configuration

```yaml
dev-database:
  HOST: "localhost"
  PORT: 3306
  DATABASE: "dbname"
  USER: "root"
  PASSWORD: "password"
```

#### Production Database Configuration

```yaml
yproduction-database:

  HOST: "localhost"
  PORT: 3306
  DATABASE: "dbname"
  USER: "root"
  PASSWORD: "password"
```

Replace the values with your actual MySQL server details.

### Connection Pool

The plugin uses HikariCP for efficient database connection pooling. Some notable settings:

* Maximum pool size: 10 connections
* Auto-reconnect: enabled
* SSL: disabled

### Important Notes

1. When switching between database types (local to MySQL or vice versa), ensure you have a proper data migration strategy in place to prevent data loss.
2. For MySQL connections, the plugin uses the JDBC URL format:

   ```
   Copyjdbc:mysql://HOST:PORT/DATABASE?allowPublicKeyRetrieval=true&useSSL=false
   ```
3. The plugin will log the database type it's using on startup:
   * "Using MySQL development database."
   * "Using MySQL production database."
   * "Using local database."
4. If you encounter any database connection issues, check the server console for error messages. The plugin will log any database startup errors.
5. When the server shuts down or the plugin is disabled, the database connection will be properly closed to prevent resource leaks.

By configuring these options, you can choose the most suitable database setup for your server environment, whether it's a local SQLite/H2 database for simpler setups or a MySQL database for more complex, multi-server configurations.


# Configuring Motels

The Motels plugin offers two primary methods for configuring and managing motels: direct editing of the `motel.yml` file and using MotelAdmin commands. Both methods are powerful and can be used based on your preference and specific needs.

### Using MotelAdmin Commands

The plugin provides several administrative commands that allow you to manage motels without directly editing the configuration file. These commands are particularly useful for in-game management and quick changes.

#### Key MotelAdmin Commands for Motel Configuration:

1. **Adding a New Motel**:

   ```
   /moteladmin add <regionId> <price> <displayName>
   ```

   This command creates a new motel with the specified WorldGuard region ID, price, and display name.
2. **Setting Motel Location**:

   ```
   /moteladmin set-location <motelRegionId>
   ```

   Sets the teleport location for the specified motel to your current position.
3. **Changing Motel Type**:

   ```
   /moteladmin change-type <motelId> <type>
   ```

   Changes the type of the motel (rent or permanent).
4. **Setting Expiration Date**:

   ```
   /moteladmin set-expiration-date <motelId> <day> <month> <year>
   ```

   Manually sets the expiration date for a rented motel.
5. **Changing Display Name**:

   ```
   /moteladmin set-displayname <motelId> <displayName>
   ```

   Changes the display name of an existing motel.
6. **Removing a Motel**:

   ```
   /moteladmin remove <motelRegionId>
   ```

   Removes an existing motel from the system.

These commands automatically update the `motel.yml` file, ensuring consistency between in-game changes and the configuration file.

### Manual Configuration in motel.yml

While the MotelAdmin commands are convenient, you can also manually edit the `motel.yml` file for more detailed configurations or batch edits.

#### Basic Structure of motel.yml:

```yaml
motel:
  [motel-id]:
    displayname: "[Room Name]"
    owner: "null"
    price: [price]
    expireDate: "null"
    type: [rent/permanent]
    visitable: [true/false]
    location:
      ==: org.bukkit.Location
      world: [world-name]
      x: [x-coordinate]
      y: [y-coordinate]
      z: [z-coordinate]
      pitch: [pitch]
      yaw: [yaw]
    actions:
      buy:
        - [command1]
        - [command2]
      sell:
        - [command1]
        - [command2]
```

#### Adding a New Motel Manually:

To add a new motel room in `motel.yml`:

1. Choose a unique `[motel-id]` (e.g., `motel-1-101`).
2. Add the new motel section with all necessary properties.
3. Save the file and reload the plugin using `/moteladmin reload`.

### Best Practices

1. **Use MotelAdmin Commands** for quick, in-game changes and management.
2. **Edit motel.yml Directly** for bulk changes or detailed configurations.
3. Always **reload the plugin** after manual edits to `motel.yml`.
4. Maintain a **consistent naming convention** for motel IDs.
5. Use **color codes** in display names for attractive presentation.
6. Be cautious with **action commands**; they run with console permissions.

By combining both MotelAdmin commands and manual configuration, you can efficiently manage and customize your server's motel system to fit your specific needs.


# Documents


# Compatibilities

If you're experiencing compatibility issues with Documents, please don't hesitate to open a support ticket on our Discord channel. We're here to help and will consider adding the needed compatibility. <https://discord.com/invite/S8GjzxWjmP>

<table><thead><tr><th width="233">Support server</th><th width="156" align="center">Compatible</th></tr></thead><tbody><tr><td>Paper</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Spigot</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Folia</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr></tbody></table>

<table><thead><tr><th width="231">Plugin</th><th width="164" align="center">Compatible</th></tr></thead><tbody><tr><td>AuthmeReloaded</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Floodgate (Backend)</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>PlaceholderAPI</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>WorldGuard</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Discord</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr></tbody></table>


# Commands

### Administrator Commands

All admin commands use the base permission `al.documents.admin` or specific sub-permissions.

1. **Reload**: `/documentsadmin reload`
   * Reloads plugin configuration
   * Permission: `al.documents.admin.reload`
2. **Set Register Location**: `/documentsadmin set-register-location`
   * Sets the document registration location
   * Permission: `al.documents.admin.setregisterlocation`
3. **Show Documents**: `/documentsadmin showDocuments <playerName>`
   * Displays a player's documents
   * Permission: `al.documents.admin.showdocuments`
4. **Unregister**: `/documentsadmin unregister <playerName>`
   * Removes a player's document data
   * Permission: `al.documents.admin.unregister`
5. **Register**: `/documentsadmin register <userName> <name> <surname> <age> <gender>`
   * Registers a new document for a player
   * Permission: `al.documents.admin.register`
6. **Edit**: `/documentsadmin edit <userName> <newName> <newSurname>`
   * Edits a player's document
   * Permission: `al.documents.admin.edit`
7. **Bug Report**: `/documentsadmin bugreport`
   * Generates a plugin bug report
   * Permission: `al.documents.admin.bugreport`
8. **Give Documents Item**: `/documentsadmin give-documents-item <playerName>`
   * Gives a documents item to a player
   * Permission: `al.documents.admin.givedocumentsitem`

### Player Commands

1. **Give**: `/documents give <player>`
   * Transfers document to another player
   * Permission: `documents.give`
2. **Show**: `/documents show`
   * Displays player's own document
   * Permission: `documents.show`
3. **Register**: `/documents register`
   * Opens document registration menu
   * Permission: `documents.register`

### Customization

Edit `config.yml` to customize commands and aliases:

```yaml
commands:
  documents:
    give: "dai"
    show: "mostra"
    register: "registrati"

aliases:
  documentsadmin: [da, admin-documents]
  documents: [doc, documento]
```

Remember to reload the plugin after changes.


# Placeholders

**Need** [**PlaceholderAPI**](https://www.spigotmc.org/resources/placeholderapi.6245/)**:**

* **%documents\_name%**: Retrieves the player's full name (first name and surname). This can be used to address players more personally in messages or documents within the game.
* **%documents\_gender%**: Returns the gender of the player. This placeholder allows for gender-specific interactions or content, making the game more inclusive and personalized.
* **%document\_age%**: Displays the age of the player. This information can be used to tailor content or restrictions based on age, ensuring appropriate gameplay experiences.

#### Placeholder Loading Behavior

When the information required by a placeholder is not immediately available, the plugin will display a "Not loaded" status. This is a temporary state, indicating that the plugin is in the process of retrieving the necessary data.

**Customizing 'Not Loaded' Status**

To enhance user experience and maintain immersion, you can customize the message displayed when a placeholder's information is not yet loaded. This customization is done through the `messages.yml` file, specifically the `not_loaded_placeholder_yet` setting. By adjusting this setting, you can provide a more fitting message for your server's theme or simply inform players that information is on the way without breaking their immersion.

For example, to change the "Not loaded" status to "Loading...", you would modify the `messages.yml` file as follows:

```yaml
yamlCopy codenot_loaded_placeholder_yet: "Loading..."
```

This small change can significantly improve how players perceive the loading process, making it feel more integrated into the game.


# Discord

#### Integrating Discord Notifications

Integrating Discord notifications with our plugin allows you to receive updates directly on your Discord server whenever a player registers their documents. This feature enhances communication and engagement within your community. Follow the steps below to set up the Discord hook successfully.

**Prerequisites**

* **Discord Developer Portal Access**: You must have a Discord account and access to the Discord Developer Portal.
* **A Discord Server**: The server where you want to receive notifications.

**Configuration Steps**

1. **Enable Discord Hook**:
   * In the plugin's configuration file (`config.yml`), set `discord-hook: enabled` to `true` to activate Discord integration.
2. **Create a Discord Application**:
   * Visit the Discord Developer Portal.
   * Click on the "New Application" button. Name your application and create it.
   * Under the "Bot" tab, click on "Add Bot". Confirm the creation.
3. **Copy the Bot Token**:
   * Still within the "Bot" tab, find the "Token" section and click "Copy" to copy your bot's token.
   * Paste this token into the `token` field in your plugin's configuration file.
4. **Invite the Bot to Your Discord Server**:
   * In the Developer Portal, navigate to the "OAuth2" tab.
   * Under "Scopes", select "bot". Then, in "Bot Permissions", select the permissions your bot needs.
   * Use the generated URL to invite the bot to your Discord server.
5. **Configure Server and Channel IDs**:
   * **Guild ID**: Right-click your server name and click "Copy ID" to get the guild ID. Paste this into the `guild` field.
   * **Channel ID**: Right-click the channel where you want notifications sent and click "Copy ID". Paste this into the `channel` field.
6. **Customize Notification Appearance**:
   * **Image URL**: Optionally, add an `image-url` to display an image in the notification.
   * **Color**: Choose a color for the notification embed. For example, for blue, you'd set `color: "BLUE"`.
7. **Customize Messages**:
   * Under `messages`, configure the message settings for different events, such as registration. You can enable/disable notifications, set titles, subtitles, and message content using placeholders.

**Example Configuration**

```yaml
yamlCopy codediscord-hook:
  enabled: true
  token: "discordbottoken"
  guild: "discordserverguild"
  channel: "discordserverchannel"
  image-url: "imageurl"
  color: "BLUE"
  messages:
    register:
      enabled: true
      title: "Documents Registered"
      subtitle: "%player% has been registered"
      msg: "Name: %name% | Surname: %surname% | Age: %age% | Gender: %gender%"
```

This configuration ensures that when players register their documents, a notification is sent to the specified Discord channel, including details about the registration. Adjust the `title`, `subtitle`, and `msg` fields to match your desired notification format.

**Final Steps**

After configuring the Discord hook as described, ensure your Discord bot is online and your plugin is correctly set up to listen for the relevant events. Test the functionality by simulating a document registration and checking the designated Discord channel for the notification.


# WorldGuard

WorldGuard Integration Guide

To integrate WorldGuard with our plugin, follow these steps to ensure a seamless setup. This guide will help you to restrict access to a specific area for players without registered documents, enhancing control and gameplay dynamics.

**Requirements**

* **WorldGuard Plugin**: Ensure WorldGuard is installed and running on your server.

**Steps for Setup**

1. **Create a Region**:
   * Firstly, define a region within WorldGuard. This region will act as a controlled area where you want to enforce document registration.
2. **Set the Flag**:
   * Once the region is created, you need to set a custom flag - `documents-registration-flag` to `DENY`. This flag will prevent unregistered players from leaving the specified region until their documents are successfully registered.

By setting this flag to `DENY`, you effectively create a mechanism that ensures all players within the designated area are registered, enhancing both security and immersion within your server.

For more detailed instructions on creating regions and setting flags in WorldGuard, please refer to the official WorldGuard documentation.


# Messages

#### Step-by-Step Guide to Editing Messages

1. **Locate the `messages.yml` File**: This file is found within the plugin's directory. Access it through your server's file management system or FTP client.
2. **Edit with a Text Editor**: Open `messages.yml` using a text editor. For best results, use an editor that supports YAML syntax highlighting, such as Visual Studio Code, Sublime Text, or Atom.
3. **Customize Your Messages**: Within the file, you'll find various strings corresponding to different messages the plugin can display. Modify these strings to change the messages. Ensure your edits follow YAML syntax to avoid errors.

#### Using Hex Colors with MiniMessage

Our plugin supports hex color codes through the integration of the MiniMessage library from the Kyori API. This feature allows you to add vibrant colors and text styling to your messages, enhancing the visual appeal and readability.

**How to Apply Hex Colors**

* **Syntax for Hex Colors**: To use hex colors in your messages, wrap the color code in `<#RRGGBB>` tags, where `RRGGBB` represents the hexadecimal color code. For example, to color a message red, you would use `<#FF0000>Your message here</#FF0000>`.
* **Combining Styles**: MiniMessage also supports combining colors with text styles, such as bold or italic. Refer to the MiniMessage documentation for comprehensive instructions on styling your messages.

#### Learn More About MiniMessage

For detailed information on formatting with MiniMessage, including advanced styling options and examples, visit the official MiniMessage documentation:

[MiniMessage Formatting Guide](https://docs.advntr.dev/minimessage/format.html)

This resource provides a comprehensive overview of all formatting capabilities available through the MiniMessage library, including how to use gradients, rainbow colors, and clickable text components.


