> For the complete documentation index, see [llms.txt](https://mossuh.gitbook.io/projects/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mossuh.gitbook.io/projects/plugins/moboosters/boosters/booster-structure.md).

# Booster Structure

Every booster is identified by a unique code and can define its own behavior, item, requirements and rewards.

```yml
Boosters:
  ExampleBooster:
    identifier: default
    type: Personal
    applicator: Minecraft
    boosted: experience
    boost: 2
    duration: 3600

    item-info:
      ...

    actions:
      ...
```

## Configuration Options

| Option       | Description                                                           |
| ------------ | --------------------------------------------------------------------- |
| `identifier` | Allows multiple boosters to use the same applicator and boosted type. |
| `type`       | Defines how the booster is applied.                                   |
| `applicator` | Defines the system responsible for applying the booster.              |
| `boosted`    | Defines what value is affected.                                       |
| `boost`      | Defines the amount of the boost.                                      |
| `duration`   | Defines the duration in seconds or `PERM` for permanent boosters.     |
| `item-info`  | Defines the booster item.                                             |
| `actions`    | Defines the behavior when the booster is processed.                   |

> **Note:** `applicator` and `boosted` values depend on the integration being used. Additional integrations can be added when requested.

***

## Identifier

The `identifier` allows multiple boosters to use the same `applicator` and `boosted` type.

```
identifier: default
```

For example, different experience boosters can use different identifiers while sharing the same applicator and boosted type.

{% hint style="warning" %}
To use them, you must register the `identifiers` in the `config.yml` file.
{% endhint %}

***

## Type ([Review](/projects/plugins/moboosters/boosters.md))

The `type` allows boosters to apply in diferent ways

```
type: PERSONAL
```

For example, you can have a `PERSONAL` active booster for each player or you can activate a `SUPERIORSKYBLOCK2` booster to all the island members.

***

## Applicator & Boosted ([Review](/projects/plugins/moboosters/boosters.md))

The `applicator` defines the system where the booster is applied, while `boosted` defines what value is affected.

```
applicator: Minecraft
boosted: experience
```

Both values depend on the integration being used.

***

## Boost

The `boost` option defines the amount provided by the booster.

```
boost: 2
```

It can also use command arguments:

```
boost: '%args_1%'
```

***

## Duration

Temporary boosters use their duration in seconds:

```
duration: 3600
```

Permanent boosters can use:

```
duration: PERM
```

The duration can also be supplied through command arguments:

```
duration: '%args_2%'
```

***

## Command Arguments

Booster values can be dynamically configured using command arguments.

| Variable          | Description                         |
| ----------------- | ----------------------------------- |
| `%args_1%`        | First command argument.             |
| `%args_2%`        | Second command argument.            |
| `%args_<number>%` | Argument at the specified position. |

Example:

```
boost: '%args_1%'
duration: '%args_2%'
```

Using:

```
/moboosters give ExampleBooster 1 PlayerName 2.5 3600
```

results in:

```
%args_1% = 2.5
%args_2% = 3600
```

## Booster Item

The `item-info` section defines the item used to represent the booster.

```yml
item-info:
  material: PAPER
  data: 0
  name: '&fBooster &8| &e&lExperience'
  lore:
    - ''
    - '&bType: &a%booster_type%'
    - '&bBoost: &a+%boost%'
    - '&bDuration: &a%duration_formatted%'
    - ''
    - '&aRight click to claim!'
```

### Item Options

| Option         | Description                             |
| -------------- | --------------------------------------- |
| `material`     | Minecraft material or custom head.      |
| `data`         | Legacy item data value.                 |
| `name`         | Item display name.                      |
| `lore`         | Item description.                       |
| `unbreakable`  | Makes the item unbreakable.             |
| `unique`       | Prevents identical items from stacking. |
| `enchantments` | Item enchantments.                      |
| `flags`        | Item flags.                             |

### Materials

Normal material:

```yml
material: PAPER
```

Custom head:

```yml
material: basehead-<base64>
```

### Enchantments

```yml
enchantments:
  - LUCK:2
```

### Flags

```yml
flags:
  - HIDE_ENCHANTS
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://mossuh.gitbook.io/projects/plugins/moboosters/boosters/booster-structure.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
